Esempio n. 1
0
        /// <summary>
        /// Add to database all the ordered Products to the table Invoice Items
        /// Creates Invoice and adds it to table Invoices
        /// </summary>
        /// <param name="cartItems">List of all the ordered Items</param>
        /// <param name="CashAmount">Cash ammount given by the client</param>
        /// <returns>Returns the change for the client</returns>
        public double SaveInvoice(List <CartItem> cartItems, string CashAmount)
        {
            var Id = this.officeStoreContext.Invoice.Count() + 1;

            foreach (var item in cartItems)
            {
                InvoiceItems InvoiceItem = new InvoiceItems()
                {
                    ItemId      = item.Barcode,
                    Quantity    = item.Quantity,
                    SinglePrice = item.SinglePrice,
                    Total       = item.Total,
                    InvoiceId   = Id
                };
                this.officeStoreContext.Items.First(a => a.Id == InvoiceItem.ItemId).Quantity -= InvoiceItem.Quantity;
                this.officeStoreContext.InvoiceItems.Add(InvoiceItem);
            }
            Invoice invoice = new Invoice()
            {
                OrderNo         = Id + 1000,
                Date            = DateTime.Now.Date,
                Time            = DateTime.Now.TimeOfDay,
                EmployeeId      = this.officeStoreContext.LastLogin.Last().EmployeeId,
                Total           = cartItems.Sum(a => a.Total),
                PaymentMethodId = 1,
                StoreInfoId     = 1
            };


            this.officeStoreContext.Invoice.Add(invoice);
            this.officeStoreContext.SaveChanges();
            return(double.Parse(CashAmount) - invoice.Total);
        }
Esempio n. 2
0
        public async Task <ActionResult <InvoiceItems> > PostInvoiceItems(InvoiceItems invoiceItems)
        {
            _context.InvoiceItems.Add(invoiceItems);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetInvoiceItems", new { id = invoiceItems.Id }, invoiceItems));
        }
