Exemple #1
0
        public async Task <IHttpActionResult> Add([FromBody] NewCoverageModel model)
        {
            if (ModelState.IsValid)
            {
                using (IUnitOfWork unitOfWork = UnitOfWork.Create())
                {
                    var userId = User.Identity.GetUserId();

                    unitOfWork.BeginTransaction();

                    Coverage coverage = new Coverage();
                    coverage.InsurerId   = model.InsurerId;
                    coverage.Title       = model.Title;
                    coverage.Description = model.Description;
                    coverage.Type        = model.Type;
                    coverage.CreatedById = userId;
                    coverage.CreatedDate = DateTime.Now;

                    unitOfWork.CoverageRepository.Insert(coverage);
                    await unitOfWork.SaveAsync();

                    if (model.PolicyTypeId.HasValue)
                    {
                        PolicyTypeCoverage policyTypeCoverage = new PolicyTypeCoverage();
                        policyTypeCoverage.PolicyTypeId = model.PolicyTypeId.Value;
                        policyTypeCoverage.CoverageId   = coverage.Id;
                        policyTypeCoverage.CreatedById  = userId;
                        policyTypeCoverage.CreatedDate  = DateTime.Now;

                        unitOfWork.PolicyTypeCoverageRepository.Insert(policyTypeCoverage);
                        await unitOfWork.SaveAsync();
                    }

                    unitOfWork.CommitTransaction();

                    var result = new
                    {
                        id          = coverage.Id,
                        title       = coverage.Title,
                        type        = coverage.Type,
                        description = coverage.Description,
                        insurerId   = coverage.InsurerId
                    };

                    return(Json(result));
                }
            }
            else
            {
                return(JsonError(HttpStatusCode.BadRequest, 10, "Warning", ModelState));
            }
        }
Exemple #2
0
        public async Task <IHttpActionResult> Assign([FromBody] AssignCoverageModel model)
        {
            if (ModelState.IsValid)
            {
                using (IUnitOfWork unitOfWork = UnitOfWork.Create())
                {
                    var userId = User.Identity.GetUserId();

                    Coverage   coverage   = unitOfWork.CoverageRepository.GetById(model.CoverageId);
                    PolicyType policyType = unitOfWork.PolicyTypeRepository.GetById(model.PolicyTypeId);

                    if (coverage.InsurerId != policyType.InsurerId)
                    {
                        ModelState.AddModelError("coverageId", "The coverage is missing in coverage list of the insurer");
                        return(JsonError(HttpStatusCode.BadRequest, 10, "Warning", ModelState));
                    }

                    PolicyTypeCoverage policyTypeCoverage = unitOfWork.PolicyTypeCoverageRepository.GetAll().FirstOrDefault(a => a.CoverageId == model.CoverageId && a.PolicyTypeId == model.PolicyTypeId);

                    if (policyTypeCoverage != null)
                    {
                        ModelState.AddModelError("coverageId", "The coverage is present in the policy type");
                        return(JsonError(HttpStatusCode.BadRequest, 10, "Warning", ModelState));
                    }

                    policyTypeCoverage = new PolicyTypeCoverage();
                    policyTypeCoverage.PolicyTypeId = model.PolicyTypeId;
                    policyTypeCoverage.CoverageId   = coverage.Id;
                    policyTypeCoverage.CreatedById  = userId;
                    policyTypeCoverage.CreatedDate  = DateTime.Now;

                    unitOfWork.PolicyTypeCoverageRepository.Insert(policyTypeCoverage);
                    await unitOfWork.SaveAsync();

                    return(Ok());
                }
            }
            else
            {
                return(JsonError(HttpStatusCode.BadRequest, 10, "Warning", ModelState));
            }
        }
Exemple #3
0
        public async Task <IHttpActionResult> DeleteFromPolicyType(int coverageId, int policyTypeId)
        {
            if (ModelState.IsValid)
            {
                using (IUnitOfWork unitOfWork = UnitOfWork.Create())
                {
                    var userId = User.Identity.GetUserId();

                    PolicyTypeCoverage policyTypeCoverage = unitOfWork.PolicyTypeCoverageRepository.GetAll()
                                                            .FirstOrDefault(a => a.CoverageId == coverageId && a.PolicyTypeId == policyTypeId);

                    unitOfWork.PolicyTypeCoverageRepository.Delete(policyTypeCoverage);
                    await unitOfWork.SaveAsync();

                    return(Ok());
                }
            }
            else
            {
                return(JsonError(HttpStatusCode.BadRequest, 10, "Warning", ModelState));
            }
        }