private RecurringCommunication GetRecurringCommunication(RecurringCommunicationService recurringCommunicationService) { var rucurringCommunicationId = PageParameter(PageParameterKey.RecurringCommunicationId).AsInteger(); var recurringCommunication = recurringCommunicationService.Get(rucurringCommunicationId); if (recurringCommunication == null) { recurringCommunication = new RecurringCommunication { CommunicationType = CommunicationType.Email, EmailBody = "{{ 'Global' | Attribute:'EmailHeader' }}\n<br>\n<br>\n{{ 'Global' | Attribute:'EmailFooter' }}", }; } return(recurringCommunication); }
private void DisplayDetails() { var values = GetAttributeValue(AttributeKey.EnabledCommunicationTypes).SplitDelimitedValues(); var communicationDictionary = Enum .GetValues(typeof(CommunicationType)) .Cast <CommunicationType>() .ToDictionary(t => (( int )t).ToString(), t => t.ToString()) .Where(d => values.Contains(d.Key)) .ToDictionary(k => k.Key, v => v.Value); rblCommunicationType.DataSource = communicationDictionary; rblCommunicationType.DataBind(); dvpPhoneNumber.DefinedTypeId = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.COMMUNICATION_SMS_FROM.AsGuid()).Id; BindTransformationTypes(); RecurringCommunication recurringCommunication = GetRecurringCommunication(); tbName.Text = recurringCommunication.Name; dvpDataview.SetValue(recurringCommunication.DataView); if (recurringCommunication.Schedule != null) { sbScheduleBuilder.iCalendarContent = recurringCommunication.Schedule.iCalendarContent; DisplayScheduleDetails(); } rblCommunicationType.SetValue(recurringCommunication.CommunicationType.ConvertToInt()); if (recurringCommunication.TransformationEntityTypeId.HasValue) { if (ddlTransformTypes.Items.FindByValue(recurringCommunication.TransformationEntityTypeId.Value.ToString()) != null) { ddlTransformTypes.SelectedValue = recurringCommunication.TransformationEntityTypeId.Value.ToString(); } else { var transformComponent = DataTransformContainer.GetComponentsByTransformedEntityName(PersonEntityType.Name) .SingleOrDefault(c => c.Id == recurringCommunication.TransformationEntityTypeId.Value); if (transformComponent != null) { var li = new ListItem(transformComponent.Title, transformComponent.Id.ToString()); ddlTransformTypes.Items.Insert(1, li); ddlTransformTypes.SelectedIndex = 1; } } } UpdateCommunicationTypeUI(recurringCommunication.CommunicationType); tbFromName.Text = recurringCommunication.FromName; tbFromEmail.Text = recurringCommunication.FromEmail; tbSubject.Text = recurringCommunication.Subject; ceEmailBody.Text = recurringCommunication.EmailBody; dvpPhoneNumber.SetValue(recurringCommunication.PhoneNumberValueId); tbSMSBody.Text = recurringCommunication.SMSBody; tbPushNotificationTitle.Text = recurringCommunication.PushTitle; tbPushNotificationBody.Text = recurringCommunication.PushMessage; cbPlaySound.Checked = recurringCommunication.PushSound.IsNotNullOrWhiteSpace(); }