Exemple #1
0
        public void SaveCountAndAdjustStock(object param)
        {
            MessageBoxResult result = System.Windows.MessageBox.Show("Do you want to save changes?", "Save Confirmation", MessageBoxButton.YesNo);

            if (result == MessageBoxResult.Yes)
            {
                Mouse.OverrideCursor = Cursors.Wait;
                string msg = ValidateCountAndAdjustStock();
                if (msg != string.Empty)
                {
                    CASErrors            = msg;
                    Mouse.OverrideCursor = null;
                    return;
                }

                CASErrors = string.Empty;
                CountAndAdjustStockForm CAForm = GetDataIntoModel();

                int i = 0;
                if (IsNew == true)
                {
                    i = casRepository.SaveCountAndAdjustStock(CAForm);
                }
                else
                {
                    i = casRepository.UpdateCountAndAdjustStock(CAForm);
                }
                if (i > 0)
                {
                    IsNew = false;
                }
                Mouse.OverrideCursor = null;
            }
        }
        public int SaveCountAndAdjustStock(CountAndAdjustStockForm casForm)
        {
            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    foreach (var item in casForm.CountAndAdjustStockDetails)
                    {
                        StockCount obj = new StockCount();
                        obj.Stock_count_no = casForm.CountAndAdjustStock.StockCountNo;
                        obj.StockDate      = casForm.CountAndAdjustStock.StockDate;
                        obj.StockType      = casForm.CountAndAdjustStock.StockType;

                        //saving details entity
                        obj.PSID       = item.PSID;
                        obj.PandS_Code = item.PandSCode;
                        obj.PandS_Name = item.PandSName;
                        //obj.SysQty = Math.Abs(Convert.ToInt32(item.SystemQty));
                        obj.SysQty          = item.SystemQty;
                        obj.CountQty        = item.CountQty;
                        obj.Difference      = item.Difference;
                        obj.Average_Cost    = Convert.ToDecimal(item.AvgCost);
                        obj.Amount          = item.Amount;
                        obj.Adjusted_Amount = Convert.ToDecimal(item.AdjustedAmount);
                        obj.UpdatedBy       = 0;
                        obj.UpdatedDate     = DateTime.Now;

                        entities.StockCounts.Add(obj);
                        entities.SaveChanges();

                        ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == item.PSID);
                        if (ps != null)
                        {
                            if (casForm.CountAndAdjustStock.StockType == Convert.ToByte(Stock_Type.StockTake))
                            {
                                ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock + item.Difference;
                                ps.PandS_Stock_Value  = ps.PandS_Stock_Value - Convert.ToDecimal(item.AdjustedAmount);
                                entities.SaveChanges();
                            }
                            else
                            {
                                ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock + item.Difference;
                                entities.SaveChanges();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(0);

                throw ex;
            }
            return(1);
        }
Exemple #3
0
        public void GetCountAndAdjustStock(string scNo)
        {
            // Mouse.OverrideCursor = Cursors.Wait;
            OptionsEntity             oData = new OptionsEntity();
            ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository();

            oData = purchaseRepository.GetOptionSettings();
            CountAndAdjustStockForm pqf = casRepository.GetCountAndAdjustStock(scNo);

            this.StockCountNo = pqf.CountAndAdjustStock.StockCountNo;
            DateTime Dateinstr = (DateTime)pqf.CountAndAdjustStock.StockDate;

            this.StockDateStr = Dateinstr.ToString(oData.DateFormat);

            if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.IncreaseDecreaseStock))
            {
                IsIncreaseDecreaseStock = true;
                IsStockDamaged          = false;
                IsStockTake             = false;
                SharedValues.StockType  = Convert.ToInt16(Stock_Type.IncreaseDecreaseStock);
            }
            else if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.StockDamaged))
            {
                IsIncreaseDecreaseStock = false;
                IsStockDamaged          = true;
                IsStockTake             = false;
                SharedValues.StockType  = Convert.ToInt16(Stock_Type.StockDamaged);
            }
            else if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.StockTake))
            {
                IsIncreaseDecreaseStock = false;
                IsStockDamaged          = false;
                IsStockTake             = true;
                SharedValues.StockType  = Convert.ToInt16(Stock_Type.StockTake);
            }

            this.PSDetailsEntity = new ObservableCollection <DataGridViewModel>();
            foreach (var item in pqf.CountAndAdjustStockDetails)
            {
                DataGridViewModel pqEntity = new DataGridViewModel(ProductList);
                pqEntity.SelectedPSID = item.PSID;
                pqEntity.PandSCode    = item.PandSCode;
                pqEntity.PandSName    = item.PandSName;
                pqEntity.SystemQty    = item.SystemQty;
                pqEntity.CountQty     = item.CountQty;
                pqEntity.Difference   = item.Difference;

                pqEntity.AvgCost   = Convert.ToString(item.AverageCost);
                pqEntity.Amount    = item.Amount;
                pqEntity.AmountStr = item.AmountStr;

                PSDetailsEntity.Add(pqEntity);
            }
        }
