Ejemplo n.º 1
0
        public ActionResult AddReceiptItem(Models.ViewModels.Sales.AddSalesReceipt model)
        {
            var rowId = Guid.NewGuid();

            if (model.ItemId.Value != -1 && model.Quantity > 0)
            {
                var item = _inventoryService.GetItemById(model.ItemId.Value);
                if (!item.Price.HasValue)
                {
                    ModelState.AddModelError("Amount", "Selling price is not set.");
                    return(View(model));
                }
                Models.ViewModels.Sales.AddSalesReceiptLine itemModel = new Models.ViewModels.Sales.AddSalesReceiptLine()
                {
                    RowId         = rowId.ToString(),
                    ItemId        = model.ItemId.Value,
                    MeasurementId = model.MeasurementId.Value,
                    Quantity      = model.Quantity,
                    Discount      = model.Discount,
                    Amount        = item.Price.Value * model.Quantity,
                    AmountToPay   = model.AmountToPay
                };
                if (model.AddSalesReceiptLines.FirstOrDefault(i => i.ItemId == model.ItemId) == null)
                {
                    model.AddSalesReceiptLines.Add(itemModel);
                }
            }
            else if (!string.IsNullOrEmpty(model.AccountCode) && model.Amount != 0)
            {
                var account = _financialService.GetAccounts().Where(a => a.AccountCode == model.AccountCode).FirstOrDefault();
                if (account != null)
                {
                    Models.ViewModels.Sales.AddSalesReceiptLine accountItemModel = new Models.ViewModels.Sales.AddSalesReceiptLine()
                    {
                        RowId             = rowId.ToString(),
                        AccountToCreditId = account.Id,
                        Amount            = model.AmountToPay,
                        AmountToPay       = model.AmountToPay,
                    };
                    model.AddSalesReceiptLines.Add(accountItemModel);
                }
            }
            return(View(model));
        }
Ejemplo n.º 2
0
 public ActionResult AddReceiptItem(Models.ViewModels.Sales.AddSalesReceipt model)
 {
     var rowId = Guid.NewGuid();
     if (model.ItemId.Value != -1 && model.Quantity > 0)
     {
         var item = _inventoryService.GetItemById(model.ItemId.Value);
         if (!item.Price.HasValue)
         {
             ModelState.AddModelError("Amount", "Selling price is not set.");
             return View(model);
         }
         Models.ViewModels.Sales.AddSalesReceiptLine itemModel = new Models.ViewModels.Sales.AddSalesReceiptLine()
         {
             RowId = rowId.ToString(),
             ItemId = model.ItemId.Value,
             MeasurementId = model.MeasurementId.Value,
             Quantity = model.Quantity,
             Discount = model.Discount,
             Amount = item.Price.Value * model.Quantity,
             AmountToPay = model.AmountToPay
         };
         if (model.AddSalesReceiptLines.FirstOrDefault(i => i.ItemId == model.ItemId) == null)
             model.AddSalesReceiptLines.Add(itemModel);
     }
     else if(!string.IsNullOrEmpty(model.AccountCode) && model.Amount != 0)
     {
         var account = _financialService.GetAccounts().Where(a => a.AccountCode == model.AccountCode).FirstOrDefault();
         if(account != null)
         {
             Models.ViewModels.Sales.AddSalesReceiptLine accountItemModel = new Models.ViewModels.Sales.AddSalesReceiptLine()
             {
                 RowId = rowId.ToString(),
                 AccountToCreditId = account.Id,
                 Amount = model.AmountToPay,
                 AmountToPay = model.AmountToPay,
             };
             model.AddSalesReceiptLines.Add(accountItemModel);
         }                
     }
     return View(model);
 }