public ResponseEntityVM Create(PolicyModel entity) { try { var highRiskType = RiskTypeEnum.High.ToString("G"); var highRiskTypeCode = ((List <CodeVM>)_codeService.GetRiskTypeCodes().Result).Where(x => x.Code.Equals(highRiskType)).FirstOrDefault(); var validateBusinessRuleResult = ValidateBusinessRule(entity, highRiskTypeCode); if (validateBusinessRuleResult.StatusCode == System.Net.HttpStatusCode.OK) { var activeAssignmentStatus = AssigmentStatusEnum.Assigned.ToString("G"); var activeAssignmentStatusCode = ((List <CodeVM>)_codeService.GetAssignmentStatusCodes().Result).Where(x => x.Code.Equals(activeAssignmentStatus)).FirstOrDefault(); entity.PolicyStatusID = activeAssignmentStatusCode.CodeID; var entityResult = _repository.Insert(entity); _repository.SaveChanges(); return(new ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.Created, Result = entityResult }); } return(validateBusinessRuleResult); } catch (Exception ex) { return(new ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.InternalServerError, Message = $"There was an error creating the policy: {ex.Message}" }); } }
public ResponseEntityVM AssignPolicy(CustomerPolicyModel entity) { try { var policyAssignedStatus = AssigmentStatusEnum.Assigned.ToString("G"); var codeList = ((List <CodeVM>)_codeService.GetAssignmentStatusCodes().Result).FirstOrDefault(x => x.Code.Equals(policyAssignedStatus)); var associationAlreadyExists = _repository.FindBy(x => x.CustomerID.Equals(entity.CustomerID) && x.PolicyID.Equals(entity.PolicyID) && x.StatusID.Equals(codeList.CodeID)).ToList(); if (associationAlreadyExists.Count > 0) { return new ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.Conflict, Message = "The customer already has the policy associated." } } ; entity.StatusID = codeList.CodeID; var entityResult = _repository.Insert(entity); _repository.SaveChanges(); return(new ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.Created, Result = entityResult }); } catch (Exception ex) { return(new ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.InternalServerError, Message = $"There was an error assigning the policy: {ex.Message}" }); } }
public async Task <IHttpActionResult> GetCodes(string filter) { switch (filter) { case "COVERAGE": return(Result(await Task.FromResult(_service.GetCoverageTypeCodes()))); case "POLICY": return(Result(await Task.FromResult(_service.GetPolicyStatusCodes()))); case "RISK": return(Result(await Task.FromResult(_service.GetRiskTypeCodes()))); case "ASSIGNMENT": return(Result(await Task.FromResult(_service.GetAssignmentStatusCodes()))); default: return(Result(new Domain.ViewModel.ResponseEntityVM() { StatusCode = System.Net.HttpStatusCode.NotFound })); } }