Exemple #4
0
        public CountAndAdjustStockForm GetDataIntoModel()
        {
            OptionsEntity             oData = new OptionsEntity();
            ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository();

            oData = purchaseRepository.GetOptionSettings();
            CountAndAdjustStockForm CSForm = new CountAndAdjustStockForm();

            CSForm.CountAndAdjustStockDetails = new List <CountAndAdjustStockDetailsEntity>();
            CountAndAdjustStockEntity model = new CountAndAdjustStockEntity();

            model.StockCountNo = this.StockCountNo;
            model.StockDate    = DateTime.ParseExact(this.StockDateStr, oData.DateFormat, null);

            if (IsIncreaseDecreaseStock == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.IncreaseDecreaseStock);
            }
            if (IsStockDamaged == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.StockDamaged);
            }
            if (IsStockTake == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.StockTake);
            }

            CSForm.CountAndAdjustStock = model;

            foreach (var item in PSDetailsEntity.Where(e => e.CountQty != 0))
            {
                if (item.SelectedPSID != 0)
                {
                    CountAndAdjustStockDetailsEntity pqEntity = new CountAndAdjustStockDetailsEntity();
                    pqEntity.PSID              = item.SelectedPSID;
                    pqEntity.PandSCode         = item.PandSCode;
                    pqEntity.PandSName         = item.PandSName;
                    pqEntity.SystemQty         = item.SystemQty;
                    pqEntity.CountQty          = item.CountQty;
                    pqEntity.Difference        = item.Difference;
                    pqEntity.AvgCost           = item.AvgCost;
                    pqEntity.Amount            = item.Amount;
                    pqEntity.AdjustedAmount    = Convert.ToDecimal(AdjustedAmountStr);
                    pqEntity.AdjustedAmountStr = AdjustedAmountStr;
                    if (item.SelectedPSID != 0 && Convert.ToInt32(item.SelectedPSID) > 0)
                    {
                        CSForm.CountAndAdjustStockDetails.Add(pqEntity);
                    }
                }
            }
            return(CSForm);
        }
Exemple #5
0
        public CountAndAdjustStockForm GetDataIntoModel()
        {
            CountAndAdjustStockForm CSForm = new CountAndAdjustStockForm();

            CSForm.CountAndAdjustStockDetails = new List <CountAndAdjustStockDetailsEntity>();
            CountAndAdjustStockEntity model = new CountAndAdjustStockEntity();

            model.StockCountNo = this.StockCountNo;
            model.StockDate    = this.StockDate;

            if (IsIncreaseDecreaseStock == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.IncreaseDecreaseStock);
            }
            if (IsStockDamaged == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.StockDamaged);
            }
            if (IsStockTake == true)
            {
                model.StockType = Convert.ToByte(Stock_Type.StockTake);
            }

            CSForm.CountAndAdjustStock = model;

            foreach (var item in PSDetailsEntity)
            {
                if (item.SelectedPSID != 0)
                {
                    CountAndAdjustStockDetailsEntity pqEntity = new CountAndAdjustStockDetailsEntity();
                    pqEntity.PSID              = item.SelectedPSID;
                    pqEntity.PandSCode         = item.PandSCode;
                    pqEntity.PandSName         = item.PandSName;
                    pqEntity.SystemQty         = item.SystemQty;
                    pqEntity.CountQty          = item.CountQty;
                    pqEntity.Difference        = item.Difference;
                    pqEntity.AvgCost           = item.AvgCost;
                    pqEntity.Amount            = item.Amount;
                    pqEntity.AdjustedAmount    = Convert.ToDecimal(AdjustedAmountStr);
                    pqEntity.AdjustedAmountStr = AdjustedAmountStr;
                    if (item.SelectedPSID != 0 && Convert.ToInt32(item.SelectedPSID) > 0)
                    {
                        CSForm.CountAndAdjustStockDetails.Add(pqEntity);
                    }
                }
            }
            return(CSForm);
        }
        public CountAndAdjustStockForm GetCountAndAdjustStock(string stockCountNo)
        {
            CountAndAdjustStockForm casform = new CountAndAdjustStockForm();

            try
            {
                using (SDNProductDBEntities entities = new SDNProductDBEntities())
                {
                    var pq = (from pqs in entities.StockCounts
                              where pqs.Stock_count_no == stockCountNo
                              select new CountAndAdjustStockEntity
                    {
                        StockCountNo = pqs.Stock_count_no,
                        StockDate = pqs.StockDate,
                        Type = pqs.StockType
                    }).FirstOrDefault();

                    if (pq != null)
                    {
                        casform.CountAndAdjustStock = pq;
                    }


                    var pqd = (from pqs in entities.StockCounts
                               where pqs.Stock_count_no == stockCountNo
                               select new CountAndAdjustStockDetailsEntity
                    {
                        PSID = pqs.PSID,
                        PandSCode = pqs.PandS_Code,
                        PandSName = pqs.PandS_Name,
                        SystemQty = pqs.SysQty,
                        CountQty = pqs.CountQty,
                        Difference = pqs.Difference,
                        AverageCost = pqs.Average_Cost,
                        Amount = pqs.Amount
                    }).ToList <CountAndAdjustStockDetailsEntity>();

                    if (pqd != null)
                    {
                        casform.CountAndAdjustStockDetails = pqd;
                    }

                    return(casform);
                }
            }
            catch (Exception ex) { throw ex; }
        }
Exemple #7
0
        public void GetCountAndAdjustStock(string scNo)
        {
            // Mouse.OverrideCursor = Cursors.Wait;
            CountAndAdjustStockForm pqf = casRepository.GetCountAndAdjustStock(scNo);

            this.StockCountNo = pqf.CountAndAdjustStock.StockCountNo;
            this.StockDate    = pqf.CountAndAdjustStock.StockDate;

            if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.IncreaseDecreaseStock))
            {
                IsIncreaseDecreaseStock = true;
                IsStockDamaged          = false;
                IsStockTake             = false;
            }
            else if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.StockDamaged))
            {
                IsIncreaseDecreaseStock = false;
                IsStockDamaged          = true;
                IsStockTake             = false;
            }
            else if (pqf.CountAndAdjustStock.Type == Convert.ToInt16(Stock_Type.StockTake))
            {
                IsIncreaseDecreaseStock = false;
                IsStockDamaged          = false;
                IsStockTake             = true;
            }

            this.PSDetailsEntity = new ObservableCollection <DataGridViewModel>();
            foreach (var item in pqf.CountAndAdjustStockDetails)
            {
                DataGridViewModel pqEntity = new DataGridViewModel(ProductList);
                pqEntity.SelectedPSID = item.PSID;
                pqEntity.PandSCode    = item.PandSCode;
                pqEntity.PandSName    = item.PandSName;
                pqEntity.SystemQty    = item.SystemQty;
                pqEntity.CountQty     = item.CountQty;
                pqEntity.Difference   = item.Difference;

                pqEntity.AvgCost   = Convert.ToString(item.AverageCost);
                pqEntity.Amount    = item.Amount;
                pqEntity.AmountStr = item.AmountStr;

                PSDetailsEntity.Add(pqEntity);
            }
        }
        public int UpdateCountAndAdjustStock(CountAndAdjustStockForm casForm)
        {
            try
            {
                using (SDNProductDBEntities entities = new SDNProductDBEntities())
                {
                    var data = entities.StockCounts.Where(e => e.Stock_count_no == casForm.CountAndAdjustStock.StockCountNo).ToList();
                    if (data != null)
                    {
                        foreach (var d in data)
                        {
                            ProductsAndService psOld = entities.ProductsAndServices.SingleOrDefault(e => e.ID == d.PSID);
                            if (psOld != null)
                            {
                                if (d.StockType == Convert.ToByte(Stock_Type.StockDamaged))
                                {
                                    psOld.PandS_Qty_in_stock = psOld.PandS_Qty_in_stock + Convert.ToInt32(Math.Abs(Convert.ToInt32(d.CountQty)));
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    psOld.PandS_Qty_in_stock = psOld.PandS_Qty_in_stock - d.CountQty;
                                    entities.SaveChanges();
                                }
                            }

                            var item = casForm.CountAndAdjustStockDetails.SingleOrDefault(e => e.PSID == d.PSID);
                            if (item != null)
                            {
                                //saving details entity
                                d.PandS_Code      = item.PandSCode;
                                d.PandS_Name      = item.PandSName;
                                d.SysQty          = item.SystemQty;
                                d.CountQty        = item.CountQty;
                                d.Difference      = item.Difference;
                                d.Average_Cost    = Convert.ToDecimal(item.AvgCost);
                                d.Amount          = item.Amount;
                                d.Adjusted_Amount = item.AdjustedAmount;
                                d.UpdatedBy       = 0;
                                d.UpdatedDate     = DateTime.Now;
                                entities.SaveChanges();
                            }

                            ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == d.PSID);
                            if (ps != null)
                            {
                                if (casForm.CountAndAdjustStock.StockType == Convert.ToByte(Stock_Type.StockDamaged))
                                {
                                    ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock - Convert.ToInt32(Math.Abs(Convert.ToInt32(d.CountQty)));
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock + d.CountQty;
                                    entities.SaveChanges();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(0);

                throw ex;
            }
            return(1);
        }
        public int UpdateCountAndAdjustStock(CountAndAdjustStockForm casForm)
        {
            ICountAndAdjustStockBL casBL = new CountAndAdjustStockBL();

            return(casBL.UpdateCountAndAdjustStock(casForm));
        }
        public int SaveCountAndAdjustStock(CountAndAdjustStockForm casForm)
        {
            ICountAndAdjustStockDAL casDL = new CountAndAdjustStockDAL();

            return(casDL.SaveCountAndAdjustStock(casForm));
        }