/// <summary>
        /// Binds the grid.
        /// </summary>
        private void BindGrid()
        {
            MarketingCampaignAdTypeService marketingCampaignAdTypeService = new MarketingCampaignAdTypeService();
            SortProperty sortProperty = gMarketingCampaignAdType.SortProperty;

            if (sortProperty != null)
            {
                gMarketingCampaignAdType.DataSource = marketingCampaignAdTypeService.Queryable().Sort(sortProperty).ToList();
            }
            else
            {
                gMarketingCampaignAdType.DataSource = marketingCampaignAdTypeService.Queryable().OrderBy(p => p.Name).ToList();
            }

            gMarketingCampaignAdType.DataBind();
        }
示例#2
0
        /// <summary>
        /// Loads the drop downs.
        /// </summary>
        private void LoadDropDowns()
        {
            // Controls on Main Campaign Panel
            GroupService groupService = new GroupService();
            List <Group> groups       = groupService.Queryable().Where(a => a.GroupType.Guid.Equals(Rock.SystemGuid.GroupType.GROUPTYPE_EVENTATTENDEES)).OrderBy(a => a.Name).ToList();

            groups.Insert(0, new Group {
                Id = None.Id, Name = None.Text
            });
            ddlEventGroup.DataSource = groups;
            ddlEventGroup.DataBind();

            PersonService personService = new PersonService();
            List <Person> persons       = personService.Queryable().OrderBy(a => a.NickName).ThenBy(a => a.LastName).ToList();

            persons.Insert(0, new Person {
                Id = None.Id, GivenName = None.Text
            });
            ddlContactPerson.DataSource = persons;
            ddlContactPerson.DataBind();

            CampusService campusService = new CampusService();

            cpCampuses.Campuses = campusService.Queryable().OrderBy(a => a.Name).ToList();;

            // Controls on Ad Child Panel
            MarketingCampaignAdTypeService marketingCampaignAdTypeService = new MarketingCampaignAdTypeService();
            var adtypes = marketingCampaignAdTypeService.Queryable().OrderBy(a => a.Name).ToList();

            ddlMarketingCampaignAdType.DataSource = adtypes;
            ddlMarketingCampaignAdType.DataBind();
        }
        /// <summary>
        /// Loads the drop downs.
        /// </summary>
        private void LoadDropDowns()
        {
            MarketingCampaignAdTypeService marketingCampaignAdTypeService = new MarketingCampaignAdTypeService();
            var adtypes = marketingCampaignAdTypeService.Queryable().OrderBy(a => a.Name).ToList();

            ddlMarketingCampaignAdType.DataSource = adtypes;
            ddlMarketingCampaignAdType.DataBind();
        }
