/// <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" }); }
/// <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 }
/// <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 }); }