Exemplo n.º 1
0
 public IActionResult Create(RiskOrBonus rob)
 {
     if (rob.CategoryId == 0 || rob.CategoryId == null)
     {
         var categoryList = db.Category.ToList();
         ViewBag.CategoryList = categoryList;
     }
     if (ModelState.IsValid && rob.Nomenclature != null)
     {
         var category    = db.Category.FirstOrDefault(c => c.Id == rob.CategoryId);
         var riskOrBonus = new RiskOrBonus()
         {
             CategoryId   = rob.CategoryId,
             Category     = rob.Category,
             Nomenclature = rob.Nomenclature,
             //InsurersRisksOrBonuses = new List<InsurerRiskOrBonus>()
         };
         db.RisksOrBonuses.Add(riskOrBonus);
         db.SaveChanges();
         var insurers = db.Insurers.ToList();
         foreach (var insurer in insurers)
         {
             this.Attach(insurer);
         }
         this.Notify();
         return(RedirectToAction("Index"));
     }
     return(View(rob));
 }
Exemplo n.º 2
0
        public IActionResult Delete(RiskOrBonus rob)
        {
            var robToDelete = db.RisksOrBonuses.FirstOrDefault(r => r.Id == rob.Id);

            db.RisksOrBonuses.Remove(robToDelete);
            db.SaveChanges();
            var insurers = db.Insurers.ToList();

            foreach (var insurer in insurers)
            {
                this.Detach(insurer);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public IActionResult Edit(RiskOrBonus rob)
        {
            if (rob.CategoryId == 0 || rob.CategoryId == null)
            {
                var categoryList = db.Category.ToList();
                ViewBag.CategoryList = categoryList;
            }

            var riskOrBonusToEdit = db.RisksOrBonuses.FirstOrDefault(r => r.Id == rob.Id);

            if (ModelState.IsValid && rob.Nomenclature != null)
            {
                riskOrBonusToEdit.Nomenclature = rob.Nomenclature;
                riskOrBonusToEdit.CategoryId   = rob.CategoryId;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(riskOrBonusToEdit));
        }
        public double CalculateOtherRisksAndBonuses(NumberOfPayments numberOfPayments, double tariffNumber, Models.Models.InsurerRiskOrBonus irb,
                                                    RiskOrBonus currentRisk, Region region)
        {
            switch (currentRisk.Nomenclature)
            {
            case "One time payment":
                if (numberOfPayments == NumberOfPayments.One)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car is registered in Sofia":
                if (region.Name == "Sofia")
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;
            }

            return(tariffNumber);
        }
Exemplo n.º 5
0
        public double CalculateMVrelatedRisksAndBonuses(InfoForInsurance info, CarModel carModel, double tariffNumber,
                                                        Models.Models.InsurerRiskOrBonus irb, RiskOrBonus currentRisk)
        {
            switch (currentRisk.Nomenclature)
            {
            case "Car model is Special":
                if (carModel.SpecialModel)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car age less than a year":
                if (info.NewImport)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car age between 1 and 4 years":
                if (info.CarAge >= 1 && info.CarAge <= 4)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car age between 5 and 7 years":
                if (info.CarAge >= 5 && info.CarAge <= 7)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car age between 8 and 10 years":
                if (info.CarAge >= 8 && info.CarAge <= 10)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car age over 10 years":
                if (info.CarAge > 10)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car is new import":
                if (info.NewImport)
                {
                    tariffNumber += irb.TariffNumberChange;
                }

                break;

            case "Car has right-side wheel":
                if (info.RightSideWheel)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Car horsepower is over 200":
                if (carModel.Horsepower >= 200)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;
            }

            return(tariffNumber);
        }
        public double CalculateOwnerRelatedRisksAndBonuses(InfoForInsurance info, Insurer insurer, double tariffNumber,
                                                           Models.Models.InsurerRiskOrBonus irb, RiskOrBonus currentRisk)
        {
            switch (currentRisk.Nomenclature)
            {
            case "Owner age between 18 and 25":
                if (info.OwnerAge >= 18 && info.OwnerAge <= 25)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Owner age between 26 and 50":
                if (info.OwnerAge >= 26 && info.OwnerAge <= 50)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Owner age over 50":
                if (info.OwnerAge > 50)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "New Customer":
                if (info.CarInsurerId != insurer.Id)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;

            case "Customer has MTPL":
                if (info.MTPLInsurerId == insurer.Id)
                {
                    tariffNumber += irb.TariffNumberChange;
                }

                break;

            case "Customer has car insurance":
                if (info.CarInsurerId == insurer.Id)
                {
                    tariffNumber += irb.TariffNumberChange;
                }
                break;
            }

            return(tariffNumber);
        }