示例#1
0
        /// <summary>
        /// Handles the Click event of the btnSaveValue 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 btnSaveValue_Click(object sender, EventArgs e)
        {
            using (new Rock.Data.UnitOfWorkScope())
            {
                DefinedValueService valueService = new DefinedValueService();

                DefinedValue definedValue;

                int definedValueId = hfDefinedValueId.ValueAsInt();
                if (definedValueId == 0)
                {
                    definedValue               = new DefinedValue();
                    definedValue.IsSystem      = false;
                    definedValue.DefinedTypeId = definedValueId;
                    valueService.Add(definedValue, CurrentPersonId);
                }
                else
                {
                    Rock.Web.Cache.AttributeCache.Flush(definedValueId);
                    definedValue = valueService.Get(definedValueId);
                }

                definedValue.Name        = tbValueName.Text;
                definedValue.Description = tbValueDescription.Text;

                valueService.Save(definedValue, CurrentPersonId);
            }

            BindDefinedValuesGrid();
            pnlValues.Visible = true;
        }
示例#2
0
        protected void dlgPackage_SaveClick(object sender, EventArgs e)
        {
            int definedValueId = hfDefinedValueId.Value.AsInteger();

            var definedType = DefinedTypeCache.Read(Rock.SystemGuid.DefinedType.PROTECT_MY_MINISTRY_PACKAGES.AsGuid());

            if (definedType != null)
            {
                using (var rockContext = new RockContext())
                {
                    var service = new DefinedValueService(rockContext);

                    DefinedValue definedValue = null;
                    if (!definedValueId.Equals(0))
                    {
                        definedValue = service.Get(definedValueId);
                    }

                    if (definedValue == null)
                    {
                        definedValue = new DefinedValue();
                        definedValue.DefinedTypeId = definedType.Id;
                        service.Add(definedValue);
                    }

                    definedValue.Value       = tbTitle.Text;
                    definedValue.Description = tbDescription.Text;
                    rockContext.SaveChanges();

                    definedValue.LoadAttributes(rockContext);

                    Guid?dvJurisdicationCodeGuid = null;
                    int? dvJurisdictionCodeId    = ddlMVRJurisdication.SelectedValueAsInt();
                    if (dvJurisdictionCodeId.HasValue && dvJurisdictionCodeId.Value > 0)
                    {
                        var dvJurisdicationCode = DefinedValueCache.Read(dvJurisdictionCodeId.Value);
                        if (dvJurisdicationCode != null)
                        {
                            dvJurisdicationCodeGuid = dvJurisdicationCode.Guid;
                        }
                    }

                    definedValue.SetAttributeValue("PMMPackageName", tbPackageName.Text);
                    definedValue.SetAttributeValue("DefaultCounty", tbDefaultCounty.Text);
                    definedValue.SetAttributeValue("SendHomeCounty", cbSendCounty.Checked.ToString());
                    definedValue.SetAttributeValue("DefaultState", tbDefaultState.Text);
                    definedValue.SetAttributeValue("SendHomeState", cbSendState.Checked.ToString());
                    definedValue.SetAttributeValue("MVRJurisdiction", dvJurisdicationCodeGuid.HasValue ? dvJurisdicationCodeGuid.Value.ToString() : string.Empty);
                    definedValue.SetAttributeValue("SendHomeStateMVR", cbSendStateMVR.Checked.ToString());
                    definedValue.SaveAttributeValues(rockContext);

                    DefinedTypeCache.Flush(definedType.Id);
                    DefinedValueCache.Flush(definedValue.Id);
                }
            }

            BindPackageGrid();

            HideDialog();
        }
示例#3
0
文件: Checkr.cs 项目: kra3889/rockrms
        /// <summary>
        /// Get the Checkr packages and update the list on the server.
        /// </summary>
        /// <param name="errorMessages">The error messages.</param>
        /// <returns>True/False value of whether the request was successfully sent or not.</returns>
        public static bool UpdatePackages(List <string> errorMessages)
        {
            GetPackagesResponse getPackagesResponse;

            if (!CheckrApiUtility.GetPackages(out getPackagesResponse, errorMessages))
            {
                return(false);
            }

            List <string> packages;

            using (var rockContext = new RockContext())
            {
                var definedType = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.BACKGROUND_CHECK_TYPES.AsGuid());

                DefinedValueService definedValueService = new DefinedValueService(rockContext);
                packages = definedValueService
                           .GetByDefinedTypeGuid(Rock.SystemGuid.DefinedType.BACKGROUND_CHECK_TYPES.AsGuid())
                           .Where(v => v.ForeignId == 2)
                           .ToList()
                           .Select(v => { v.LoadAttributes(rockContext); return(v.GetAttributeValue("PMMPackageName").ToString()); }) // v => v.Value.Substring( CheckrConstants.TYPENAME_PREFIX.Length ) )
                           .ToList();

                foreach (var packageRestResponse in getPackagesResponse.Data)
                {
                    string packageName = packageRestResponse.Slug;
                    if (!packages.Contains(packageName))
                    {
                        DefinedValue definedValue = null;

                        definedValue = new DefinedValue();
                        definedValue.DefinedTypeId = definedType.Id;
                        definedValue.ForeignId     = 2;
                        definedValueService.Add(definedValue);

                        definedValue.Value = CheckrConstants.CHECKR_TYPENAME_PREFIX + packageName.Replace('_', ' ').FixCase();

                        definedValue.Description = packageRestResponse.Name == "Educatio Report" ? "Education Report" : packageRestResponse.Name;
                        rockContext.SaveChanges();

                        definedValue.LoadAttributes(rockContext);

                        definedValue.SetAttributeValue("PMMPackageName", packageName);
                        definedValue.SetAttributeValue("DefaultCounty", string.Empty);
                        definedValue.SetAttributeValue("SendHomeCounty", "False");
                        definedValue.SetAttributeValue("DefaultState", string.Empty);
                        definedValue.SetAttributeValue("SendHomeState", "False");
                        definedValue.SetAttributeValue("MVRJurisdiction", string.Empty);
                        definedValue.SetAttributeValue("SendHomeStateMVR", "False");
                        definedValue.SaveAttributeValues(rockContext);
                    }
                }
            }

            DefinedValueCache.Clear();
            return(true);
        }
