コード例 #1
0
ファイル: Checkr.cs プロジェクト: waldo2590/Rock
        /// <summary>
        /// Gets the document identifier from report.
        /// </summary>
        /// <param name="reportId">The report identifier.</param>
        /// <returns>The document identifier.</returns>
        public static string GetDocumentIdFromReport(string reportId)
        {
            List <string>     errorMessages = new List <string>();
            GetReportResponse getReportResponse;

            if (!CheckrApiUtility.GetReport(reportId, out getReportResponse, errorMessages))
            {
                LogErrors(errorMessages);
                return(null);
            }

            if (getReportResponse.DocumentIds == null || getReportResponse.DocumentIds.Count == 0)
            {
                errorMessages.Add("No document found");
                LogErrors(errorMessages);
                return(null);
            }

            string documentId = getReportResponse.DocumentIds[0];

            if (documentId.IsNullOrWhiteSpace())
            {
                errorMessages.Add("Empty document ID returned");
                LogErrors(errorMessages);
                return(null);
            }

            return(documentId);
        }
コード例 #2
0
ファイル: Checkr.cs プロジェクト: waldo2590/Rock
        /// <summary>
        /// Gets the URL to the background check report.
        /// Note: Also used by GetBackgroundCheck.ashx.cs, ProcessRequest( HttpContext context )
        /// </summary>
        /// <param name="reportKey">The report key.</param>
        /// <returns></returns>
        public override string GetReportUrl(string reportKey)
        {
            var isAuthorized = this.IsAuthorized(Authorization.VIEW, this.GetCurrentPerson());

            if (isAuthorized)
            {
                GetDocumentResponse getDocumentResponse;
                List <string>       errorMessages = new List <string>();

                if (CheckrApiUtility.GetDocument(reportKey, out getDocumentResponse, errorMessages))
                {
                    return(getDocumentResponse.DownloadUri);
                }
                else
                {
                    LogErrors(errorMessages);
                }
            }
            else
            {
                return("Unauthorized");
            }

            return(null);
        }
コード例 #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
ファイル: Checkr.cs プロジェクト: waldo2590/Rock
        /// <summary>
        /// Creates the invitation.
        /// </summary>
        /// <param name="candidateId">The candidate identifier.</param>
        /// <param name="package">The package.</param>
        /// <param name="errorMessages">The error messages.</param>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        /// <returns>True/False value of whether the request was successfully sent or not.</returns>
        public static bool CreateInvitation(string candidateId, string package, List <string> errorMessages)
        {
            CreateInvitationResponse createInvitationResponse;

            if (CheckrApiUtility.CreateInvitation(candidateId, package, out createInvitationResponse, errorMessages))
            {
                candidateId = createInvitationResponse.Id;
                return(true);
            }

            return(false);
        }
コード例 #5
0
ファイル: Checkr.cs プロジェクト: waldo2590/Rock
        /// <summary>
        /// Creates the candidate.
        /// </summary>
        /// <param name="person">The person.</param>
        /// <param name="candidateId">The candidate identifier.</param>
        /// <param name="errorMessages">The error messages.</param>
        /// <returns>True/False value of whether the request was successfully sent or not.</returns>
        public static bool CreateCandidate(Person person, out string candidateId, List <string> errorMessages)
        {
            CreateCandidateResponse createCandidateResponse;

            candidateId = null;
            if (CheckrApiUtility.CreateCandidate(person, out createCandidateResponse, errorMessages))
            {
                candidateId = createCandidateResponse.Id;
                return(true);
            }

            return(false);
        }