Ejemplo n.º 1
0
        //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");
        }
Ejemplo n.º 3
0
        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 }));
        }
Ejemplo n.º 4
0
        public IActionResult NewRecurringBill()
        {
            var RBCreateVM = new BillingViewModel {
            };

            return(PartialView("_newRecurringBillPartial", RBCreateVM));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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>();
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        private void InitilializeItemstoDataTable()
        {
            _objBillingViewModel = new BillingViewModel();
            _dataSource          = _objBillingViewModel.GetAllItems();

            dataSheet_Grid.ItemsSource = _dataSource.OrderBy(a => a.dataSheet_NAME);
        }
Ejemplo n.º 12
0
        public ActionResult Edit(BillingViewModel billingVM)
        {
            //billingVM.BillNo = User.Identity.Name;

            billingService.Update(billingVM);

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 13
0
        public ActionResult PrintInvoice(int id)
        {
            BillingViewModel   mdl = new BillingViewModel();
            InvoicePrintHelper hlp = new InvoicePrintHelper();

            mdl = hlp.getData(id);
            return(View("PrintInvoice", mdl));
        }
Ejemplo n.º 14
0
        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));
        }
Ejemplo n.º 15
0
        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"]));
        }
Ejemplo n.º 16
0
        public BillingController(IDataProvider provider)
        {
            Provider = provider;

            if (_model == null)
            {
                _model = GetBills();
            }
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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));
      }
Ejemplo n.º 22
0
        // 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"));
 }
Ejemplo n.º 24
0
        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 }));
        }
Ejemplo n.º 25
0
        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();
        }
Ejemplo n.º 26
0
        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));
        }
Ejemplo n.º 27
0
        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);
        }
Ejemplo n.º 28
0
        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));
        }
Ejemplo n.º 29
0
        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 }));
        }
Ejemplo n.º 30
0
        /// <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
                }));
            }
        }
Ejemplo n.º 31
0
        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));
        }
Ejemplo n.º 32
0
        /// <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
                });
            }
        }
Ejemplo n.º 33
0
        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);
 }
Ejemplo n.º 35
0
        //
        // GET: /Invoice/Details/5
        public ActionResult Details(int id)
        {
            BillingViewModel billing = new BillingViewModel(id);

            return View(billing);
        }