Ejemplo n.º 1
0
        public SendAccessResponseModel(Send send, GlobalSettings globalSettings)
            : base("send-access")
        {
            if (send == null)
            {
                throw new ArgumentNullException(nameof(send));
            }

            Id   = CoreHelpers.Base64UrlEncode(send.Id.ToByteArray());
            Type = send.Type;

            SendData sendData;

            switch (send.Type)
            {
            case SendType.File:
                var fileData = JsonConvert.DeserializeObject <SendFileData>(send.Data);
                sendData = fileData;
                File     = new SendFileModel(fileData, globalSettings);
                break;

            case SendType.Text:
                var textData = JsonConvert.DeserializeObject <SendTextData>(send.Data);
                sendData = textData;
                Text     = new SendTextModel(textData);
                break;

            default:
                throw new ArgumentException("Unsupported " + nameof(Type) + ".");
            }

            Name           = sendData.Name;
            ExpirationDate = send.ExpirationDate;
        }
Ejemplo n.º 2
0
        public SendResponseModel(Send send, GlobalSettings globalSettings)
            : base("send")
        {
            if (send == null)
            {
                throw new ArgumentNullException(nameof(send));
            }

            Id             = send.Id.ToString();
            AccessId       = CoreHelpers.Base64UrlEncode(send.Id.ToByteArray());
            Type           = send.Type;
            Key            = send.Key;
            MaxAccessCount = send.MaxAccessCount;
            AccessCount    = send.AccessCount;
            RevisionDate   = send.RevisionDate;
            ExpirationDate = send.ExpirationDate;
            DeletionDate   = send.DeletionDate;
            Password       = send.Password;
            Disabled       = send.Disabled;
            HideEmail      = send.HideEmail.GetValueOrDefault();

            SendData sendData;

            switch (send.Type)
            {
            case SendType.File:
                var fileData = JsonConvert.DeserializeObject <SendFileData>(send.Data);
                sendData = fileData;
                File     = new SendFileModel(fileData, globalSettings);
                break;

            case SendType.Text:
                var textData = JsonConvert.DeserializeObject <SendTextData>(send.Data);
                sendData = textData;
                Text     = new SendTextModel(textData);
                break;

            default:
                throw new ArgumentException("Unsupported " + nameof(Type) + ".");
            }

            Name  = sendData.Name;
            Notes = sendData.Notes;
        }