public async Task <IActionResult> AddPolicy(PolicyViewModel model)
        {
            var isHigh = _logicHelper.IsHighRiskType(model.RiskTypeId);

            if (isHigh)
            {
                model.CoveringPercentage = 30;
            }
            else
            {
                model.CoveringPercentage = 100;
            }

            if (ModelState.IsValid)
            {
                var policy = await _converterHelper.ToPolicyAsync(model, true);

                _context.Policies.Add(policy);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Customers", new { @id = model.CustomerId }));
            }


            model.CoveringTypes = _combosHelper.GetComboCoveringTypes();
            model.RiskTypes     = _combosHelper.GetComboRiskTypes();

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> UpdateAsync([FromRoute] Guid id,
                                                      [FromBody] PolicyViewModel policyViewModel)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogInformation("Update action Model state validaiton failed", ModelState);
                return(BadRequest(ModelState));
            }

            if (id == null ||
                id == Guid.Empty)
            {
                _logger.LogInformation("Id required");
                return(BadRequest("Id required."));
            }

            var result = await _policyService.UpdatePolicyAsync(id, policyViewModel);

            if (result == null)
            {
                _logger.LogInformation($"No Policy Found for the given Id :{id}");
                return(BadRequest("Policy not found for an update"));
            }

            return(Ok(result));
        }
예제 #3
0
 public IActionResult EditPolicy(PolicyViewModel model)
 {
     if (model.Policy != null)
     {
         if (model.Policy.RiskType == RiskType.High.ToString())
         {
             if (model.Policy.CoveragePecentage > 50)
             {
                 ModelState.AddModelError("CoveragePecentage", "Coverage Percentage can not be higher than 50% for High Risk Type Policy.");
                 return(View("EditPolicy", model));
             }
         }
         model.Policy.StartDate = DateTime.Now;
         var obj = JsonConvert.SerializeObject(model.Policy);
         if (model.Policy.Id == 0)
         {
             ApiCall.MakePostAPICall <int>(AddUrl, obj);
         }
         else
         {
             ApiCall.MakePostAPICall <int>(UpdateUrl, obj);
         }
     }
     return(RedirectToAction("Index"));
 }
        public async Task Create_Policy_Should_Return_OkResult()
        {
            // Assign
            var policy = new PolicyViewModel
            {
                Title       = "t",
                Description = "d",
                Category    = new Category
                {
                    Title = "c",
                },
            };
            var fileServiceMock = new Mock <IFileStorageService>();

            using (var context = DbContextFake.GetDbContext <IntranetApiContext>())
            {
                var policyController = ControllerFake.GetController <PoliciesController>(context, fileServiceMock.Object);

                // Act
                var response = await policyController.Create(policy);

                // Assert
                Assert.True(response.ValidateActionRedirect("Details"));
            }
            using (var context = DbContextFake.GetDbContext <IntranetApiContext>())
            {
                var savedPolicy = context.Policies.Include(f => f.Category).First();

                Assert.Equal("t", savedPolicy.Title);
                Assert.Equal("t", savedPolicy.Url);
                Assert.Equal("c", savedPolicy.Category.Title);
                Assert.Equal("c", savedPolicy.Category.Url);
            }
        }
        public ActionResult Create(PolicyViewModel collection, string package, string franshiza, string contractortipkind, string insuredtipkind)
        {
            string policyID = string.Empty;
            int    ID       = 0;

            try
            {
                if (p_repo.SavePolicy(collection, package, franshiza, contractortipkind, insuredtipkind, 200, out policyID) && int.TryParse(policyID, out ID))
                {
                    return(RedirectToAction("Test", new { id = ID }));
                }
                else
                {
                    return(View());
                }
            }
            catch (Exception ex)
            {
                ViewBag.ErrMsg = ex.Message;
                return(View());
            }
            //return Json(new { success = true }, JsonRequestBehavior.AllowGet);

            //return Json(new { success = false }, JsonRequestBehavior.AllowGet);
        }
        public async Task Create(PolicyViewModel model, string userId)
        {
            // var policyId = Guid.Empty;
            //   var policyToSave = _mapper.Map<Policy>(model);
            // policyToSave.Id = policyId;

            // //save policy owner
            // var owner = _mapper.Map<Person>(model.Owner);
            // var savedOwner = await _personRepository.AddAsync(owner);
            // policyToSave.OwnerFK = savedOwner.Id;

            // //save policy spouse if any
            // if(model.Spouse != null)
            // {
            //     var spouse = _mapper.Map<Person>(model.Spouse);
            //     var savedSpouse = await _personRepository.AddAsync(spouse);
            //     policyToSave.SpouseFK = savedSpouse.Id;
            // }

            //save nominations
            // var nominations = _mapper.Map<IList<Nomination>>(model.Nominations);
            // var nominationSaved = await _nominationRepository.AddManyAsync(nominations);

            //save policy
            // await _policyRepository.AddAsync(policyToSave);
        }
