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); 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; }
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 = JsonSerializer.Deserialize <SendFileData>(send.Data); sendData = fileData; File = new SendFileModel(fileData); break; case SendType.Text: var textData = JsonSerializer.Deserialize <SendTextData>(send.Data); sendData = textData; Text = new SendTextModel(textData); break; default: throw new ArgumentException("Unsupported " + nameof(Type) + "."); } Name = sendData.Name; Notes = sendData.Notes; }