public IActionResult Create(InsurerRiskOrBonus irb) { var categories = db.Category.ToList(); ViewBag.Categories = categories; var risksAndBonuses = db.RisksOrBonuses.ToList(); ViewBag.RisksOrBonuses = risksAndBonuses; if (ModelState.IsValid && irb.RiskOrBonusId != 0) { var userId = GetCurrentUserAsync().Result.Id; var insurer = db.Insurers.FirstOrDefault(i => i.ApplicationUserId == userId); var risk = risksAndBonuses.FirstOrDefault(r => r.Id == irb.RiskOrBonusId); var riskHasBeenAdded = db.InsurersRisksOrBonuses.FirstOrDefault(i => i.RiskOrBonusId == irb.RiskOrBonusId && i.InsurerId == insurer.Id); if (riskHasBeenAdded != null) { ModelState.AddModelError(string.Empty, "This risk has already been added!"); return(View(irb)); } var insuranceRiskOrBonus = new InsurerRiskOrBonus() { Insurer = insurer, InsurerId = insurer.Id, RiskOrBonus = risk, RiskOrBonusId = risk.Id, TariffNumberChange = irb.TariffNumberChange }; db.InsurersRisksOrBonuses.Add(insuranceRiskOrBonus); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(irb)); }
public IActionResult Edit(InsurerRiskOrBonus irb) { var risksAndBonuses = db.RisksOrBonuses.FirstOrDefault(rob => rob.Id == irb.RiskOrBonusId); if (risksAndBonuses != null) { ViewBag.RisksOrBonuses = risksAndBonuses.Nomenclature; var categories = db.Category.FirstOrDefault(c => c.Id == risksAndBonuses.CategoryId); ViewBag.Categories = categories.Name; } var insurerRiskOrBonusToEdit = db.InsurersRisksOrBonuses.FirstOrDefault(i => i.InsurerId == irb.InsurerId && i.RiskOrBonusId == irb.RiskOrBonusId); if (irb.TariffNumberChange != insurerRiskOrBonusToEdit.TariffNumberChange) { if (irb.TariffNumberChange != 0) { insurerRiskOrBonusToEdit.TariffNumberChange = irb.TariffNumberChange; db.SaveChanges(); return(RedirectToAction("Index")); } else { ModelState.AddModelError(string.Empty, "Tariff number cannot be 0!"); } } return(View(insurerRiskOrBonusToEdit)); }
public IActionResult Delete(InsurerRiskOrBonus irb) { var insurerRiskOrBonusToDelete = db.InsurersRisksOrBonuses.FirstOrDefault(i => i.InsurerId == irb.InsurerId && i.RiskOrBonusId == irb.RiskOrBonusId); db.Remove(insurerRiskOrBonusToDelete); db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Details(InsurerRiskOrBonus irb, int?page) { int pageNumber = (page ?? 1); var insurers = db.Insurers.FirstOrDefault(i => i.Id == irb.InsurerId); ViewBag.Insurers = insurers; var risks = db.RisksOrBonuses.OrderBy(r => r.Nomenclature).ToList(); ViewBag.Risks = risks; var insurersRisksOrBonuses = db.InsurersRisksOrBonuses.Where(i => i.InsurerId == irb.InsurerId).ToList(); ViewBag.InsurerWithRisksAndBonuses = insurersRisksOrBonuses; int pageSize = 20; return(View(insurersRisksOrBonuses.ToPagedList(pageNumber, pageSize))); }