예제 #7
0
        public static PolicyViewModel MapFromDto(this PolicyDto policyDto)
        {
            PolicyViewModel policyViewModel = new PolicyViewModel();

            policyViewModel.Id          = policyDto.Id;
            policyViewModel.Category    = policyDto.Category.MapFromDto();
            policyViewModel.SubCategory = policyDto.SubCategory.MapFromDto();
            policyViewModel.Province    = policyDto.Province.MapFromDto();
            policyViewModel.City        = policyDto.City.MapFromDto();
            policyViewModel.CreateUser  = policyDto.CreateUser.MapFromDto();
            //policyViewModel.CreateDate = policyDto.CreateDate;
            policyViewModel.CreateDateText = policyDto.CreateDate.ToString("dd/MM/yyyy");
            //policyViewModel.EditDate = policyDto.EditDate;
            policyViewModel.EditDateText = policyDto.EditDate.ToString("dd/MM/yyyy");

            policyViewModel.Subject       = policyDto.Subject;
            policyViewModel.Description   = policyDto.Description;
            policyViewModel.NegotiableInd = policyDto.NegotiableInd;
            policyViewModel.OfferType     = policyDto.OfferType;
            policyViewModel.Price         = Converter.NullableTypeToString(policyDto.Price);
            policyViewModel.CrudOperation = CrudOperation.UPDATE;

            if (policyDto.PolicyImages != null && policyDto.PolicyImages.Count > 0)
            {
                policyDto.PolicyImages.ForEach(t => policyViewModel.PolicyImages.Add(t.MapFromDto()));
            }

            if (policyDto.PolicySubCategoryAdditionalFields != null && policyDto.PolicySubCategoryAdditionalFields.Count > 0)
            {
                policyDto.PolicySubCategoryAdditionalFields.ForEach(t => policyViewModel.PolicySubCategoryAdditionalFields.Add(t.MapFromDto()));
            }

            return(policyViewModel);
        }
예제 #8
0
        private void MapPolicyImages(PolicyViewModel policyViewModel)
        {
            if (policyViewModel.PolicyImages == null || policyViewModel.PolicyImages.Count == 0)
            {
                return;
            }

            List <PolicyImageViewModel> policyImages = new List <PolicyImageViewModel>();

            foreach (PolicyImageViewModel policyImageViewModel in policyViewModel.PolicyImages)
            {
                string normalImageUrl = PostedImageHandler.GetExistingRelativeFileName(HttpContext.Current.Server.MapPath(GetStringAppSetting("PolicyImagesNormalDirectory")),
                                                                                       new Uri(HttpContext.Current.Request.Url, VirtualPathUtility.ToAbsolute(GetStringAppSetting("PolicyImagesNormalDirectory"))).AbsoluteUri,
                                                                                       policyImageViewModel.ImageFileName);
                if (!string.IsNullOrEmpty(normalImageUrl))
                {
                    policyImageViewModel.NormalImageUrl    = normalImageUrl;
                    policyImageViewModel.ThumbnailImageUrl = PostedImageHandler.GetExistingRelativeFileName(HttpContext.Current.Server.MapPath(GetStringAppSetting("PolicyImagesThumbnailsDirectory")),
                                                                                                            new Uri(HttpContext.Current.Request.Url, VirtualPathUtility.ToAbsolute(GetStringAppSetting("PolicyImagesThumbnailsDirectory"))).AbsoluteUri,
                                                                                                            policyImageViewModel.ImageFileName);
                    policyImageViewModel.PreviewImageUrl = PostedImageHandler.GetExistingRelativeFileName(HttpContext.Current.Server.MapPath(GetStringAppSetting("PolicyImagesPreviewDirectory")),
                                                                                                          new Uri(HttpContext.Current.Request.Url, VirtualPathUtility.ToAbsolute(GetStringAppSetting("PolicyImagesPreviewDirectory"))).AbsoluteUri,
                                                                                                          policyImageViewModel.ImageFileName);
                    policyImages.Add(policyImageViewModel);
                }
            }

            policyViewModel.PolicyImages = policyImages;
        }