示例#4
0
        /// <summary>
        /// Binds the filter.
        /// </summary>
        private void BindFilter()
        {
            ddlApprovalStatus.BindToEnum(typeof(MarketingCampaignAdStatus));
            ddlApprovalStatus.Items.Insert(0, Rock.Constants.All.ListItem);

            ddlApprovalStatus.SetValue(rFilter.GetUserPreference("Approval Status"));

            string priorityRangeValues = rFilter.GetUserPreference("Priority Range");

            if (!string.IsNullOrWhiteSpace(priorityRangeValues))
            {
                string[] upperLowerValues = priorityRangeValues.Split(new char[] { ',' }, StringSplitOptions.None);

                if (upperLowerValues.Length == 2)
                {
                    pPriorityRange.LowerValue = upperLowerValues[0].AsInteger(false);
                    pPriorityRange.UpperValue = upperLowerValues[1].AsInteger(false);
                }
            }

            MarketingCampaignAdTypeService marketingCampaignAdTypeService = new MarketingCampaignAdTypeService();
            var adTypeList = marketingCampaignAdTypeService.Queryable().Select(a => new { a.Id, a.Name }).OrderBy(a => a.Name).ToList();

            foreach (var adType in adTypeList)
            {
                ddlAdType.Items.Add(new ListItem(adType.Name, adType.Id.ToString()));
            }

            ddlAdType.Items.Insert(0, Rock.Constants.All.ListItem);

            ddlAdType.SetValue(rFilter.GetUserPreference("Ad Type"));

            string dateRangeValues = rFilter.GetUserPreference("Date Range");

            if (!string.IsNullOrWhiteSpace(dateRangeValues))
            {
                string[] upperLowerValues = dateRangeValues.Split(new char[] { ',' }, StringSplitOptions.None);

                if (upperLowerValues.Length == 2)
                {
                    string lowerValue = upperLowerValues[0];
                    if (!string.IsNullOrWhiteSpace(lowerValue))
                    {
                        pDateRange.LowerValue = DateTime.Parse(lowerValue);
                    }

                    string upperValue = upperLowerValues[1];
                    if (!string.IsNullOrWhiteSpace(upperValue))
                    {
                        pDateRange.UpperValue = DateTime.Parse(upperValue);
                    }
                }
            }
        }
        /// <summary>
        /// Handles the Click event of the btnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
        protected void btnSave_Click(object sender, EventArgs e)
        {
            MarketingCampaignAdType        marketingCampaignAdType;
            MarketingCampaignAdTypeService marketingCampaignAdTypeService = new MarketingCampaignAdTypeService();

            int marketingCampaignAdTypeId = int.Parse(hfMarketingCampaignAdTypeId.Value);

            if (marketingCampaignAdTypeId == 0)
            {
                marketingCampaignAdType = new MarketingCampaignAdType();
                marketingCampaignAdTypeService.Add(marketingCampaignAdType, CurrentPersonId);
            }
            else
            {
                marketingCampaignAdType = marketingCampaignAdTypeService.Get(marketingCampaignAdTypeId);
            }

            marketingCampaignAdType.Name          = tbName.Text;
            marketingCampaignAdType.DateRangeType = (DateRangeTypeEnum)int.Parse(ddlDateRangeType.SelectedValue);

            // check for duplicates
            if (marketingCampaignAdTypeService.Queryable().Count(a => a.Name.Equals(marketingCampaignAdType.Name, StringComparison.OrdinalIgnoreCase) && !a.Id.Equals(marketingCampaignAdType.Id)) > 0)
            {
                tbName.ShowErrorMessage(WarningMessage.DuplicateFoundMessage("name", MarketingCampaignAdType.FriendlyTypeName));
                return;
            }

            if (!marketingCampaignAdType.IsValid)
            {
                // Controls will render the error messages
                return;
            }

            RockTransactionScope.WrapTransaction(() =>
            {
                marketingCampaignAdTypeService.Save(marketingCampaignAdType, CurrentPersonId);

                // get it back to make sure we have a good Id for it for the Attributes
                marketingCampaignAdType = marketingCampaignAdTypeService.Get(marketingCampaignAdType.Guid);

                // delete AdTypeAttributes that are no longer configured in the UI
                AttributeService attributeService = new AttributeService();
                var qry = attributeService.GetByEntityTypeId(new MarketingCampaignAd().TypeId).AsQueryable()
                          .Where(a => a.EntityTypeQualifierColumn.Equals("MarketingCampaignAdTypeId", StringComparison.OrdinalIgnoreCase) &&
                                 a.EntityTypeQualifierValue.Equals(marketingCampaignAdType.Id.ToString()));

                var deletedAttributes = from attr in qry
                                        where !(from d in AttributesState
                                                select d.Guid).Contains(attr.Guid)
                                        select attr;

                deletedAttributes.ToList().ForEach(a =>
                {
                    var attr = attributeService.Get(a.Guid);
                    attributeService.Delete(attr, CurrentPersonId);
                    attributeService.Save(attr, CurrentPersonId);
                });

                // add/update the AdTypes that are assigned in the UI
                foreach (var attributeState in AttributesState)
                {
                    Attribute attribute = qry.FirstOrDefault(a => a.Guid.Equals(attributeState.Guid));
                    if (attribute == null)
                    {
                        attribute = attributeState.ToModel();
                        attributeService.Add(attribute, CurrentPersonId);
                    }
                    else
                    {
                        attributeState.Id = attribute.Id;
                        attributeState.CopyToModel(attribute);
                    }

                    attribute.EntityTypeQualifierColumn = "MarketingCampaignAdTypeId";
                    attribute.EntityTypeQualifierValue  = marketingCampaignAdType.Id.ToString();
                    attribute.EntityTypeId = Rock.Web.Cache.EntityTypeCache.Read(new MarketingCampaignAd().TypeName).Id;
                    attributeService.Save(attribute, CurrentPersonId);
                }
            });

            BindGrid();
            pnlDetails.Visible = false;
            pnlList.Visible    = true;
        }