コード例 #1
0
        /// <summary>
        /// Gets related data for a claim.
        /// </summary>
        /// <param name="claimId">The claim identifier.</param>
        /// <param name="claimSequenceNumber">The claim sequence number.</param>
        /// <returns>related data</returns>
        public ZEIS0P82ViewModel GetRelatedData(long claimId, int claimSequenceNumber)
        {
            CicsExecutionResult result;

            var response = CicsClient.Execute <ZEIS0P82GetRequest, ZEIS0P82GetResponse>
                           (
                new ZEIS0P82GetRequest {
                ClaimId = claimId, ClaimSequenceNumber = claimSequenceNumber
            },
                "ZEIS0P82", "EXECUTE", out result
                           );

            if (result.MessageType == CicsExecuteStatus.Error)
            {
                return(new ZEIS0P82ViewModel {
                    ErrorMessage = result.Message
                });
            }

            if (response != null && response.ClaimId > 0)
            {
                return(new ZEIS0P82ViewModel
                {
                    ClaimId = response.ClaimId,
                    ClaimSequenceNumber = response.ClaimSeqNumber,
                    ClaimStatusCode = response.ClaimStatusCode,
                    ClaimStartDate = response.ClaimStartDate,
                    ClaimEndDate = response.ClaimEndDate,
                    Stream = response.Stream,
                    PlacementDate = response.PlacementDate,
                    RefPlacementComDate = response.RefPlacementComDate,
                    RefPlacementEndDate = response.RefPlacementEndDate,
                    ReferralDate = response.ReferralDate,
                    RefOutcomeCode = response.RefOutcomeCode,
                    SiteSequenceNumber = response.SiteSequenceNumber,
                    SiteCode = response.SiteCode,
                    SiteSpecialistType = response.SiteSpecialistType,
                    EmployerName = response.EmployerName,
                    JobseekerId = response.JobseekerId,
                    LMRCode = response.LMRCode,
                    RegStatusCode = response.RegStatusCode,
                    JobId = response.JobId,
                    JobTitleText = response.JobTitleText,
                    JobSiteCd = response.JobSiteCd,
                    JobCreationDate = response.JobCreationDate,
                    JobHoursTxt = response.JobHoursTxt,
                    JobDescription = response.JobDescription,
                    JobTenureCd = response.JobTenureCd,
                    RefOutcomeDescription = response.RefOutcomeDescription,
                    JobTenureDescription = response.JobTenureDescription
                });
            }

            return(new ZEIS0P82ViewModel {
                ErrorMessage = "P82 Error occurs while loading claim details"
            });
        }
コード例 #2
0
        /// <summary>
        /// Executes the specified request.
        /// </summary>
        /// <typeparam name="TRequest">The type of the request.</typeparam>
        /// <typeparam name="TResponse">The type of the response.</typeparam>
        /// <param name="request">The request.</param>
        /// <param name="wrapperName">Name of the wrapper.</param>
        /// <param name="action">The action.</param>
        /// <param name="executionResult">The execution result.</param>
        /// <returns>
        /// The response type
        /// </returns>
        /// <exception cref="CaGenException">is thrown when cics returns error status.</exception>
        public TResponse Execute <TRequest, TResponse>(TRequest request, string wrapperName, string action, out CaGenExecutionResult executionResult)
        {
 #if DEBUG
            var step = MiniProfiler.Current.Step("CaGenService.Execute: " + wrapperName + " " + action);

            try
            {
#endif
            CicsExecutionResult genResult;
            var response = CicsClient.Execute <TRequest, TResponse>(request, wrapperName, action, out genResult);

            executionResult                     = new CaGenExecutionResult();
            executionResult.ErrorCode           = genResult.ErrorCode;
            executionResult.ExitStatusNumber    = genResult.ExitStatusNumber;
            executionResult.Message             = genResult.Message;
            executionResult.UnMatchedProperties = genResult.UnMatchedProperties;
            if (genResult.CicsApplicationError != null)
            {
                executionResult.GenApplicationError           = new CaGenApplicationError();
                executionResult.GenApplicationError.Attribute = genResult.CicsApplicationError.Attribute;
                executionResult.GenApplicationError.Date      = genResult.CicsApplicationError.Date;
                executionResult.GenApplicationError.Number    = genResult.CicsApplicationError.Number;
                executionResult.GenApplicationError.Text      = genResult.CicsApplicationError.Text;
                executionResult.GenApplicationError.TextValue = genResult.CicsApplicationError.TextValue;
            }
            if (genResult.CicsSystemError != null)
            {
                executionResult.GenSystemError = new CaGenSystemError();
                executionResult.GenSystemError.ActionBlockName = genResult.CicsSystemError.ActionBlockName;
                executionResult.GenSystemError.ExitState       = genResult.CicsSystemError.ExitState;
                executionResult.GenSystemError.StatementNumber = genResult.CicsSystemError.StatementNumber;
                executionResult.GenSystemError.Type            = genResult.CicsSystemError.Type;
                executionResult.GenSystemError.UserId          = genResult.CicsSystemError.UserId;
            }
            switch (genResult.MessageType)
            {
            case CicsExecuteStatus.Error:
                executionResult.MessageType = CaGenExecuteStatus.Error;
                break;

            case CicsExecuteStatus.Information:
                executionResult.MessageType = CaGenExecuteStatus.Information;
                break;

            case CicsExecuteStatus.Normal:
                executionResult.MessageType = CaGenExecuteStatus.Normal;
                break;

            case CicsExecuteStatus.Warning:
                executionResult.MessageType = CaGenExecuteStatus.Warning;
                break;
            }
            switch (genResult.RollbackStatus)
            {
            case RollbackStatus.Aborted:
                executionResult.RollbackStatus = CaGenRollbackStatus.Aborted;
                break;

            case RollbackStatus.Committed:
                executionResult.RollbackStatus = CaGenRollbackStatus.Committed;
                break;

            case RollbackStatus.RolledBack:
                executionResult.RollbackStatus = CaGenRollbackStatus.RolledBack;
                break;
            }

            if (executionResult.MessageType == CaGenExecuteStatus.Error)
            {
                throw new CaGenException(executionResult);
            }

            return(response);

#if DEBUG
        }

        finally
        {
            if (step != null)
            {
                step.Dispose();
            }
        }
#endif
        }
