コード例 #1
0
        public JsonResult SaveSaleItems(List <SaleReturnValidation> saleReturn)
        {
            SaleReturn newSaleReturn = new SaleReturn();

            newSaleReturn.TotalBeforePercentage = saleReturn.Select(x => x.TotalBeforePercentage).FirstOrDefault();

            decimal?totalAfterPercentage = saleReturn.Select(x => x.TotalAfterPercentage).FirstOrDefault();

            newSaleReturn.TotalAfterPercentage = saleReturn.Select(x => x.TotalAfterPercentage).FirstOrDefault();
            newSaleReturn.SpecialDiscount      = saleReturn.Select(x => x.SpecialDiscount).FirstOrDefault();
            newSaleReturn.AmountPaid           = saleReturn.Select(x => x.AmountPaid).FirstOrDefault();
            newSaleReturn.Arears           = saleReturn.Select(x => x.Arears).FirstOrDefault();
            newSaleReturn.DateOfSaleReturn = DateTime.Now;

            context.SaleReturns.Add(newSaleReturn);
            context.SaveChanges();

            foreach (var n in saleReturn)
            {
                SaleReturnItem saleReturnItem = new SaleReturnItem();

                var itemID = context.Items.Where(x => x.Name == n.Name).Select(x => x.ID).FirstOrDefault();

                saleReturnItem.SaleReturnID   = newSaleReturn.ID;
                saleReturnItem.ItemID         = itemID;
                saleReturnItem.SalePercentage = n.SalePercentage;
                saleReturnItem.Quantity       = n.Quantity;
                saleReturnItem.LoosePack      = n.LoosePack;

                context.SaleReturnItems.Add(saleReturnItem);
                context.SaveChanges();

                var Item = context.Items.Where(x => x.ID == itemID).FirstOrDefault();

                if (n.LoosePack == "P")
                {
                    Item.TotalStock += n.Quantity;
                }
                else if (n.LoosePack == "L")
                {
                    Item.LooseQuantitySold += n.Quantity;
                    if (Item.LooseQuantitySold >= n.PiecesPerPack)
                    {
                        int?packReturned = Item.LooseQuantitySold / n.PiecesPerPack;
                        int?looseQuantityleftAfterPackomission = Item.LooseQuantitySold % n.PiecesPerPack;
                        Item.TotalStock       += packReturned;
                        Item.LooseQuantitySold = looseQuantityleftAfterPackomission;
                    }
                }
                //TODO: remove last line. just to save saleprice at run time
                Item.SalePrice = n.SalePrice;
                context.SaveChanges();
            }

            return(Json(true));
        }
コード例 #2
0
 private void detach_SaleReturnItems(SaleReturnItem entity)
 {
     this.SendPropertyChanging("SaleReturnItems");
     entity.ItemInstance = null;
 }