예제 #1
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);
        }
예제 #2
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));
        }
예제 #3
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));
        }