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;
        }
示例#3
0
 /// <summary>
 /// Public constructor to initialize item service instance
 /// </summary>
 public CommunicatiDetailsController()
 {
     _CommunicationDetails = new Communication_DetailsService();
 }