예제 #9
0
        /// <summary>
        /// Converts a <see cref="PolicyViewModel"/> to a <see cref="Policy"/> model.
        /// </summary>
        /// <param name="policyViewModel">View model to convert.</param>
        /// <returns>Converted model.</returns>
        public static Policy ConvertToModel(this PolicyViewModel policyViewModel)
        {
            var policyModel = new Policy()
            {
                Id               = policyViewModel.Id,
                PolicyNumber     = policyViewModel.PolicyNumber,
                EffectiveDate    = DateTime.Parse(policyViewModel.EffectiveDate, CultureInfo.InvariantCulture),
                ExpirationDate   = DateTime.Parse(policyViewModel.ExpirationDate, CultureInfo.InvariantCulture),
                PrimaryInsuredId = policyViewModel.PrimaryInsured.Id,
                PrimaryInsured   = new Customer
                {
                    Id             = policyViewModel.PrimaryInsured.Id,
                    City           = policyViewModel.PrimaryInsured.City,
                    MailingAddress = policyViewModel.PrimaryInsured.MailingAddress,
                    Name           = policyViewModel.PrimaryInsured.Name,
                    State          = policyViewModel.PrimaryInsured.State,
                    ZipCode        = policyViewModel.Risk.ZipCode,
                },
                RiskId = policyViewModel.Risk.Id,
                Risk   = new Risk
                {
                    Id               = policyViewModel.Risk.Id,
                    Address          = policyViewModel.Risk.Address,
                    City             = policyViewModel.Risk.City,
                    ConstructionType = policyViewModel.Risk.ConstructionType,
                    State            = policyViewModel.Risk.State,
                    YearBuilt        = policyViewModel.Risk.YearBuilt,
                    ZipCode          = policyViewModel.Risk.ZipCode,
                }
            };

            return(policyModel);
        }
예제 #10
0
        public ActionResult CalulatePremium(PolicyViewModel policydata)
        {
            double premium    = 500.00;
            double newPremium = 0.00;

            DateTime dob = Convert.ToDateTime(policydata.driver.DateOfBirth);
            int      age = GetAge.calculate_age(dob);


            if (CheckDecline_Claims.chkDecline_claims(3) > 3)
            {
                Console.WriteLine("Policy has more than 3 claims");
            }

            Console.WriteLine(CheckDecline_Age.chkDecline_age(age, policydata.driver.DriverName));



            newPremium = newPremium + GetPremiumByOccupation.GetPremium_occupation(premium, policydata.driver.DriverOccupation);
            newPremium = newPremium + GetPremiumByClaims.GetPremium_claims(premium, 4, 1);
            newPremium = newPremium + GetPremiumByAge.GetPremium_age(premium, 40);


            return(PartialView(policydata));
        }
        public ActionResult Succes(int id)
        {
            ViewBag.CapacityMoney = new SelectList(p_repo.GetAllCapacityMoney(), "ID", "Price");
            PolicyViewModel p = p_repo.CapacityToMoney(id);

            return(View(p));
        }