Esempio n. 3
0
        public async Task <IActionResult> PutInvoiceItems(long id, InvoiceItems invoiceItems)
        {
            if (id != invoiceItems.InvoiceLineId)
            {
                return(BadRequest());
            }

            _context.Entry(invoiceItems).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!InvoiceItemsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        private List <InvoiceItemTax> ReturnTaxesAvailableForItem(InvoiceItems invoiceItem, int transactionTypeID, DateTime currentDateTime, int provinceID, object[] objPageDetails)
        {
            string strQueryName = "ReturnTaxesAvailableForItem";
            string sqlCmd       = "SELECT CSI.intInvoiceItemID, TTPII.intTaxID AS intTaxTypeID, T.varTaxName, ITR.fltTaxRate, ";

            if (transactionTypeID == 1 || transactionTypeID == 7)
            {
                sqlCmd += "CASE WHEN CSI.bitIsDiscountPercent = 1 THEN ROUND(((CSI.fltItemPrice - (CSI.fltItemPrice * (CSI.fltItemDiscount / "
                          + "100))) * ITR.fltTaxRate) * CSI.intItemQuantity, 2) ELSE ROUND(((CSI.fltItemPrice - CSI.fltItemDiscount) * ITR.fltTaxRate) "
                          + "* CSI.intItemQuantity, 2) END AS fltTaxAmount, ";
            }
            else if (transactionTypeID == 2)
            {
                sqlCmd += "ROUND((CSI.fltItemRefund * ITR.fltTaxRate) * CSI.intItemQuantity, 2) AS fltTaxAmount, ";
            }

            sqlCmd += "TTPII.bitChargeTax AS bitIsTaxCharged FROM tbl_currentSalesItems CSI JOIN tbl_taxTypePerInventoryItem TTPII ON "
                      + "TTPII.intInventoryID = CSI.intInventoryID JOIN tbl_taxType T ON T.intTaxID = TTPII.intTaxID JOIN(SELECT TTPI.intInventoryID, "
                      + "TTPI.intTaxID, fltTaxRate FROM tbl_taxRate TR INNER JOIN(SELECT intTaxID, MAX(dtmTaxEffectiveDate) AS MTD FROM tbl_taxRate "
                      + "WHERE dtmTaxEffectiveDate <= @dtmCurrentDate AND intProvinceID = @intProvinceID GROUP BY intTaxID) TD ON TR.intTaxID = "
                      + "TD.intTaxID AND TR.dtmTaxEffectiveDate = TD.MTD INNER JOIN(SELECT intInventoryID, intTaxID FROM tbl_taxTypePerInventoryItem "
                      + "WHERE bitChargeTax = 1 AND intInventoryID = @intInventoryID) TTPI ON TTPI.intTaxID = TR.intTaxID WHERE intProvinceID = "
                      + "@intProvinceID) ITR ON ITR.intInventoryID = CSI.intInventoryID AND ITR.intTaxID = TTPII.intTaxID WHERE CSI.intInvoiceID = "
                      + "@intInvoiceID AND CSI.intInventoryID = @intInventoryID";

            object[][] parms =
            {
                new object[] { "@intInvoiceID",   invoiceItem.intInvoiceID               },
                new object[] { "@dtmCurrentDate", currentDateTime.ToString("yyyy-MM-dd") },
                new object[] { "@intProvinceID",  provinceID                             },
                new object[] { "@intInventoryID", invoiceItem.intInventoryID             }
            };
            return(ConvertFromDataTableToInvoiceItemTax(DBC.MakeDataBaseCallToReturnDataTable(sqlCmd, parms, objPageDetails, strQueryName)));
        }
Esempio n. 5
0
        public JsonResult InsertInvoiceItems(List <Tbl_InvoiceItems> InvoiceItems)
        {
            //Check for NULL.
            if (InvoiceItems == null)
            {
                InvoiceItems = new List <Tbl_InvoiceItems>();
            }

            //Loop and insert records.
            for (int i = 1; i < InvoiceItems.Count(); i++)
            {
                //problem is here
                int ProductId = InvoiceItems[i].ProductId;
                var DbProduct = _context.Tbl_Products.SingleOrDefault(u => u.Id == ProductId);
                //........

                DbProduct.Qty = Convert.ToInt16(DbProduct.Qty + InvoiceItems[i].Qty);

                _context.Tbl_InvoiceItems.Add(InvoiceItems[i]);

                _context.SaveChanges();
            }

            return(Json((InvoiceItems.Count()) - 1));
        }
Esempio n. 6
0
        public void AddInvoice()
        {
            var invoice = new InvoiceModel()
            {
                CustomerId = 1,
                EmployeeId = 1,
                SaleDate   = DateTime.UtcNow,
            };
            var invoiceItems = new List <InvoiceItems>();
            var item         = new InvoiceItems()
            {
                ItemId    = 1,
                UnitPrice = 10,
                Quantity  = 2
            };

            invoiceItems.Add(item);
            invoice.InvoiceItemses = invoiceItems;
            var totalCost = 0d;

            foreach (var i in invoiceItems)
            {
                totalCost += i.TotalPrice;
            }

            invoice.TotalAmount = totalCost.ToString();
            Invoice.AddInvoice(invoice);
            var invoiceService = new InvoiceService();
            var invoicePath    = invoiceService.ConstructInvoicePdf(invoice);

            var emailHelper = new EmailHelper();

            emailHelper.SendInvoiceMail(invoice, invoicePath);
        }
Esempio n. 7
0
        public void InvoiceItemsClassTest()
        {
            // Arrange & Act
            InvoiceItems invoiceItems = new InvoiceItems();

            //Assert
            Assert.IsNotNull(invoiceItems);
        }
Esempio n. 8
0
        private static InvoiceItems GetInvoiceItem(List <InvoiceItems> input)
        {
            Console.Write("Choose item ID: ");
            int          id          = int.Parse(Console.ReadLine());
            InvoiceItems choosenItem = input.FirstOrDefault(x => x.Id == id);

            return(choosenItem);
        }
Esempio n. 9
0
        /// <summary>
        /// Genrete Line used in the ShowRecipe method wih all the needed space between the words
        /// </summary>
        /// <param name="item"></param>
        /// <returns>Perfect ordered line</returns>
        private string GenerateItems(InvoiceItems item)
        {
            //Generates item
            var Total    = item.SinglePrice * item.Quantity;
            var ItemName = this.officeStoreContext.Items.First(a => a.Id == item.ItemId).ProductName;

            return($"{ItemName}{Spaces(ItemName, 32)}{item.Quantity}{Spaces(item.Quantity.ToString(), 5)}{item.SinglePrice:f2}{Spaces(item.SinglePrice.ToString(), 8)}{Total:f2} ");
        }
 public DeliveryPayment(Affiliate affiliate, int customerId) : base(affiliate, customerId)
 {
     InvoiceItems           = new InvoiceItems();
     DeliveryTypes          = new List <DeliveryType>();
     PaymentTypes           = new List <PaymentType>();
     DeliveryAddresses      = new List <DeliveryAddress>();
     DeliveryPaymentButtons = new List <DeliveryPaymentButton>();
 }
        public void LoopThroughTaxesForEachItemAddingToCurrentInvoiceItemTaxes(InvoiceItems invoiceItem, int transactionTypeID, DateTime currentDateTime, int provinceID, object[] objPageDetails)
        {
            List <InvoiceItemTax> invoiceItemTaxes = ReturnTaxesAvailableForItem(invoiceItem, transactionTypeID, currentDateTime, provinceID, objPageDetails);

            foreach (var tax in invoiceItemTaxes)
            {
                InsertItemTaxIntoSalesCart(tax, objPageDetails);
            }
        }
Esempio n. 12
0
        public IActionResult Create([FromBody] InvoiceItems invoiceItem)
        {
            var res = _invoiceItem.add(invoiceItem);

            if (res == true)
            {
                return(CreatedAtRoute("InvoiceItemById", new { Controller = "InvoiceItem", id = invoiceItem.InvoiceItemsId }, invoiceItem));
            }
            return(StatusCode(500));
        }
Esempio n. 13
0
 decimal getTotalPriceBrutto()
 {
     try
     {
         return(InvoiceItems.Sum(p => p.TotalPriceBrutto));
     }
     catch (Exception)
     {
         return(0);
     }
 }
Esempio n. 14
0
 decimal getTotalNettPrice()
 {
     try
     {
         return(InvoiceItems.Sum(p => p.TotalPrice));
     }
     catch (Exception)
     {
         return(0);
     }
 }
Esempio n. 15
0
 int countItems()
 {
     try
     {
         return(InvoiceItems.Count());
     }
     catch (Exception)
     {
         return(0);
     }
 }
Esempio n. 16
0
 decimal getTotalVATValue()
 {
     try
     {
         return(InvoiceItems.Sum(p => p.TotalVATValue));
     }
     catch (Exception)
     {
         return(0);
     }
 }
Esempio n. 17
0
        /// <summary>
        /// Add new invoice item to this NFT Invoice
        /// </summary>
        /// <param name="utxo">for example Product NFT hash</param>
        /// <param name="index"></param>
        /// <param name="price"></param>
        /// <param name="amount"></param>
        public void AddInvoiceItem(string utxo, int index, double price, int amount)
        {
            var invit = new InvoiceItem()
            {
                ItemUtxo      = utxo,
                ItemUtxoIndex = index,
                ItemPrice     = price,
                ItemCount     = amount
            };

            InvoiceItems.Add(invit);
            TotalPrice += price * amount;
        }
Esempio n. 18
0
        private void ShowInvoice(OrganizationServiceContext serviceContext, Entity invoice)
        {
            var invoiceProducts = serviceContext.CreateQuery("invoicedetail")
                                  .Where(e => e.GetAttributeValue <EntityReference>("invoiceid") == invoice.ToEntityReference())
                                  .Where(e => e.GetAttributeValue <decimal>("quantity") > 0)
                                  .ToArray();

            var productIds = invoiceProducts
                             .Select(e => e.GetAttributeValue <EntityReference>("productid"))
                             .Where(product => product != null)
                             .Select(product => product.Id);

            var products = serviceContext.CreateQuery("product")
                           .WhereIn(e => e.GetAttributeValue <Guid>("productid"), productIds)
                           .ToDictionary(e => e.Id, e => e);

            var items = invoiceProducts
                        .Select(e => GetLineItemFromInvoiceProduct(e, products))
                        .Where(e => e != null)
                        .OrderBy(e => e.Number)
                        .ThenBy(e => e.Name);

            InvoiceItems.DataSource = items;
            InvoiceItems.DataBind();

            InvoiceNumber.Text = invoice.GetAttributeValue <string>("invoicenumber");

            var tax = invoice.GetAttributeValue <Money>("totaltax") ?? new Money(0);

            InvoiceTotalTax.Visible    = tax.Value > 0;
            InvoiceTotalTaxAmount.Text = tax.Value.ToString("C2");

            var shipping = invoice.GetAttributeValue <Money>("freightamount") ?? new Money(0);

            InvoiceTotalShipping.Visible    = shipping.Value > 0;
            InvoiceTotalShippingAmount.Text = shipping.Value.ToString("C2");

            var discount = invoice.GetAttributeValue <Money>("totaldiscountamount") ?? new Money(0);

            InvoiceTotalDiscount.Visible    = discount.Value > 0;
            InvoiceTotalDiscountAmount.Text = discount.Value.ToString("C2");

            var total = invoice.GetAttributeValue <Money>("totalamount") ?? new Money(0);

            InvoiceTotal.Visible    = total.Value > 0;
            InvoiceTotalAmount.Text = total.Value.ToString("C2");

            GeneralErrorMessage.Visible = false;
            Order.Visible   = false;
            Invoice.Visible = true;
        }
        protected void InvoiceItems_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int rowIndex = Convert.ToInt32(e.CommandArgument);
            List <InvoiceDetailsViewModel> invoiceProducts = GetInvoiceItemsFromGridView();
            InvoiceDetailsViewModel        invoiceItem     = invoiceProducts[rowIndex];

            if (e.CommandName == "DeleteFromInvoice")
            {
                invoiceProducts.Remove(invoiceItem);
            }
            InvoiceItems.DataSource = invoiceProducts;
            InvoiceItems.DataBind();
            CalculateTotals();
        }
