コード例 #1
0
        public async Task <IActionResult> AddLineItem(LineItemData iData)
        {
            User user = await _auth.GetUser(this.User.Identity.Name);

            Permissions permissions = await _auth.GetPermissions(user.Id);

            if (permissions.AddInvoice == false)
            {
                return(Unauthorized());
            }

            if (ModelState.IsValid)
            {
                var lineItemToCreate = new LineItem
                {
                    QuantitySold    = iData.Quantity,
                    Price           = iData.Price,
                    LineInvoiceID   = iData.InvoiceId,
                    LineInvoice     = _Irepo.GetOneInvoice(iData.InvoiceId).Result,
                    LineInventoryID = iData.ItemId,
                    LineInventory   = _Invrepo.GetInventory(iData.ItemId).Result
                };

                await _Irepo.AddLineItem(lineItemToCreate);

                return(StatusCode(201));
            }
            else
            {
                lastInvoice.username = null;
                return(BadRequest(ModelState));
            }
        }
コード例 #2
0
        public ActionResult Service(int invoiceId)
        {
            var lineItem = new InvoiceItem();
            var repo     = new InvoiceRepository();

            lineItem.Service  = new ServiceRepository().Get(1);
            lineItem.Invoice  = repo.Get(invoiceId);
            lineItem.IsActive = true;
            repo.AddLineItem(lineItem);


            return(View(lineItem));
        }
コード例 #3
0
        /// <summary>
        /// Save the current invoice with each line item and payment
        /// </summary>
        public void Save()
        {
            var repo = new InvoiceRepository();

            repo.Add(_invoice);
            foreach (InvoiceItem lineItem in _invoice.Items)
            {
                repo.AddLineItem(lineItem);
            }
            foreach (Payment payment in _payments)
            {
                new PaymentRepository().Add(payment);
            }
        }