コード例 #3
0
        /// <summary>
        /// Gets a bunch of random claims based on the input parameters.
        /// </summary>
        /// <param name="claimType">Type of the claim.</param>
        /// <param name="orgCode">The org code.</param>
        /// <param name="esaCode">The esa code.</param>
        /// <param name="siteCode">The site code.</param>
        /// <param name="fromDate">From date.</param>
        /// <param name="toDate">To date.</param>
        /// <param name="maxClaimsToExtract"></param>
        /// <param name="includeSpecialClaims"></param>
        /// <returns>
        /// A view of the sample
        /// </returns>
        public ClaimSampleViewModel GetClaimSample(
            string claimType, string orgCode, string esaCode, string siteCode,
            DateTime?fromDate, DateTime?toDate,
            int?maxClaimsToExtract, bool includeSpecialClaims)
        {
            //  MF has a problem with nulls
            if (string.IsNullOrEmpty(claimType))
            {
                claimType = " ";
            }

            var errorMessage = "P81 Error occurs while loading claim sample";

            CicsExecutionResult result;
            var request = new clmClaimSampleGetRequest
            {
                ClaimTypeArray = new pauClaimType[] { new pauClaimType {
                                                          ClaimType = claimType
                                                      } },
                ClaimOrgCode           = orgCode,
                ClaimEsaCode           = esaCode,
                ClaimSiteCode          = siteCode,
                ClaimFromDate          = fromDate,
                ClaimToDate            = toDate,
                MaximumSampleSize      = maxClaimsToExtract == null ? 20 : (int)maxClaimsToExtract,
                AutoSpecialClaimFlag   = includeSpecialClaims ? " " : "N",
                ManualSpecialClaimFlag = includeSpecialClaims ? " " : "N",
            };

            try
            {
                var response =
                    CicsClient.Execute <clmClaimSampleGetRequest, clmClaimSampleGetResponse>(request,
                                                                                             "ZEIS0P81", "EXECUTE", out result);

                if (result.MessageType == CicsExecuteStatus.Error)
                {
                    return(new ClaimSampleViewModel
                    {
                        ErrorMessage = result.Message,
                        ErrorCode = result.ErrorCode,
                        ExitStatusNumber = result.ExitStatusNumber
                    });
                }

                if (response != null && response.Claims.Length > 0)
                {
                    var list = ProcessResponse(response);
                    return(new ClaimSampleViewModel
                    {
                        ErrorMessage = string.Empty,
                        ErrorCode = string.Empty,
                        ExitStatusNumber = string.Empty,
                        Claims = list
                    });
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                if (errorMessage.StartsWith("Unable to communicate with CICS"))
                {
                    //  Try one more time
                    var response =
                        CicsClient.Execute <clmClaimSampleGetRequest, clmClaimSampleGetResponse>(request,
                                                                                                 "ZEIS0P81", "EXECUTE", out result);
                    if (response != null && response.Claims.Length > 0)
                    {
                        var list = ProcessResponse(response);
                        return(new ClaimSampleViewModel
                        {
                            ErrorMessage = string.Empty,
                            ErrorCode = string.Empty,
                            ExitStatusNumber = string.Empty,
                            Claims = list
                        });
                    }
                }
                throw;
            }

            return(new ClaimSampleViewModel {
                ErrorMessage = errorMessage
            });
        }