예제 #12
0
        //===============================================================================================

        public ActionResult CreateCustomerPolicy()
        {
            if (Session["id"] != null)
            {
                //Get Customer
                int id = (int)Session["id"];
                CustomerinfoDAORequest request  = new CustomerinfoDAORequest();
                CustomerinfoViewModel  customer = request.GetCustomerById(id);
                ViewData["Customers"] = customer;

                //Get Policy
                int policyID = (int)TempData["PolicyID"];
                PolicyDAORequest request1 = new PolicyDAORequest();
                PolicyViewModel  policy   = request1.GetPolicyById(policyID);
                ViewData["Policies"] = policy;
                ViewData["Brands"]   = GetBrandList();

                //Get Total Payment
                PolicyTypeDAORequest request2 = new PolicyTypeDAORequest();
                PolicytypeViewModel  type     = request2.GetTypeById(policy.policytypeid);
                ViewBag.Price = (decimal)(type.price * policy.policyduration);

                return(View());
            }
            return(View());
        }
예제 #13
0
        public ActionResult NewPolicy()
        {
            var viewModel = new PolicyViewModel();

            ViewBag.Operation = "Submit";
            return(View(viewModel));
        }
예제 #14
0
        /// <summary>
        /// Converts a <see cref="Policy"/> model to a <see cref="PolicyViewModel"/>.
        /// </summary>
        /// <param name="policyModel">Model to convert.</param>
        /// <returns>Converted view model.</returns>
        public static PolicyViewModel ConvertToViewModel(this Policy policyModel)
        {
            var policyViewModel = new PolicyViewModel()
            {
                Id             = policyModel.Id,
                PolicyNumber   = policyModel.PolicyNumber,
                EffectiveDate  = policyModel.EffectiveDate.ToString(DateTimeFormat),
                ExpirationDate = policyModel.ExpirationDate.ToString(DateTimeFormat),
                PrimaryInsured = new CustomerViewModel()
                {
                    Id             = policyModel.PrimaryInsured.Id,
                    Name           = policyModel.PrimaryInsured.Name,
                    City           = policyModel.PrimaryInsured.City,
                    MailingAddress = policyModel.PrimaryInsured.MailingAddress,
                    State          = policyModel.PrimaryInsured.State,
                    ZipCode        = policyModel.PrimaryInsured.ZipCode,
                },
                Risk = new RiskViewModel()
                {
                    Id               = policyModel.Risk.Id,
                    City             = policyModel.Risk.City,
                    ConstructionType = policyModel.Risk.ConstructionType,
                    State            = policyModel.Risk.State,
                    ZipCode          = policyModel.Risk.ZipCode,
                    Address          = policyModel.Risk.Address,
                    YearBuilt        = policyModel.Risk.YearBuilt
                }
            };

            return(policyViewModel);
        }
예제 #15
0
        public IActionResult LoadPolicy(int id)
        {
            var model = new PolicyViewModel();
            var list  = ApiCall.MakeGetAPICall <List <PolicyModel> >(GetAllUrl);

            model.Policy = list.FirstOrDefault(x => x.Id == id);
            return(View("EditPolicy", model));
        }
예제 #16
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Category,Title,Description,Tags")] PolicyViewModel policyVM)
        {
            if (id != policyVM?.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var entity = await _context.Policies
                             .Include(f => f.Category)
                             .SingleOrDefaultAsync(c => c.Id == id);

                if (entity.IsNull())
                {
                    return(NotFound());
                }

                if (!entity.Category.Title.Equals(policyVM.Category.Title, StringComparison.OrdinalIgnoreCase))
                {
                    var category = await _context.Categories.SingleOrDefaultAsync(c => c.Title.Equals(policyVM.Category.Title, StringComparison.OrdinalIgnoreCase));

                    if (category.IsNotNull())
                    {
                        entity.Category = category;
                    }
                    else
                    {
                        entity.Category = new Category
                        {
                            Title = policyVM.Category.Title,
                            Url   = CustomUrlHelper.URLFriendly(policyVM.Category.Title),
                        };
                    }
                }

                entity.Title       = policyVM.Title;
                entity.Description = policyVM.Description;

                var file = Request.Form.Files.SingleOrDefault();

                if (file.IsNotNull())
                {
                    var filename = await _fileStorageService.SetBlobAsync(file);

                    entity.FileUrl = filename;
                }

                var tags           = TagHelpers.GetTagsFromString(policyVM.Tags);
                var allTagEntities = GetAllTagEntitiesInternal(policyVM, tags);
                TagHelpers.SetTags <Policy, PolicyTag>(tags, entity, allTagEntities);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { Id = entity.Id }));
            }
            return(View(policyVM));
        }
