// POST: api/ClaimApi public HttpResponseMessage Post([FromBody] ClaimModel model) { try { model.StatusId = AttributeProviderSvc.GetClaimStatusIdFromName("new"); var entity = AutoMapper.Mapper.Map <Claim>(model); Uow.Claims.Add(entity); Uow.SaveChanges(); if (string.IsNullOrEmpty(model.ReturnUrl)) { //return RedirectToAction("Index"); return(Request.CreateResponse(HttpStatusCode.OK, new { returnUrl = "Index" })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new { returnUrl = model.ReturnUrl })); //return Redirect(model.ReturnUrl); } } catch { return(Request.CreateResponse(HttpStatusCode.BadRequest)); //return View(); } }
public ActionResult CancelPolicy(int?id) { try { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var entity = Uow.Policies.GetById((int)id); if (entity == null) { return(HttpNotFound()); } entity.StatusId = AttributeProviderSvc.GetPolicyStatusIdFromName("cancelled"); Uow.Policies.Update(entity); Uow.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { LoggingSvc.LogError(ex); return(RedirectToAction("Details", new { id = id })); } }
public ActionResult Edit(int id, PolicyModel model) { try { if (ModelState.IsValid == false) { PolicyDetailModel policyDetailModel = GetPolicyDetailModel(id); return(View(policyDetailModel)); } model.StatusId = AttributeProviderSvc.GetPolicyStatusIdFromName(model.StatusName); var entity = AutoMapper.Mapper.Map <Policy>(model); Uow.Policies.Update(entity); Uow.SaveChanges(); if (string.IsNullOrEmpty(model.ReturnUrl) == false) { return(Redirect(model.ReturnUrl)); } return(RedirectToAction("Index")); } catch (Exception ex) { PolicyDetailModel policyDetailModel = GetPolicyDetailModel(id); return(View(policyDetailModel)); } }
public ActionResult RenewPolicy(PolicyModel model) { try { var origEntity = Uow.Policies.GetById(model.Id); var entity = AutoMapper.Mapper.Map <Policy>(model); entity.Id = 0; entity.RenewalPolicyNumber = origEntity.PolicyNumber; entity.DateIssued = DateTime.Now; entity.StatusId = AttributeProviderSvc.GetPolicyStatusIdFromName("active"); origEntity.StatusId = AttributeProviderSvc.GetPolicyStatusIdFromName("expired"); Uow.Policies.Add(entity); Uow.Policies.Update(origEntity); Uow.SaveChanges(); return(RedirectToAction("Details", new { id = entity.Id })); } catch (Exception ex) { LoggingSvc.LogError(ex); return(RedirectToAction("Details", new { id = model.Id })); } }
public ActionResult Edit(SoaModel model) { try { var invoiceList = Uow.Invoices.GetAll() .Where(i => i.Policy.ClientId == model.ClientId) .Where(i => i.Policy.InsuranceProviderId == model.InsuranceProviderId) .Where(i => i.Status.Name.ToLower() == "unpaid") .Where(i => i.IssueDate < model.IssueDate) .ToList(); var tmpEntity = Uow.Soas.GetById(model.Id); // amount can only be recomputed if unpaid model.StatusName = AttributeProviderSvc.GetSoaStatusNameFromId(model.StatusId); if (model.StatusName.ToLower() == "unpaid") { model.TotalAmountDue = invoiceList.Select(i => i.TotalAmountDue).Sum(); } else { model.TotalAmountDue = tmpEntity.TotalAmountDue; } Uow.Soas.Detach(tmpEntity); var entity = AutoMapper.Mapper.Map <Soa>(model); // EDWIN entity.StartDate = tmpEntity.StartDate; // EDWIN END Uow.Soas.Update(entity); LogEdit(entity); // if SOA is marked as paid, mark corresponding invoices as paid as well if (model.StatusName.ToLower() == "paid") { foreach (var invoice in invoiceList) { invoice.StatusId = AttributeProviderSvc.GetInvoiceStatusIdFromName("paid"); invoice.PaidDate = DateTime.Now; Uow.Invoices.Update(invoice); LogInvoiceEdit(invoice); } } Uow.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { return(RedirectToAction("Index", new { error = "Something went wrong!" })); } }
// GET: DefaultRebate/Edit/5 public ActionResult Edit(int id) { var vm = Uow.DefaultRebates.GetAll() .Where(d => d.Id == id) .ProjectTo <DefaultRebateModel>() .FirstOrDefault(); vm.CompanyName = AttributeProviderSvc.GetCompanyNameFromId(vm.InsuranceProviderId); vm.PolicyTypeName = AttributeProviderSvc.GetPolicyTypeNameFromId(vm.PolicyTypeId); return(View(vm)); }
// GET: Soa public ActionResult Index(string error) { var unpaidStatusId = AttributeProviderSvc.GetInvoiceStatusIdFromName("unpaid"); var list = Uow.Soas.GetAll() .OrderBy(s => s.StatusId) .ProjectTo <SoaModel>(new { invoiceStatus = unpaidStatusId }) .ToList(); foreach (var item in list) { if (item.IsOrganization) { item.ClientName = item.OrganizationName; } } List <ExistingClientsViewModel> clients; clients = Uow.Clients.GetAll() .Where(c => c.Policies.Count() != 0) .ProjectTo <ExistingClientsViewModel>().ToList(); foreach (var item in clients) { if (item.IsOrganization) { item.ClientName = item.OrganizationName; } } List <SoaStatus> statuses; statuses = Uow.SoaStatuses.GetAll().ToList(); var vm = new SoaIndexModel { SoaList = list, HasError = string.IsNullOrEmpty(error) == false, Error = error, Clients = clients.OrderBy(c => c.ClientName).ToList(), Companies = ListProviderSvc.GetInsuranceProviders(), Statuses = statuses }; return(View(vm)); }
public ActionResult Create(InvoiceModel model) { try { if (ModelState.IsValid == false) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } model.StatusId = AttributeProviderSvc.GetInvoiceStatusIdFromName("pending");; var entity = AutoMapper.Mapper.Map <Invoice>(model); Uow.Invoices.Add(entity); Uow.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { LoggingSvc.LogError(ex); return(View()); } }
public ActionResult Edit(int id, DefaultRebateModel model) { try { var entity = AutoMapper.Mapper.Map <DefaultRebate>(model); Uow.DefaultRebates.Update(entity); Uow.SaveChanges(); return(RedirectToAction("Index")); } catch { var vm = Uow.DefaultRebates.GetAll() .Where(d => d.Id == id) .ProjectTo <DefaultRebateModel>() .FirstOrDefault(); vm.CompanyName = AttributeProviderSvc.GetCompanyNameFromId(vm.InsuranceProviderId); vm.PolicyTypeName = AttributeProviderSvc.GetPolicyTypeNameFromId(vm.PolicyTypeId); return(View(vm)); } }
public ActionResult Create(ClaimModel model) { try { model.StatusId = AttributeProviderSvc.GetClaimStatusIdFromName("new"); var entity = AutoMapper.Mapper.Map <Claim>(model); Uow.Claims.Add(entity); Uow.SaveChanges(); if (string.IsNullOrEmpty(model.ReturnUrl)) { return(RedirectToAction("Index")); } else { return(Redirect(model.ReturnUrl)); } } catch { return(View()); } }
public ActionResult InvoiceAction(IList <InvoiceActionViewModel> list) { int statusId; if (list == null || list.Count <= 0) { return(RedirectToAction("Index", "Invoice")); } if (list[0].IsApprove) { statusId = AttributeProviderSvc.GetInvoiceStatusIdFromName("approved"); } else { statusId = AttributeProviderSvc.GetInvoiceStatusIdFromName("rejected"); } foreach (var item in list) { if (item.IsSelected) { var entity = Uow.Invoices.GetById(item.InvoiceId); if (entity != null) { entity.StatusId = statusId; Uow.Invoices.Update(entity); } } } Uow.SaveChanges(); return(RedirectToAction("Index", "Invoice")); }
// POST: api/SoaApi public HttpResponseMessage Post([FromBody] SoaModel model) { try { var prevSoa = Uow.Soas.GetAll() .Where(s => s.ClientId == model.ClientId && s.InsuranceProviderId == model.InsuranceProviderId && s.Status.Name.ToLower() == "unpaid") .FirstOrDefault(); if (prevSoa != null) { prevSoa.StatusId = AttributeProviderSvc.GetSoaStatusIdFromName("closed"); Uow.Soas.Update(prevSoa); //Uow.SaveChanges(); LogEdit(prevSoa); } // To include time in Issue Date for checking against Invoice list DateTime dateTimeNow = DateTime.Now; if ((model.IssueDate.Year == dateTimeNow.Year) && (model.IssueDate.Month == dateTimeNow.Month) && (model.IssueDate.Day == dateTimeNow.Day)) { model.IssueDate = dateTimeNow; } // EDWIN var list = Uow.Invoices.GetAll() .Where(i => i.Policy.ClientId == model.ClientId && i.Policy.InsuranceProviderId == model.InsuranceProviderId && i.Status.Name.ToLower() == "unpaid" && i.IssueDate < model.IssueDate) .OrderBy(i => i.IssueDate) .Select(i => new { TotalAmountDue = i.TotalAmountDue, InvoiceIssueDate = i.IssueDate }) .ToList(); model.TotalAmountDue = list.Sum(i => i.TotalAmountDue); if (model.TotalAmountDue <= 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "Unable to create SOA record; Invoice not yet approved or sent to client" })); } // EDWIN END model.StatusId = AttributeProviderSvc.GetSoaStatusIdFromName("unpaid"); var entity = AutoMapper.Mapper.Map <Soa>(model); // EDWIN var firstInvoice = list.FirstOrDefault(); if (firstInvoice != null) { entity.StartDate = firstInvoice.InvoiceIssueDate; } else { entity.StartDate = DateTime.Now; } // EDWIN END Uow.Soas.Add(entity); Uow.SaveChanges(); LogAdd(entity); return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
private ReportIndexModel CompTypeYearReport(ReportIndexModel vm) { vm.CompanyName = AttributeProviderSvc.GetCompanyNameFromId(vm.InsuranceProviderId); vm.PolicyTypeName = AttributeProviderSvc.GetPolicyTypeNameFromId(vm.PolicyTypeId); vm.ReportSums = new ReportSumsModel { }; var list = new List <ReportGroupedViewModel>(); var monthQuery = Uow.Invoices.GetAll() .Include(i => i.Particulars.Select(p => p.ParticularType)) .Include(i => i.Policy.Client) .Include(i => i.Policy.Agent) .Where(i => i.Policy.InsuranceProviderId == vm.InsuranceProviderId && i.Policy.PolicyTypeId == vm.PolicyTypeId && i.Status.Name.ToUpper() == "PAID" && (i.PaidDate).Year == vm.Year) .ToList() .GroupBy(i => (i.PaidDate).Month); foreach (var invoiceGroup in monthQuery) { var reportList = new List <ReportViewModel>(); var invoiceList = invoiceGroup.ToList(); foreach (var invoice in invoiceList) { var reportRow = AutoMapper.Mapper.Map <ReportViewModel>(invoice); if (reportRow.IsOrganization) { reportRow.ClientName = reportRow.OrganizationName; } reportRow.PremiumComponents = new PremiumComponents { Total = invoice.Particulars .Where(p => p.ParticularType.Name == "Premium") .FirstOrDefault() .ParticularAmount }; reportRow.TaxComponents = new TaxComponents { Total = invoice.Particulars .Where(p => p.ParticularType.Name != "Premium") .Select(p => p.ParticularAmount) .Sum() }; var dstItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Documentary Stamp Tax (DST)") .FirstOrDefault(); if (dstItem != null) { reportRow.TaxComponents.Dst = dstItem.ParticularAmount; } var vatItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Value-Added Tax (VAT)") .FirstOrDefault(); if (vatItem != null) { reportRow.TaxComponents.Vat = vatItem.ParticularAmount; } var lgtItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Local Government Tax (LGT)") .FirstOrDefault(); if (lgtItem != null) { reportRow.TaxComponents.Lgt = lgtItem.ParticularAmount; } var axItem = invoice.Particulars .Where(p => p.ParticularType.Name == "AX") .FirstOrDefault(); if (axItem != null) { reportRow.TaxComponents.Ax = axItem.ParticularAmount; } var rcharItem = invoice.Particulars .Where(p => p.ParticularType.Name == "R CHAR") .FirstOrDefault(); if (rcharItem != null) { reportRow.TaxComponents.Rchar = rcharItem.ParticularAmount; } var notarialFeeItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Notarial Fee") .FirstOrDefault(); if (notarialFeeItem != null) { reportRow.TaxComponents.NotarialFee = notarialFeeItem.ParticularAmount; } var otherFeesItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Other Fees") .FirstOrDefault(); if (otherFeesItem != null) { reportRow.TaxComponents.OtherFees = otherFeesItem.ParticularAmount; } var fstItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Fire Service Tax (FST)") .FirstOrDefault(); if (fstItem != null) { reportRow.TaxComponents.Fst = fstItem.ParticularAmount; } var premiumTaxItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Premium Tax") .FirstOrDefault(); if (premiumTaxItem != null) { reportRow.TaxComponents.PremiumTax = premiumTaxItem.ParticularAmount; } var municipalTaxItem = invoice.Particulars .Where(p => p.ParticularType.Name == "Municipal Tax") .FirstOrDefault(); if (municipalTaxItem != null) { reportRow.TaxComponents.MunicipalTax = municipalTaxItem.ParticularAmount; } reportRow.SubAgentComponents = new SubAgentComponents { RebateAmount = invoice.Policy.Premium * (decimal)invoice.Rebate }; reportRow.PaymentComponents = new PaymentComponents { AmountPaid = invoice.AmountPaid, PaidDate = invoice.PaidDate, OfficialReceiptNumber = invoice.ORNumber }; if (invoice.HasEWT) { reportRow.PaymentComponents.PrepaidTaxEwt = (invoice.AmountPaid * 0.02M); reportRow.PaymentComponents.Difference = reportRow.PaymentComponents.PrepaidTaxEwt; } reportRow.CommissionComponents = new CommissionComponents { TotalCommission = invoice.Policy.Commission }; reportList.Add(reportRow); //For bottom-row totals vm.ReportSums.SumPremiumOdExcess += reportRow.PremiumComponents.OdExcess; vm.ReportSums.SumPremiumComplTpl += reportRow.PremiumComponents.ComplTpl; vm.ReportSums.SumPremiumCgl += reportRow.PremiumComponents.Cgl; vm.ReportSums.SumPremiumPersonalAccident += reportRow.PremiumComponents.PersonalAccident; vm.ReportSums.SumPremiumAog += reportRow.PremiumComponents.Aog; vm.ReportSums.SumPremiumContractorsAllRisk += reportRow.PremiumComponents.ContractorsAllRisk; vm.ReportSums.SumPremiumFire += reportRow.PremiumComponents.Fire; vm.ReportSums.SumPremiumAlliedPeril += reportRow.PremiumComponents.AlliedPeril; vm.ReportSums.SumPremiumBurgMoneySec += reportRow.PremiumComponents.BurgMoneySec; vm.ReportSums.SumPremiumPlateGlass += reportRow.PremiumComponents.PlateGlass; vm.ReportSums.SumPremiumRsmd += reportRow.PremiumComponents.Rsmd; vm.ReportSums.SumPremiumTotal += reportRow.PremiumComponents.Total; vm.ReportSums.SumTaxDst += reportRow.TaxComponents.Dst; vm.ReportSums.SumTaxVat += reportRow.TaxComponents.Vat; vm.ReportSums.SumTaxLgt += reportRow.TaxComponents.Lgt; vm.ReportSums.SumTaxAx += reportRow.TaxComponents.Ax; vm.ReportSums.SumTaxRchar += reportRow.TaxComponents.Rchar; vm.ReportSums.SumTaxNotarialFee += reportRow.TaxComponents.NotarialFee; vm.ReportSums.SumTaxOtherFees += reportRow.TaxComponents.OtherFees; vm.ReportSums.SumTaxFst += reportRow.TaxComponents.Fst; vm.ReportSums.SumTaxPremiumTax += reportRow.TaxComponents.PremiumTax; vm.ReportSums.SumTaxMunicipalTax += reportRow.TaxComponents.MunicipalTax; vm.ReportSums.SumTaxTotal += reportRow.TaxComponents.Total; vm.ReportSums.SumGrandTotal += reportRow.GrandTotal; vm.ReportSums.SumAgentRebate += reportRow.SubAgentComponents.RebateAmount; } list.Add(new ReportGroupedViewModel { Month = invoiceGroup.Key, ReportList = reportList.OrderBy(i => i.PaidDate).ToList() }); } vm.InvoiceByMonthList = list; return(vm); }
public ActionResult Create(SoaModel model) { try { var prevSoa = Uow.Soas.GetAll() .Where(s => s.ClientId == model.ClientId && s.InsuranceProviderId == model.InsuranceProviderId && s.Status.Name.ToLower() == "unpaid") .FirstOrDefault(); if (prevSoa != null) { prevSoa.StatusId = AttributeProviderSvc.GetSoaStatusIdFromName("closed"); Uow.Soas.Update(prevSoa); Uow.SaveChanges(); LogEdit(prevSoa); } // To include time in Issue Date for checking against Invoice list DateTime dateTimeNow = DateTime.Now; if ((model.IssueDate.Year == dateTimeNow.Year) && (model.IssueDate.Month == dateTimeNow.Month) && (model.IssueDate.Day == dateTimeNow.Day)) { model.IssueDate = dateTimeNow; } // EDWIN var list = Uow.Invoices.GetAll() .Where(i => i.Policy.ClientId == model.ClientId && i.Policy.InsuranceProviderId == model.InsuranceProviderId && i.Status.Name.ToLower() == "unpaid" && i.IssueDate < model.IssueDate) .OrderBy(i => i.IssueDate) .Select(i => new { TotalAmountDue = i.TotalAmountDue, InvoiceIssueDate = i.IssueDate }) .ToList(); model.TotalAmountDue = list.Sum(i => i.TotalAmountDue); // EDWIN END model.StatusId = AttributeProviderSvc.GetSoaStatusIdFromName("unpaid"); var entity = AutoMapper.Mapper.Map <Soa>(model); // EDWIN var firstInvoice = list.FirstOrDefault(); if (firstInvoice != null) { entity.StartDate = firstInvoice.InvoiceIssueDate; } else { entity.StartDate = DateTime.Now; } // EDWIN END Uow.Soas.Add(entity); Uow.SaveChanges(); LogAdd(entity); return(RedirectToAction("Index")); } catch (Exception ex) { return(RedirectToAction("Index", new { error = ex.Message })); } }