internal static void SetPropertiesFromMediumDataJson(ICommunicationDetails commDetails, string mediumDataJson, List <int> attachmentBinaryFileIds) { var mediumData = mediumDataJson.FromJsonOrNull <Dictionary <string, string> >() ?? new Dictionary <string, string>(); if (mediumData.Any() && commDetails.Message.IsNullOrWhiteSpace() && commDetails.SMSMessage.IsNullOrWhiteSpace() && commDetails.PushMessage.IsNullOrWhiteSpace()) { if (mediumData.ContainsKey("FromValue")) { if (!commDetails.SMSFromDefinedValueId.HasValue) { var dv = DefinedValueCache.Read(mediumData["FromValue"].AsInteger()); commDetails.SMSFromDefinedValueId = dv != null ? dv.Id : (int?)null; } commDetails.SMSMessage = ConvertMediumData(mediumData, "Message", commDetails.SMSMessage); } else if (mediumData.ContainsKey("Title")) { commDetails.PushTitle = ConvertMediumData(mediumData, "Title", commDetails.PushTitle); commDetails.PushMessage = ConvertMediumData(mediumData, "Message", commDetails.PushMessage); commDetails.PushSound = ConvertMediumData(mediumData, "Sound", commDetails.PushSound); } else { commDetails.FromName = ConvertMediumData(mediumData, "FromName", commDetails.FromName); commDetails.FromEmail = ConvertMediumData(mediumData, "FromAddress", commDetails.FromEmail); commDetails.ReplyToEmail = ConvertMediumData(mediumData, "ReplyTo", commDetails.ReplyToEmail); commDetails.CCEmails = ConvertMediumData(mediumData, "CC", commDetails.CCEmails); commDetails.BCCEmails = ConvertMediumData(mediumData, "BCC", commDetails.BCCEmails); commDetails.Message = ConvertMediumData(mediumData, "HtmlMessage", commDetails.Message); attachmentBinaryFileIds = ConvertMediumData(mediumData, "Attachments", commDetails.EmailAttachmentBinaryFileIds.ToList().AsDelimited(",")).SplitDelimitedValues().AsIntegerList(); } } }
/// <summary> /// Copies the specified source. /// </summary> /// <param name="source">The source.</param> /// <param name="target">The target.</param> public static void Copy(ICommunicationDetails source, ICommunicationDetails target) { target.FromName = source.FromName; target.FromEmail = source.FromEmail; target.ReplyToEmail = source.ReplyToEmail; target.CCEmails = source.CCEmails; target.BCCEmails = source.BCCEmails; target.Subject = source.Subject; target.Message = source.Message; target.MessageMetaData = source.MessageMetaData; target.PushTitle = source.PushTitle; target.PushMessage = source.PushMessage; target.PushSound = source.PushSound; target.SMSFromDefinedValueId = source.SMSFromDefinedValueId; target.SMSMessage = source.SMSMessage; }
/// <summary> /// Public constructor to initialize item service instance /// </summary> public CommunicatiDetailsController() { _CommunicationDetails = new Communication_DetailsService(); }