//Generate_New_Invoice_END //Generate_Invoice_START public ActionResult GenerateInvoice(int id) { BillingViewModel mdl = new BillingViewModel(); mdl.Invoice = db.Invoices.Find(id); return(View("GenerateInvoice", mdl)); }
public ActionResult Billing(BillingViewModel billingViewModel) { billingViewModel.Plan = PlanService.Find(billingViewModel.Plan.Id); try { SubscriptionService.Create(User.Identity.Name, billingViewModel.Plan, billingViewModel.StripeToken); //if (stripeCharge.Status == "succeeded") //{ // //creating the customer and add it to stripe // var newCustomer = new StripeCustomerService().Create( // new StripeCustomerCreateOptions // { // Email = customViewModel.StripeEmail // } // ); //} } catch (StripeException stripeException) { ModelState.AddModelError(string.Empty, stripeException.Message); return View(billingViewModel); } return RedirectToAction("Index", "Dashboard"); }
public ActionResult Bill(BillingViewModel bvm) { bool success = false; string message = ""; try { if (checkBalance(bvm)) { string invNumber = ""; if (bvm.GenerateBill(ref invNumber, (Shop)Session["Shop"])) { success = true; message = "Bill Generated Successfully Invoice Number is " + invNumber; } else { success = false; message = "Bill Generation Failed"; } } else { success = false; message = "Insufficient Balance to make the Payment"; } } catch { success = false; message = "Something Unexpected happened"; } return(Json(new { success = success, message = message })); }
public IActionResult NewRecurringBill() { var RBCreateVM = new BillingViewModel { }; return(PartialView("_newRecurringBillPartial", RBCreateVM)); }
public ActionResult GetCurrentItem(int id) { BillingViewModel mdl = new BillingViewModel(); ICollection <InvoiceItem> InvoiceItems = db.InvoiceItems.Where(x => x.invoiceId == id).ToList(); List <InvoiceItemWithPrice> InvoiceItemWithPrice = new List <InvoiceItemWithPrice>(); foreach (InvoiceItem i in InvoiceItems) { InvoiceItemWithPrice item = new InvoiceItemWithPrice(); item.InvoiceItem = i; //item.InvoiceItem.Product.name = db.Products.Where(x => x.pid == i.pid).Select(x => x.name).First(); //item.InvoiceItem.Inventory.batchNo = db.Inventories.Where(x => x.iid == i.iid).Select(x => x.batchNo).First(); item.mrp = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.mrp).First(); item.vat = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.vat).First(); item.discount = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.discount).First(); decimal rate = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.rate).First(); decimal afterVat = (decimal)rate + (((item.vat / 100)) * rate); //decimal afterDiscount= (decimal)(afterVat - (((item.vat / 100)) * afterVat))*(decimal)(item.InvoiceItem.quantity-item.InvoiceItem.free); decimal afterDiscount = (decimal)(afterVat - ((rate) * (item.discount / 100))); //decimal quantity=(decimal) (item.InvoiceItem.quantity - item.InvoiceItem.free); //item.price = (decimal)item.mrp * (item.vat / 100) * (item.discount / 100); item.price = afterDiscount * (decimal)item.InvoiceItem.quantity; InvoiceItemWithPrice.Add(item); } mdl.InvoiceItemsWithPrice = InvoiceItemWithPrice; //mdl.Invoice.id = id; //Invoice i = new Invoice(); //i.InvoiceItems = db.InvoiceItems.Where(x => x.invoiceId == id).ToList(); return(PartialView("_InvoiceCurrentItem", mdl)); }
private BillingViewModel GenerateRBRemovalModel(int RBId) { var recurringBillToDelete = _context.RecurringBills .Where(rb => rb.Id == RBId) .Include(rb => rb.RecipientsCollection) .AsNoTracking() .First(); var recipientIds = recurringBillToDelete.RecipientsCollection .Select(r => r.UserId); var recipientNames = _context.Users.Where(u => recipientIds.Any(ri => ri == u.Id)).Select(u => u.FullName); var groupId = recurringBillToDelete.RecipientsCollection.First().TeamId; var groupName = _context.Teams.Where(t => t.Id == groupId).First().Name; var billingViewModel = new BillingViewModel { CreationDate = recurringBillToDelete.CreationDate, ExpenseCategory = recurringBillToDelete.ExpenseCategory, ExpirationDate = recurringBillToDelete.ExpirationDate, Frequency = recurringBillToDelete.Frequency, GroupId = groupId, GroupName = groupName, Id = recurringBillToDelete.Id, LastOccurenceDate = recurringBillToDelete.LastOccurenceDate, ParticipantIds = recipientIds.ToArray(), ParticipantNames = recipientNames.ToArray(), StartDate = recurringBillToDelete.StartDate, Subject = recurringBillToDelete.Subject, Value = recurringBillToDelete.Value }; return(billingViewModel); }
protected async override Task OnInitializedAsync() { UserName = await _sessionStorageService.GetItemAsync <string>("UserName"); CompanyId = await _sessionStorageService.GetItemAsync <string>("CompanyId"); IsDataLoaded = false; if (string.IsNullOrEmpty(billingId)) { IsBillInitialized = false; billingViewModel = new BillingViewModel(); billingViewModel.dateDue = DateTime.Today; billingViewModel.billType = "MB"; var pdlist = await appDBContext.PropertyDirectory .Where(a => a.companyId.Equals(CompanyId)).Include(a => a.property) .OrderBy(a => a.property.description) .ToListAsync(); billingViewModel.properties = pdlist.GroupBy(a => a.propertyId) .Select(grp => grp.First().property).ToList(); IsDataLoaded = true; } else { IsBillInitialized = true; await InitNewBilling(); } //billing = new Billing(); //billing.billingLineItems = new List<BillingLineItem>(); }
public void order_showReciept_not_null() { TestControllerBuilder builder = new TestControllerBuilder(); //Arrange var controller = new OrderController(new OrderBLL(new OrderDALStub())); builder.InitializeController(controller); builder.HttpContext.Session["loggedInUser"] = new Customer() { admin = true }; BillingViewModel expected = new BillingViewModel() { ordreid = 12345, orderdate = DateTime.Now, totsum = 30, mva = 8, exmva = 28, }; //Act var action = (ViewResult)controller.showReceipt(12345); var result = (BillingViewModel)action.Model; //Assert Assert.IsNotNull(result); Assert.AreEqual(result.sum.Count, result.shoppingcart.Count); }
public ActionResult showReceipt(int id) { if (!isAdmin()) { return(RedirectToAction("LogIn", "Main")); } Order allOrders = _orderbll.getAllOrders(id)[0]; BillingViewModel b = null; List <int> s = new List <int>(); foreach (var i in allOrders.orderLine) { s.Add(i.quantity * i.product.price); } b = new BillingViewModel() { customer = allOrders.customer, order = allOrders, ordreid = allOrders.id, orderdate = allOrders.orderdate, shoppingcart = allOrders.orderLine, totsum = _orderbll.getSum(allOrders), mva = _orderbll.getMva(_orderbll.getSum(allOrders)), exmva = _orderbll.getExmva(_orderbll.getSum(allOrders)), sum = s }; return(View(b)); }
public string GenerateBillingUnpaidInvoice(int branchID, string[] invoicesNo, string path) { var list = new List <BillingViewModel>(); Branch branch = context.Branches.SingleOrDefault(b => b.ID == branchID); if (branch != null) { foreach (string invoiceNo in invoicesNo) { InvoiceHeader invoice = context.InvoiceHeaders.SingleOrDefault(inv => inv.InvoiceNo == invoiceNo); if (invoice != null) { var billing = new BillingViewModel(); billing.MerchantCode = branch.MerchantCode; billing.CustomerBarcode = invoice.Customer.Barcode; billing.CreditCardNo = invoice.Customer.CardNo; billing.CreditCardExpiredDate = invoice.Customer.ExpiredDate.Value; billing.DuesAmount = invoice.InvoiceDetails.Sum(inv => (inv.Quantity * inv.UnitPrice) - (inv.Discount / 100 * inv.Quantity * inv.UnitPrice)); billing.CreditCardName = invoice.Customer.CardHolderName; billing.Note = "THE GYM MONTHLY PAYMENT," + invoice.InvoiceNo; list.Add(billing); } } } string fileName = CreateBillingFile(branchID, list, DateTime.Today, path, true); return(fileName); }
private void InitilializeItemstoDataTable() { _objBillingViewModel = new BillingViewModel(); _dataSource = _objBillingViewModel.GetAllItems(); dataSheet_Grid.ItemsSource = _dataSource.OrderBy(a => a.dataSheet_NAME); }
public ActionResult Edit(BillingViewModel billingVM) { //billingVM.BillNo = User.Identity.Name; billingService.Update(billingVM); return(RedirectToAction("Index")); }
public ActionResult PrintInvoice(int id) { BillingViewModel mdl = new BillingViewModel(); InvoicePrintHelper hlp = new InvoicePrintHelper(); mdl = hlp.getData(id); return(View("PrintInvoice", mdl)); }
public ActionResult AddItem(int id) { BillingViewModel mdl = new BillingViewModel(); mdl.Invoice.id = id; mdl.Products = db.Products.ToList(); mdl.Inventories = db.Inventories.ToList(); return(PartialView("_InvoiceAddItem", mdl)); }
public bool checkBalance(BillingViewModel bvm) { CardRegistration card = new CardRegistration(); Dictionary <string, decimal> result = bvm.caluclations(card.getCardInfo(bvm.cardNumber)); return(( result["totalAfterDiscount"] + result["taxVal"]) < (result["cardBalance"] - result["minBal"])); }
public BillingController(IDataProvider provider) { Provider = provider; if (_model == null) { _model = GetBills(); } }
public BillingViewModel GetBillingDetailResult(int _skip) { BillingViewModel _billingDetails = new BillingViewModel(); var BillingDetails = _iBillingService.getDetailsForBilling(_skip, GlobalConst.Records.LandingTake); _billingDetails.BillingDetails = Mapper.Map <IEnumerable <Billing> >(BillingDetails.BillingDetails); _billingDetails.TotalCount = BillingDetails.TotalCount; return(_billingDetails); }
public ActionResult GetBillingDetailByClientNameResult(string ClientName, int _skip) { BillingViewModel _billingDetails = new BillingViewModel(); var _BillingDetails = _iBillingService.getDetailsForBillingByClientName(ClientName, _skip, GlobalConst.Records.LandingTake); _billingDetails.BillingDetails = Mapper.Map <IEnumerable <Billing> >(_BillingDetails.BillingDetails); _billingDetails.TotalCount = _BillingDetails.TotalCount; return(Json(_billingDetails, GlobalConst.ContentTypes.TextHtml)); }
public ActionResult Index(BillingViewModel model) { Response.AppendHeader("Access-Control-Allow-Origin", "*"); bus.Send <IBillTheUserCommand>((x) => { x.Email = model.Email; x.CCNumber = model.CCNumber; }); return(Json(new {})); }
public ActionResult Billing(int planId) { string stripePublishableKey = ConfigurationManager.AppSettings["stripePublishableKey"]; var viewModel = new BillingViewModel() { Plan = PlanService.Find(planId), StripePublishableKey = stripePublishableKey }; return(View(viewModel)); }
public ActionResult Remove(int id, int vehicleId, DateTime issueTime, int customerId) { var vehicle = _context.Vehicles.Include(c => c.VehicleType).SingleOrDefault(c => c.Id == vehicleId); var customer = _context.Customers.Include(c => c.Gender).SingleOrDefault(c => c.Id == customerId); var vehicleTypeId = vehicle.VehicleTypeId; vehicle.IsAvailable = true; var activeCustomerInstances = _context.ActiveRentals.Where(a => a.CustomerId == customer.Id).ToList().Count(); if (activeCustomerInstances == 1) { customer.IsActive = false; } var removeRentalObject = _context.ActiveRentals.SingleOrDefault(c => c.Id == id); _context.ActiveRentals.Remove(removeRentalObject); _context.SaveChanges(); var returnTime = DateTime.Now; var diff = returnTime.Subtract(issueTime); var billingObject = new Billing(); switch (vehicleTypeId) { case 1: billingObject.rentalBill = (diff.Hours + 1) * 50; billingObject.TotalBill = Math.Ceiling((billingObject.rentalBill * billingObject.TaxRate * 0.01) + (billingObject.rentalBill)); break; case 2: billingObject.rentalBill = (diff.Hours + 1) * 70; billingObject.TotalBill = Math.Ceiling((billingObject.rentalBill * billingObject.TaxRate * 0.01) + (billingObject.rentalBill)); break; case 3: billingObject.rentalBill = (diff.Hours + 1) * 200; billingObject.TotalBill = Math.Ceiling((billingObject.rentalBill * billingObject.TaxRate * 0.01) + (billingObject.rentalBill)); break; case 4: billingObject.rentalBill = (diff.Hours + 1) * 500; billingObject.TotalBill = Math.Ceiling((billingObject.rentalBill * billingObject.TaxRate * 0.01) + (billingObject.rentalBill)); break; } var passToView = new BillingViewModel() { CustomerName = customer.Name, Billing = billingObject }; return(View(passToView)); }
// GET: Billing public ActionResult Index() { if (Session["Shop"] == null) { return(RedirectToAction("Logout", "AdminHome")); } BillingViewModel bvm = new BillingViewModel() { billItems = new List <billItem>() }; return(View(bvm)); }
public ActionResult Billing(BillingViewModel billingViewModel) { billingViewModel.Plan = PlanService.Find(billingViewModel.Plan.Id); try { SubscriptionService.Create(User.Identity.Name, billingViewModel.Plan, billingViewModel.StripeToken); } catch (StripeException stripeException) { ModelState.AddModelError(string.Empty, stripeException.Message); return(View(billingViewModel)); } return(RedirectToAction("Index", "Dashboard")); }
public ActionResult DeleteItem(int id) { BillingViewModel mdl = new BillingViewModel(); InvoiceItem i = db.InvoiceItems.Find(id); int invoiceId = (int)i.invoiceId; Inventory inv = db.Inventories.SingleOrDefault(x => x.iid == i.iid); inv.quantity += i.quantity; db.InvoiceItems.Remove(i); db.SaveChanges(); return(RedirectToAction("GenerateInvoice", new { id = invoiceId })); }
public void Create(BillingViewModel billingVM) { var Billing = new Billing { BillNo = billingVM.BillNo, Date = billingVM.Date, JobId = billingVM.JobId, AccountId = billingVM.AccountId, TypeId = billingVM.TypeId, Amount = billingVM.Amount }; unitOfWork.BillingRepository.Insert(Billing); unitOfWork.Save(); }
public IActionResult NewRecurringBill([Bind("Subject, Value, Frequency, ExpenseCategory, StartDate, ExpirationDate, GroupId, ParticipantIds")] BillingViewModel rbcvm) { if (ModelState.IsValid) { var newRecurringBill = new RecurringBill { Id = rbcvm.Id, CreationDate = DateTime.Now, ExpenseCategory = rbcvm.ExpenseCategory, ExpirationDate = rbcvm.ExpirationDate, Frequency = rbcvm.Frequency, StartDate = rbcvm.StartDate, Subject = rbcvm.Subject, Value = rbcvm.Value }; _context.RecurringBills.Add(newRecurringBill); _context.SaveChanges(); var currentUserId = 1; var billAssignments = new List <RecurringBillPerTeamMember>() { new RecurringBillPerTeamMember { TeamId = rbcvm.GroupId, RecurringBillId = newRecurringBill.Id, UserId = currentUserId } }; foreach (var participantId in rbcvm.ParticipantIds) { billAssignments.Add(new RecurringBillPerTeamMember { TeamId = rbcvm.GroupId, RecurringBillId = newRecurringBill.Id, UserId = participantId }); } _context.RecurringBillAssignments.AddRange(billAssignments); _context.SaveChanges(); //TODO: change for the currentUserId return(RedirectToAction("Index", "BudgetManager", null)); } return(PartialView("_newRecurringBillPartial", rbcvm)); }
public BillingViewModel getData(int id) { Invoice inv = db.Invoices.Find(id); Customer c = db.Customers.Find(inv.cid); User u = db.Users.Find(inv.uid); BillingViewModel mdl = new BillingViewModel(); ICollection <InvoiceItem> InvoiceItems = db.InvoiceItems.Where(x => x.invoiceId == id).ToList(); List <InvoiceItemWithPrice> InvoiceItemWithPrice = new List <InvoiceItemWithPrice>(); foreach (InvoiceItem i in InvoiceItems) { InvoiceItemWithPrice item = new InvoiceItemWithPrice(); item.InvoiceItem = i; item.mrp = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.mrp).First(); item.vat = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.vat).First(); item.discount = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.discount).First(); item.rate = (decimal)db.Products.Where(x => x.pid == i.pid).Select(x => x.rate).First(); decimal afterVat = (decimal)item.rate + (((item.vat / 100)) * item.rate); decimal afterDiscount = (decimal)(afterVat - ((item.rate) * (item.discount / 100))); //decimal quantity = (decimal)(item.InvoiceItem.quantity - item.InvoiceItem.free); item.price = Math.Round(afterDiscount * (decimal)item.InvoiceItem.quantity, 2); //DateTime exDate= (DateTime)db.Inventories.Where(x => x.iid == i.iid).Select(x => x.exDate).First(); //item.InvoiceItem.Inventory.exDate = exDate.Date; InvoiceItemWithPrice.Add(item); } mdl.InvoicePrint.fromName = "KAMAKSHI DISTRIBUTORS"; mdl.InvoicePrint.fromAddress = "Old No.154/3 / New No.43/3, Nehru Road, Kammanahalli, St Thomas Town, Banglaore-560084"; mdl.InvoicePrint.fromPhone = ""; mdl.InvoicePrint.fromDL_No = "KA-B52-150687/150688"; mdl.InvoicePrint.fromTIN_No = "29420383707"; mdl.InvoicePrint.toName = c.fname + " " + c.mname + " " + c.lname; mdl.InvoicePrint.toAddress = c.address; mdl.InvoicePrint.toPhone = c.phone; mdl.InvoicePrint.toDL_No = c.dlNo; mdl.InvoicePrint.toTIN_No = c.tinNo; mdl.InvoicePrint.invoiceNo = id; mdl.InvoicePrint.invoiceDate = inv.date.ToString("dd/MM/yyyy"); mdl.InvoicePrint.invoiceTime = inv.date.ToShortTimeString(); mdl.InvoicePrint.rep = u.name; mdl.InvoicePrint.dueDate = inv.dueDate.ToString("dd/MM/yyyy"); mdl.InvoicePrint.userID = u.uid; mdl.InvoicePrint.items = InvoiceItemWithPrice; mdl.InvoicePrint.totalRate = 0; mdl.InvoicePrint.totalVat = 0; InvoiceItemWithPrice.ForEach(i => { mdl.InvoicePrint.totalRate += (decimal)(i.rate * (i.InvoiceItem.quantity)); }); //-i.InvoiceItem.free InvoiceItemWithPrice.ForEach(i => { mdl.InvoicePrint.totalVat += Math.Round((decimal)(i.rate * i.vat * (i.InvoiceItem.quantity)) / 100, 2); }); // - i.InvoiceItem.free return(mdl); }
public async Task <IActionResult> EditRecurringBill([Bind("Id, Subject, Value, StartDate, ExpirationDate, " + "ExpenseCategory, Frequency, GroupId, ParticipantIds")] BillingViewModel bevm) { if (ModelState.IsValid) { var recurringBillToUpdate = _context.RecurringBills.Find(bevm.Id); if (await TryUpdateModelAsync <RecurringBill>(recurringBillToUpdate, "", rb => rb.Subject, rb => rb.Value, rb => rb.StartDate, rb => rb.ExpirationDate, rb => rb.ExpenseCategory, rb => rb.Frequency)) { var currentRecipients = _context.RecurringBillAssignments .Where(rba => rba.RecurringBillId == bevm.Id) .ToList(); //TODO: change to current user id var currentUserId = 1; var recipientsInfo = new List <RecurringBillPerTeamMember>() { new RecurringBillPerTeamMember { TeamId = bevm.GroupId, UserId = currentUserId, RecurringBillId = bevm.Id } }; for (int i = 0; i < bevm.ParticipantIds.Length; i++) { recipientsInfo.Add(new RecurringBillPerTeamMember { UserId = bevm.ParticipantIds[i], TeamId = bevm.GroupId, RecurringBillId = bevm.Id }); } _context.RecurringBillAssignments.RemoveRange(currentRecipients); _context.RecurringBillAssignments.AddRange(recipientsInfo); _context.SaveChanges(); } return(RedirectToAction("Index", "BudgetManager", null)); } return(PartialView("_editRecurringBillPartial", bevm)); }
public RedirectToRouteResult AddItem(BillingViewModel mdl) { InvoiceItem i = new InvoiceItem(); int? id = db.InvoiceItem_IdMax().First(); i.id = (int)id + 1; i.invoiceId = mdl.InvoiceItem.invoiceId; i.pid = mdl.Product.pid; i.iid = mdl.Inventory.iid; i.quantity = mdl.InvoiceItem.quantity; i.free = mdl.InvoiceItem.free; db.InvoiceItems.Add(i); Inventory inv = db.Inventories.SingleOrDefault(x => x.iid == i.iid); inv.quantity -= (i.quantity + i.free); db.SaveChanges(); //return PartialView("_InvoiceAddItem", mdl); return(RedirectToAction("GenerateInvoice", new { id = mdl.InvoiceItem.invoiceId })); }
/// <summary> /// Add a payment to the Billing invoice. /// </summary> /// <returns>Json object used to update the billing cshtml view through javascript.</returns> public JsonResult AddPayment() { try { PaymentRepository paymentRepo = new PaymentRepository(); Payment payment = new Payment(); payment.IsActive = true; payment.CashAmount = decimal.Parse(Request.Form["Amount"]); payment.Invoice = new InvoiceRepository().Get(int.Parse(Request.Form["InvoiceId"])); BillingViewModel billing = new BillingViewModel(payment.Invoice.Id); payment.PaymentDate = DateTime.Now; if (payment.CashAmount > billing.Total - billing.PaymentTotal) { return(Json(new { error = true, message = "Please do not pay more than is owed." })); } paymentRepo.Add(payment); return(Json(new { error = false, Date = payment.PaymentDate.ToString(), Amount = payment.CashAmount.ToString("c"), Balance = String.Format("{0:c}", billing.Total - billing.PaymentTotal - payment.CashAmount), Payments = String.Format("{0:c}", billing.PaymentTotal + payment.CashAmount) })); } catch (Exception e) { return(Json(new { error = true, message = e.Message })); } }
public JsonResult GetBillingCodes(string Categories) { List <BillingCodes> billing = new List <BillingCodes>(); var deserilizer = new JavaScriptSerializer(); var categoriesselected = deserilizer.Deserialize <List <string> >(Categories).ToList(); foreach (var catgoryid in categoriesselected) { int id = Convert.ToInt32(catgoryid); try { billing.AddRange(_db.BillingCodes.Where(p => p.BillingCategoryId == id).ToList()); } catch (Exception e) { throw e; } } List <BillingViewModel> BillingCodes = new List <BillingViewModel>(); foreach (var item in billing) { BillingViewModel billcodes = new BillingViewModel(); billcodes.Id = item.Id; billcodes.Name = item.Name; billcodes.Minutes = item.MinimunMinutes; billcodes.BillingCategory = item.BillingCategory.Name; BillingCodes.Add(billcodes); } // var jsonresponse = deserilizer.Serialize(billing); //var deserilizer = new JavaScriptSerializer(); //var categoriesselected = deserilizer.Deserialize <List <string>>(Categories).ToArray(); //for (int i = 0; i < categoriesselected.Length; i++) //{ //billing = _db.BillingCodes.Where(p => p.BillingCategoryId == Convert.ToInt32(categoriesselected[i])).ToList(); //} return(Json(BillingCodes, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Add a payment to the Billing invoice. /// </summary> /// <returns>Json object used to update the billing cshtml view through javascript.</returns> public JsonResult AddPayment() { try { PaymentRepository paymentRepo = new PaymentRepository(); Payment payment = new Payment(); payment.IsActive = true; payment.CashAmount = decimal.Parse(Request.Form["Amount"]); payment.Invoice = new InvoiceRepository().Get(int.Parse(Request.Form["InvoiceId"])); BillingViewModel billing = new BillingViewModel(payment.Invoice.Id); payment.PaymentDate = DateTime.Now; if (payment.CashAmount > billing.Total - billing.PaymentTotal) { return Json(new { error = true, message = "Please do not pay more than is owed." }); } paymentRepo.Add(payment); return Json(new { error = false, Date = payment.PaymentDate.ToString(), Amount = payment.CashAmount.ToString("c"), Balance = String.Format("{0:c}", billing.Total - billing.PaymentTotal - payment.CashAmount), Payments = String.Format("{0:c}", billing.PaymentTotal + payment.CashAmount) }); } catch(Exception e) { return Json(new { error = true, message = e.Message }); } }
public IActionResult BillEdit(int RBId) { var recurringBill = _context.RecurringBills .Where(rb => rb.Id == RBId) .Include(rb => rb.RecipientsCollection) .AsNoTracking() .First(); var recipientsIds = recurringBill.RecipientsCollection .Select(r => r.UserId); var recipientsNames = _context.Users .Where(u => recipientsIds.Any(ri => ri == u.Id)) .AsNoTracking() .Select(u => u.FullName); var groupId = recurringBill.RecipientsCollection .First().TeamId; var groupName = _context.Teams.Find(groupId).Name; var RBEditVM = new BillingViewModel { CreationDate = recurringBill.CreationDate, ExpenseCategory = recurringBill.ExpenseCategory, ExpirationDate = recurringBill.ExpirationDate, Frequency = recurringBill.Frequency, GroupId = groupId, GroupName = groupName, Id = recurringBill.Id, LastOccurenceDate = recurringBill.LastOccurenceDate, ParticipantIds = recipientsIds.ToArray(), ParticipantNames = recipientsNames.ToArray(), StartDate = recurringBill.StartDate, Subject = recurringBill.Subject, Value = recurringBill.Value }; return(PartialView("_editRecurringBillPartial", RBEditVM)); }
public ActionResult Billing(int planId) { string stripePublishableKey = ConfigurationManager.AppSettings["stripePublishableKey"]; var viewModel = new BillingViewModel() { Plan = PlanService.Find(planId), StripePublishableKey = stripePublishableKey }; return View(viewModel); }
// // GET: /Invoice/Details/5 public ActionResult Details(int id) { BillingViewModel billing = new BillingViewModel(id); return View(billing); }