示例#4
0
        /// <summary>
        /// Handles the SaveClick event of the dlgLink 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 dlgLink_SaveClick(object sender, EventArgs e)
        {
            DefinedValue definedValue = null;

            using (var rockContext = new RockContext())
            {
                var service        = new DefinedValueService(rockContext);
                int?definedValueId = hfDefinedValueId.Value.AsIntegerOrNull();
                if (definedValueId.HasValue)
                {
                    definedValue = service.Get(definedValueId.Value);
                }

                if (definedValue == null)
                {
                    definedValue = new DefinedValue {
                        Id = 0
                    };
                    definedValue.DefinedTypeId = _definedType.Id;
                    definedValue.IsSystem      = false;

                    var orders = service.Queryable()
                                 .Where(d => d.DefinedTypeId == _definedType.Id)
                                 .Select(d => d.Order)
                                 .ToList();

                    definedValue.Order = orders.Any() ? orders.Max() + 1 : 0;
                }

                definedValue.Value       = tbTitle.Text;
                definedValue.Description = tbLink.Text;
                definedValue.LoadAttributes();
                definedValue.SetAttributeValue("IsLink", (rblLinkType.SelectedValue == "Link").ToString());

                rockContext.WrapTransaction(() =>
                {
                    if (definedValue.Id.Equals(0))
                    {
                        service.Add(definedValue);
                    }

                    rockContext.SaveChanges();

                    definedValue.SaveAttributeValues(rockContext);
                });

                Rock.Web.Cache.DefinedTypeCache.Flush(definedValue.DefinedTypeId);
                Rock.Web.Cache.DefinedValueCache.Flush(definedValue.Id);
            }

            HideDialog();

            BindGrid();
        }
示例#5
0
        /// <summary>
        /// Handles the Click event of the btnSaveDefinedValue 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 btnSaveDefinedValue_Click(object sender, EventArgs e)
        {
            DefinedValue        definedValue;
            DefinedValueService definedValueService = new DefinedValueService();

            int definedValueId = hfDefinedValueId.ValueAsInt();

            if (definedValueId.Equals(0))
            {
                definedValue = new DefinedValue {
                    Id = 0
                };
                definedValue.DefinedTypeId = hfDefinedTypeId.ValueAsInt();
                definedValue.IsSystem      = false;
            }
            else
            {
                definedValue = definedValueService.Get(definedValueId);
            }

            definedValue.Name        = tbValueName.Text;
            definedValue.Description = tbValueDescription.Text;
            definedValue.LoadAttributes();
            Rock.Attribute.Helper.GetEditValues(phDefinedValueAttributes, definedValue);

            if (!Page.IsValid)
            {
                return;
            }

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

            RockTransactionScope.WrapTransaction(() =>
            {
                if (definedValue.Id.Equals(0))
                {
                    definedValueService.Add(definedValue, CurrentPersonId);
                }

                definedValueService.Save(definedValue, CurrentPersonId);
                Rock.Attribute.Helper.SaveAttributeValues(definedValue, CurrentPersonId);
            });

            pnlDetails.Visible            = true;
            pnlDefinedValueEditor.Visible = false;
            BindDefinedValuesGrid();
        }
示例#6
0
        /// <summary>
        /// Handles the Click event of the btnSaveValue 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 btnSaveValue_Click(object sender, EventArgs e)
        {
            using (new Rock.Data.UnitOfWorkScope())
            {
                DefinedValueService valueService = new DefinedValueService();

                DefinedValue definedValue;

                int valueId = ((hfIdValue.Value) != null && hfIdValue.Value != String.Empty) ? Int32.Parse(hfIdValue.Value) : 0;
                if (valueId == 0)
                {
                    definedValue               = new DefinedValue();
                    definedValue.IsSystem      = false;
                    definedValue.DefinedTypeId = Int32.Parse(hfIdType.Value);
                    valueService.Add(definedValue, CurrentPersonId);
                }
                else
                {
                    Rock.Web.Cache.AttributeCache.Flush(valueId);
                    definedValue = valueService.Get(valueId);
                }

                definedValue.Name        = tbValueName.Text;
                definedValue.Description = tbValueDescription.Text;

                /*
                 *
                 *
                 *              Parse attribute values from controls list
                 *
                 *
                 *
                 *
                 *
                 */

                if (phAttrControl.Controls.Count > 0)
                {
                }

                valueService.Save(definedValue, CurrentPersonId);
            }

            rGridValue_Bind(hfIdType.Value);

            modalValues.Hide();
            pnlValues.Visible = true;
        }