Esempio n. 20
0
 public bool add(InvoiceItems invoiceItem)
 {
     try
     {
         _context.InvoiceItems.Add(invoiceItem);
         _context.SaveChanges();
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
         return(false);
     }
     return(true);
 }
Esempio n. 21
0
 public bool update(int id, InvoiceItems invoiceItem)
 {
     invoiceItem.InvoiceItemsId = id;
     try
     {
         _context.InvoiceItems.Update(invoiceItem);
         _context.SaveChanges();
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
         return(false);
     }
     return(true);
 }
Esempio n. 22
0
        /// <summary>
        /// Generate Item list test data
        /// </summary>
        /// <param name="numberofItems">
        /// Number of generated items
        /// </param>
        /// <returns>
        /// Item list
        /// </returns>
        public List <InvoiceItems> GenerateItemTestData(int numberofItems)
        {
            List <InvoiceItems> items = new List <InvoiceItems>();

            for (int i = 1; i <= numberofItems; i++)
            {
                var invoiceItem = new InvoiceItems
                {
                    Price    = 10 * i,
                    Id       = i,
                    ItemName = "Item " + i
                };
                items.Add(invoiceItem);
            }
            return(items);
        }
Esempio n. 23
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Invoice invoice = new Invoice();

            invoice.customerID   = 0;
            invoice.customerName = txtCustomer.Text;
            invoice.qtyCount     = gv.Rows.Count;
            invoice.amount       = Convert.ToDecimal(lblTotal.Text);
            List <InvoiceItems> ItemsList = new List <InvoiceItems>();

            for (int i = 0; i < gv.Rows.Count; i++)
            {
                InvoiceItems item = new InvoiceItems();
                item.productID = Convert.ToInt32(gv.Rows[i].Cells[0].Value);
                item.qty       = Convert.ToInt32(gv.Rows[i].Cells[2].Value);
                item.price     = Convert.ToInt32(gv.Rows[i].Cells[3].Value);
                item.expiry    = Convert.ToDateTime(gv.Rows[i].Cells[5].Value);
                //InvoiceItems item = new InvoiceItems()
                //{
                //    productID = Convert.ToInt32(gv.Rows[i].Cells[0].Value),
                //    qty = Convert.ToInt32(gv.Rows[i].Cells[2].Value),
                //    price = Convert.ToInt32(gv.Rows[i].Cells[3].Value),
                //    expiry = Convert.ToDateTime(gv.Rows[i].Cells[5].Value),
                //};
                //invoice.items.Add(new InvoiceItems()
                //{
                //    productID = Convert.ToInt32(gv.Rows[i].Cells[0].Value),
                //    qty = Convert.ToInt32(gv.Rows[i].Cells[2].Value),
                //    price = Convert.ToDecimal(gv.Rows[i].Cells[3].Value),
                //    expiry = Convert.ToDateTime(gv.Rows[i].Cells[5].Value)
                //});
                ItemsList.Add(item);
            }
            invoice.items = ItemsList;
            res           = db.addInvoice(invoice);
            if (res.success)
            {
                MetroSetMessageBox.Show(this, res.message, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                gv.Rows.Clear();
                lblTotal.Text = "0";
            }
            else
            {
                MetroSetMessageBox.Show(this, res.message + " on step number : " + res.data, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        protected void GrdReturningItems_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //Collects current method for error tracking
            string method = "GrdReturningItems_RowDeleting";

            object[] objPageDetails = { Session["currPage"].ToString(), method };
            try
            {
                Invoice returnInvoice = IM.CallReturnCurrentInvoice(Convert.ToInt32(Request.QueryString["invoice"]), CU.location.intProvinceID, objPageDetails)[0];
                lblInvalidQty.Visible = false;
                //Gathers index from selected line item
                int index = e.RowIndex;
                //Stores the info about the item in that index
                int          invoiceItemReturnID = Convert.ToInt32(((Label)GrdReturningItems.Rows[index].Cells[0].FindControl("lblInvoiceItemReturnID")).Text);
                InvoiceItems selectedSku         = IIM.ReturnSkuFromCurrentSalesUsingSKU(invoiceItemReturnID, returnInvoice.dtmInvoiceDate, CU.location.intProvinceID, objPageDetails);

                //add item to table and remove the added qty from current inventory
                IIM.DoNotReturnTheItemOnReturn(selectedSku, objPageDetails);
                IIM.CallRemoveQTYFromInventoryWithSKU(selectedSku.intInventoryID, selectedSku.intItemTypeID, (IIM.ReturnCurrentQuantityOfItem(selectedSku, objPageDetails) - selectedSku.intItemQuantity), objPageDetails);
                //deselect the indexed item
                GrdReturningItems.EditIndex = -1;
                //Check if the marked for returns cart has any items in it
                GrdInvoicedItems.DataSource = IIM.CallReturnInvoiceItemsFromProcessedSalesForReturn(returnInvoice.varInvoiceNumber, returnInvoice.dtmInvoiceDate, CU.location.intProvinceID, objPageDetails);
                GrdInvoicedItems.DataBind();

                returnInvoice = IM.CallReturnCurrentInvoice(returnInvoice.intInvoiceID, CU.location.intProvinceID, objPageDetails)[0];
                IM.CalculateNewInvoiceReturnTotalsToUpdate(returnInvoice, objPageDetails);

                GrdReturningItems.DataSource = returnInvoice.invoiceItems;
                GrdReturningItems.DataBind();

                //recalculate the return total
                lblReturnSubtotalDisplay.Text = "$ " + returnInvoice.fltSubTotal.ToString("#0.00");
            }
            //Exception catch
            catch (ThreadAbortException tae) { }
            catch (Exception ex)
            {
                //Log all info into error table
                ER.CallLogError(ex, CU.employee.intEmployeeID, Convert.ToString(Session["currPage"]) + "-V3.2", method, this);
                //Display message box
                MessageBoxCustom.ShowMessage("An Error has occurred and been logged. "
                                             + "If you continue to receive this message please contact "
                                             + "your system administrator.", this);
            }
        }
Esempio n. 25
0
        public ActionResult InvoiceDetails(int id)
        {
            if (Session["UserId"] != null)
            {
                List <Tbl_InvoiceItems> InvoiceItemsList = _context.Tbl_InvoiceItems.Where(x => x.InvoiceId == id).ToList();

                var viewmodel = new InvoiceItems
                {
                    InvoiceItem = InvoiceItemsList
                };

                return(View(viewmodel));
            }
            else
            {
                return(RedirectToAction("Login", "Home"));
            }
        }
        public ActionResult AddInvoiceItem(int itemId, string itemName, double price, int qty)
        {
            if ( Session["InvoiceItems"] == null)
            {
                Session["InvoiceItems"] = new List<InvoiceItems>();
            }

            List<InvoiceItems> itemList = (List<InvoiceItems>)Session["InvoiceItems"];

            InvoiceItems item = new InvoiceItems { ItemID = itemId, ItemName = itemName, ItemPrice = price, Quantity = qty, SubTotal = qty * price };

            itemList.Add(item);

            Session["InvoiceItems"] = itemList;

            ResponseMessage response = new ResponseMessage { Status = true, Message = "success" };

            return Json(response, JsonRequestBehavior.AllowGet);
        }
Esempio n. 27
0
        private void Save()
        {
            var invoice = InvoiceItems.First().InvoiceID;

            switch (CurrentInvoiceType)
            {
            case InvoiceType.Factory:
                DB.UpdateInvoice(invoice, LoggedUser.ID, txtInvoiceNo.Text, txtAwbNo.Text, Convert.ToInt32(StatusDropDownList.SelectedItem.Value), Convert.ToInt32(BillToDropDownList.SelectedItem.Value), Convert.ToInt32(BankDropDownList.SelectedItem.Value), Convert.ToDateTime(txtInvoiceDate.Text).GetSQLDateString());
                break;

            case InvoiceType.Indiman:
                DB.UpdateInvoice(invoice, LoggedUser.ID, null, txtAwbNo.Text, Convert.ToInt32(StatusDropDownList.SelectedItem.Value), Convert.ToInt32(BillToDropDownList.SelectedItem.Value), Convert.ToInt32(BankDropDownList.SelectedItem.Value), Convert.ToDateTime(txtInvoiceDate.Text).GetSQLDateString(), txtIndimanInvoiceNo.Text, txtIndimanInvoiceDate.Text);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            DB.UpdateChangedInvoiceOrderDetailItemPrices(InvoiceItems);
        }
Esempio n. 28
0
        protected void BtnAddPurchase_Click(object sender, EventArgs e)
        {
            //Collects current method error tracking
            string method = "BtnAddPurchase_Click";

            object[] objPageDetails = { Session["currPage"].ToString(), method };
            try
            {
                Invoice      receipt       = IM.CallReturnCurrentPurchaseInvoice(Convert.ToInt32(Request.QueryString["receipt"]), CU.location.intProvinceID, objPageDetails)[0];
                string[]     inventoryInfo = ItM.CallReserveTradeInSKU(CU, objPageDetails);
                InvoiceItems purchItem     = new InvoiceItems
                {
                    intInventoryID       = Convert.ToInt32(inventoryInfo[1]),
                    varSku               = inventoryInfo[0].ToString(),
                    intItemQuantity      = 1,
                    varItemDescription   = "",
                    fltItemCost          = 0.00,
                    intInvoiceID         = receipt.intInvoiceID,
                    fltItemDiscount      = 0,
                    fltItemRefund        = 0,
                    fltItemPrice         = 0,
                    bitIsDiscountPercent = false,
                    bitIsClubTradeIn     = false,
                    intItemTypeID        = 1
                };

                IIM.CallInsertItemIntoSalesCart(purchItem, receipt.intTransactionTypeID, receipt.dtmInvoiceDate, CU.location.intProvinceID, objPageDetails);
                //Bind items in cart to grid view
                UpdateReceiptTotal();
            }
            //Exception catch
            catch (ThreadAbortException) { }
            catch (Exception ex)
            {
                //Log all info into error table
                ER.CallLogError(ex, CU.employee.intEmployeeID, Convert.ToString(Session["currPage"]), method, this);
                //Display message box
                MessageBoxCustom.ShowMessage("An Error has occurred and been logged. "
                                             + "If you continue to receive this message please contact "
                                             + "your system administrator.", this);
            }
        }
        protected void Quantity_TextChanged(object sender, EventArgs e)
        {
            List <InvoiceDetailsViewModel> invoiceProducts = GetInvoiceItemsFromGridView();

            foreach (var row in invoiceProducts)
            {
                if (row.Quantity < 1)
                {
                    row.Quantity = 1;
                    MessageUserControl.ShowInfo("", "Quantity must be at least 1.");
                }
                if (row.Quantity * row.Price != row.Amount)
                {
                    row.Amount = (decimal)(row.Quantity * row.Price);
                }
            }
            InvoiceItems.DataSource = invoiceProducts;
            InvoiceItems.DataBind();
            CalculateTotals();
        }
Esempio n. 30
0
        public async Task <ActionResult <InvoiceItems> > PostInvoiceItems(InvoiceItems invoiceItems)
        {
            _context.InvoiceItems.Add(invoiceItems);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (InvoiceItemsExists(invoiceItems.InvoiceLineId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetInvoiceItems", new { id = invoiceItems.InvoiceLineId }, invoiceItems));
        }