コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }