public int SaveAdjustItemRequest(InvLeatherStockAdjustModel model, int userID)
        {
            var leatherTypeID   = DalCommon.GetLeatherTypeCode("Raw Hide");
            var leatherStatusID = DalCommon.GetLeatherStatusCode("Raw Hide");

            using (TransactionScope transaction = new TransactionScope())
            {
                #region Insert

                Inv_LeatherStockAdjustRequest objAdjustmentRequest = new Inv_LeatherStockAdjustRequest();

                objAdjustmentRequest.PurchaseYear = model.PurchaseYear;
                objAdjustmentRequest.RequestDate  = DalCommon.SetDate(model.RequestDate);
                objAdjustmentRequest.LeatherType  = model.LeatherType;
                objAdjustmentRequest.StoreID      = model.StoreID;
                objAdjustmentRequest.RecordStatus = "NCF";
                objAdjustmentRequest.SetBy        = userID;
                objAdjustmentRequest.SetOn        = DateTime.Now;

                _context.Inv_LeatherStockAdjustRequest.Add(objAdjustmentRequest);
                _context.SaveChanges();

                var currentRequestID = objAdjustmentRequest.RequestID;

                foreach (var item in model.StockAdjustItemList)
                {
                    Inv_LeatherStockAdjustItem objAdjustmentItems = new Inv_LeatherStockAdjustItem();

                    objAdjustmentItems.RequestID       = currentRequestID;
                    objAdjustmentItems.SupplierID      = item.SupplierID;
                    objAdjustmentItems.PurchaseID      = item.ChallanID;
                    objAdjustmentItems.ItemTypeID      = item.ItemTypeID;
                    objAdjustmentItems.LeatherType     = model.LeatherType;
                    objAdjustmentItems.LeatherStatus   = leatherStatusID;
                    objAdjustmentItems.ItemQty         = item.ItemQty;
                    objAdjustmentItems.Unit            = item.Unit;
                    objAdjustmentItems.Remarks         = item.Remarks;
                    objAdjustmentItems.AdjustmentCause = item.AdjustmentCause;



                    _context.Inv_LeatherStockAdjustItem.Add(objAdjustmentItems);
                    _context.SaveChanges();
                }

                transaction.Complete();
                return(currentRequestID);

                #endregion
            }
        }
        public int UpdateAdjustItemRequest(InvLeatherStockAdjustModel model, int userID)
        {
            var leatherTypeID   = DalCommon.GetLeatherTypeCode("Raw Hide");
            var leatherStatusID = DalCommon.GetLeatherStatusCode("Raw Hide");

            //var requestdate = (model.RequestDate).ToString("dd'/'MM'/'yyyy");

            using (TransactionScope transaction = new TransactionScope())
            {
                var currentRequestID = Convert.ToInt32(model.RequestID);
                var currentRequest   = (from r in _context.Inv_LeatherStockAdjustRequest.AsEnumerable()
                                        where r.RequestID == Convert.ToInt32(model.RequestID)
                                        select r).FirstOrDefault();



                currentRequest.RequestDate  = DalCommon.SetDate(model.RequestDate);
                currentRequest.PurchaseYear = model.PurchaseYear;
                currentRequest.LeatherType  = model.LeatherType;
                currentRequest.StoreID      = model.StoreID;
                currentRequest.SetBy        = userID;
                currentRequest.SetOn        = DateTime.Now;
                _context.SaveChanges();

                if (model.StockAdjustItemList != null)
                {
                    foreach (var item in model.StockAdjustItemList)
                    {
                        if (item.AdjustID == 0)
                        {
                            Inv_LeatherStockAdjustItem objAdjustmentItems = new Inv_LeatherStockAdjustItem();

                            objAdjustmentItems.RequestID       = Convert.ToInt32(model.RequestID);
                            objAdjustmentItems.SupplierID      = item.SupplierID;
                            objAdjustmentItems.PurchaseID      = item.ChallanID;
                            objAdjustmentItems.ItemTypeID      = item.ItemTypeID;
                            objAdjustmentItems.LeatherType     = model.LeatherType;
                            objAdjustmentItems.LeatherStatus   = leatherStatusID;
                            objAdjustmentItems.ItemQty         = item.ItemQty;
                            objAdjustmentItems.Unit            = item.Unit;
                            objAdjustmentItems.Remarks         = item.Remarks;
                            objAdjustmentItems.AdjustmentCause = item.AdjustmentCause;


                            _context.Inv_LeatherStockAdjustItem.Add(objAdjustmentItems);
                            _context.SaveChanges();
                        }
                        else
                        {
                            var CurrentItem = (from i in _context.Inv_LeatherStockAdjustItem.AsEnumerable()
                                               where i.AdjustID == item.AdjustID
                                               select i).FirstOrDefault();

                            CurrentItem.SupplierID      = item.SupplierID;
                            CurrentItem.PurchaseID      = item.ChallanID;
                            CurrentItem.ItemTypeID      = item.ItemTypeID;
                            CurrentItem.LeatherType     = model.LeatherType;
                            CurrentItem.LeatherStatus   = leatherStatusID;
                            CurrentItem.ItemQty         = item.ItemQty;
                            CurrentItem.Unit            = item.Unit;
                            CurrentItem.Remarks         = item.Remarks;
                            CurrentItem.AdjustmentCause = item.AdjustmentCause;
                            _context.SaveChanges();
                        }
                    }
                }

                transaction.Complete();
                return(currentRequestID);
            }
        }