示例#7
0
        private static DefinedValueCache CreateVerb(string url, string name)
        {
            RockContext         rockContext         = new RockContext();
            DefinedValueService definedValueService = new DefinedValueService(rockContext);
            var verbTypeId = DefinedTypeCache.Get(Constants.DEFINED_TYPE_VERBS).Id;

            var verb = new DefinedValue
            {
                DefinedTypeId = verbTypeId,
                Value         = url
            };

            definedValueService.Add(verb);
            rockContext.SaveChanges();

            verb.LoadAttributes();
            verb.SetAttributeValue(Constants.DEFINED_VALUE_VERBS_ATTRIBUTE_KEY_NAME, name);
            verb.SaveAttributeValues();

            return(DefinedValueCache.Get(verb.Id));
        }
示例#8
0
        private static DefinedValueCache CreateExtension(string url, string name)
        {
            RockContext         rockContext         = new RockContext();
            DefinedValueService definedValueService = new DefinedValueService(rockContext);
            var verbTypeId = DefinedTypeCache.Get(Constants.DEFINED_TYPE_EXTENSIONS).Id;

            var extension = new DefinedValue
            {
                DefinedTypeId = verbTypeId,
                Value         = url
            };

            definedValueService.Add(extension);
            rockContext.SaveChanges();

            extension.LoadAttributes();
            extension.SetAttributeValue(Constants.DEFINED_VALUE_EXTENSIONS_ATTRIBUTE_KEY_NAME, name);
            extension.SaveAttributeValues();

            return(DefinedValueCache.Get(extension.Id));
        }
示例#9
0
        /// <summary>
        /// Saves the tag, caller is responsible for validation.
        /// </summary>
        private void SaveTag()
        {
            int cachedTagDefinedTypeId = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.CACHE_TAGS).Id;
            var rockContext            = new RockContext();
            var definedValueService    = new DefinedValueService(rockContext);
            int order = 0;

            if (definedValueService.Queryable().AsNoTracking().Where(v => v.DefinedTypeId == cachedTagDefinedTypeId).Any())
            {
                order = definedValueService.Queryable().AsNoTracking().Where(v => v.DefinedTypeId == cachedTagDefinedTypeId).Max(v => v.Order) + 1;
            }

            var definedValue = new DefinedValue
            {
                DefinedTypeId = cachedTagDefinedTypeId,
                Value         = tbTagName.Text.Trim().ToLower(),
                Description   = tbTagDescription.Text,
                Order         = order
            };

            definedValueService.Add(definedValue);
            rockContext.SaveChanges();
        }
示例#10
0
        /// <summary>
        /// Handles the Click event of the btnSaveDefinedValue 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 btnSaveValue_Click(object sender, EventArgs e)
        {
            DefinedValue        definedValue;
            var                 rockContext         = new RockContext();
            DefinedValueService definedValueService = new DefinedValueService(rockContext);

            int definedValueId = hfDefinedValueId.ValueAsInt();

            if (definedValueId.Equals(0))
            {
                int definedTypeId = hfDefinedTypeId.ValueAsInt();
                definedValue = new DefinedValue {
                    Id = 0
                };
                definedValue.DefinedTypeId = definedTypeId;
                definedValue.IsSystem      = false;

                var orders = definedValueService.Queryable()
                             .Where(d => d.DefinedTypeId == definedTypeId)
                             .Select(d => d.Order)
                             .ToList();

                definedValue.Order = orders.Any() ? orders.Max() + 1 : 0;
            }
            else
            {
                definedValue = definedValueService.Get(definedValueId);
            }

            definedValue.Value       = tbValueName.Text;
            definedValue.Description = tbValueDescription.Text;
            definedValue.LoadAttributes();
            Rock.Attribute.Helper.GetEditValues(phDefinedValueAttributes, definedValue);

            if (!Page.IsValid)
            {
                return;
            }

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

            Rock.Web.Cache.DefinedTypeCache.Flush(definedValue.DefinedTypeId);
            Rock.Web.Cache.DefinedValueCache.Flush(definedValue.Id);

            rockContext.WrapTransaction(() =>
            {
                if (definedValue.Id.Equals(0))
                {
                    definedValueService.Add(definedValue);
                }

                rockContext.SaveChanges();

                definedValue.SaveAttributeValues(rockContext);
            });

            BindDefinedValuesGrid();

            hfDefinedValueId.Value = string.Empty;
            modalValue.Hide();
        }