예제 #17
0
        public ActionResult AddPolicy(PolicyViewModel xx)
        {
            c.Add(xx);
            List <PolicyViewModel> xc = c.GetAll();

            Session["AllPolicy"] = xc;

            return(RedirectToAction("PolicyViewAll"));
        }
예제 #18
0
        public IActionResult Index()
        {
            var model = new PolicyViewModel();

            model.RiskTypes     = _context.RiskTypes.Get().ToList();
            model.CoverageTypes = _context.CoverageTypes.Get().ToList();
            model.Customers     = _context.Customers.Get().ToList();
            return(View(model));
        }
예제 #19
0
        public async Task <GetPolicyViewModel> AddPolicyAsync(PolicyViewModel policyViewModel)
        {
            var policy = _mapper.Map <Policy>(policyViewModel);

            var addedPolicy = await _policyRepository.AddAsync(policy);

            _logger.LogInformation($"Policy has been created - id: {policy.Id}");

            return(_mapper.Map <GetPolicyViewModel>(addedPolicy));
        }
예제 #20
0
        public ActionResult EditPolicy(int id)
        {
            PolicyViewModel s = c.GetEdit(id);

            ViewData["AllPolicy"] = s;
            List <PolicytypeViewModel> m = pl.GetAll();

            Session["AllPolicyType"] = m;
            return(View());
        }
        // GET: Policy/Create
        /// <summary>
        /// Create a policy.
        /// </summary>
        /// <returns>Policy view.</returns>
        public ActionResult Create()
        {
            var policyViewModel = new PolicyViewModel();

            LoadCoverages();

            ViewBag.ClientID = new SelectList(db.Clients, "ID", "Name");

            return(View());
        }
예제 #22
0
        public ActionResult Edit(int id)
        {
            var viewModel = new PolicyViewModel();

            using (PolicyRepository pr = new PolicyRepository())
            {
                viewModel.Policy = pr.SearchPolicy(id);
            }
            ViewBag.Operation = "Save";
            return(View(viewModel));
        }
