<filename>cadl-output/csharp/RegistrationResult.cs// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

// <auto-generated/>

#nullable disable

using System;
using Azure.Core;

namespace NotificationHubs.Models
{
    /// <summary> Represents the registration results for the notification outcome. </summary>
    public partial class RegistrationResult
    {
        /// <summary> Initializes a new instance of RegistrationResult. </summary>
        /// <param name="applicationPlatform"></param>
        /// <param name="pnsHandle"></param>
        /// <param name="registrationId"></param>
        /// <param name="outcome"></param>
        /// <exception cref="ArgumentNullException"> <paramref name="applicationPlatform"/>, <paramref name="pnsHandle"/>, <paramref name="registrationId"/> or <paramref name="outcome"/> is null. </exception>
        public RegistrationResult(string applicationPlatform, string pnsHandle, string registrationId, string outcome)
        {
            Argument.AssertNotNull(applicationPlatform, nameof(applicationPlatform));
            Argument.AssertNotNull(pnsHandle, nameof(pnsHandle));
            Argument.AssertNotNull(registrationId, nameof(registrationId));
            Argument.AssertNotNull(outcome, nameof(outcome));

            ApplicationPlatform = applicationPlatform;
            PnsHandle = pnsHandle;
            RegistrationId = registrationId;
            Outcome = outcome;
        }

        public string ApplicationPlatform { get; set; }

        public string PnsHandle { get; set; }

        public string RegistrationId { get; set; }

        public string Outcome { get; set; }
    }
}