예제 #23
0
        public HttpResponseMessage GetPolicy(int?policyId)
        {
            PolicyViewModel policy = policyId == null ? new PolicyViewModel() : ServiceHandlers.PolicyHandler.SavePolicy(new PolicyViewModel {
                Id = policyId.Value, CrudOperation = CrudOperation.READ
            });

            policy.IsAuthenticated = IsAuthenticated;
            MapPolicyImages(policy);

            return(Request.CreateResponse <PolicyViewModel>(HttpStatusCode.OK, policy));
        }
 public static PolicyViewModel ToViewModel(this Policy model)
 {
     if (model != null)
     {
         PolicyViewModel viewModel = new PolicyViewModel();
         viewModel.Id      = model.Id;
         viewModel.Content = model.Content;
         return(viewModel);
     }
     return(null);
 }
 public async Task <StatusCodeResult> Update([FromBody] PolicyViewModel viewModel)
 {
     if (await _service.UpdateAsync(viewModel.ToModel()) == 1)
     {
         return(StatusCode((int)HttpStatusCode.OK));
     }
     else
     {
         return(StatusCode((int)HttpStatusCode.ExpectationFailed));
     }
 }
 public static Policy ToModel(this PolicyViewModel viewModel)
 {
     if (viewModel != null)
     {
         Policy model = new Policy();
         model.Id      = viewModel.Id;
         model.Content = viewModel.Content;
         return(model);
     }
     return(null);
 }
        /// <summary>
        /// Validate that at least a coverage be selected.
        /// </summary>
        /// <param name="policyViewModel">Policy view model.</param>
        /// <returns>True if there are selected coverages, else if not.</returns>
        private bool ValidateCoverages(PolicyViewModel policyViewModel)
        {
            if (policyViewModel.SelectedCoverages.Count == 0)
            {
                ModelState.AddModelError("CoveragesError", "At least one coverage must be selected");
                LoadCoverages();

                return(false);
            }

            return(true);
        }
        public async Task Edit_Policy_Should_Return_Ok()
        {
            // Assign
            var policy = new Policy
            {
                Id          = 1,
                Title       = "old title",
                Description = "d",
                Url         = "old-title",
                Category    = new Category
                {
                    Title = "old category",
                    Url   = "old-category",
                },
            };

            var newPolicy = new PolicyViewModel
            {
                Id          = 1,
                Title       = "t",
                Description = "d",
                Category    = new Category
                {
                    Title = "c",
                },
            };

            var fileServiceMock = new Mock <IFileStorageService>();

            DbContextFake.SeedDb <IntranetApiContext>(c => c.Add(policy));

            using (var context = DbContextFake.GetDbContext <IntranetApiContext>())
            {
                var policyController = ControllerFake.GetController <PoliciesController>(context, fileServiceMock.Object);

                // Act
                var result = await policyController.Edit(1, newPolicy);

                // Assert
                Assert.True(result.ValidateActionRedirect("Details"));
            }
            using (var context = DbContextFake.GetDbContext <IntranetApiContext>())
            {
                var updatedPolicy = context.Policies.Include(f => f.Category).First();

                Assert.Equal("old title", policy.Title);
                Assert.Equal("t", updatedPolicy.Title);
                Assert.Equal("old category", policy.Category.Title);
                Assert.Equal("c", updatedPolicy.Category.Title);
                Assert.Equal("old-title", updatedPolicy.Url);
                Assert.Equal("c", updatedPolicy.Category.Url);
            }
        }
예제 #29
0
        public ActionResult NewPolicy(PolicyViewModel nn)
        {
            c.Update(nn);
            List <PolicyViewModel> j = c.GetAll();

            Session["AllPolicy"] = j;
            if (Session["PLSearch"] == null)
            {
                return(RedirectToAction("PolicyViewAll"));
            }
            return(RedirectToAction("PolicySearch"));
        }
예제 #30
0
        public async Task <IActionResult> Create([Bind("Id,Category,Title,Description,Tags")] PolicyViewModel policyVM)
        {
            if (ModelState.IsValid)
            {
                var category = await _context
                               .Categories
                               .SingleOrDefaultAsync(c => c.Title.Equals(policyVM.Category.Title, StringComparison.OrdinalIgnoreCase));

                if (category.IsNotNull())
                {
                    policyVM.Category = category;
                }
                else
                {
                    policyVM.Category = new Category
                    {
                        Title = policyVM.Category.Title,
                        Url   = CustomUrlHelper.URLFriendly(policyVM.Category.Title),
                    };
                }

                var policy = new Policy
                {
                    Category    = policyVM.Category,
                    Description = policyVM.Description,
                    FileUrl     = policyVM.FileUrl,
                    Title       = policyVM.Title,
                    Url         = CustomUrlHelper.URLFriendly(policyVM.Title),
                };

                var file = Request.Form.Files.SingleOrDefault();

                if (file.IsNotNull())
                {
                    var filename = await _fileStorageService.SetBlobAsync(file);

                    policy.FileUrl = filename;
                }

                var tags           = TagHelpers.GetTagsFromString(policyVM.Tags);
                var allTagEntities = GetAllTagEntitiesInternal(policyVM, tags);
                TagHelpers.SetTags <Policy, PolicyTag>(tags, policy, allTagEntities);

                await _context.AddAsync(policy);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { Id = policy.Id }));
            }
            ViewData["Categories"] = new SelectList(_context.Categories, nameof(Category.Id), nameof(Category.Title));
            return(View(policyVM));
        }