Exemple #1
0
        public void PopulateDataGrid(StockCreateEventArgs e)
        {
            if (StockInDetailList != null)
            {
                dataTable.Rows.Clear();
                for (int i = 0; i < StockInDetailList.Count; i++)
                {
                    var stockInDetail = (StockInDetail)StockInDetailList[i];
                    dataTable.Rows.Add(AddBlockToDataGrid(stockInDetail, e.StockList, e.ReturnProductList, i));
                }
                dgvStockInDetail.DataSource = dataTable;
                dgvStockInDetail.Refresh();

                dgvStockInDetail.Columns[BLOCK_ID_POS].Width = 70;
                dgvStockInDetail.Columns[PRODUCT_MASTER_ID_POS].Width = 80;
                dgvStockInDetail.Columns[STOCK_IN_DATE_ID_POS].Width = 80;
                dgvStockInDetail.Columns[MAX_COLUMN - 1].Visible = false;

                for (int i = 0; i < dgvStockInDetail.Columns.Count; i++)
                {
                    if (i != ACCEPT_QUANTITY_POS && i != RETURN_QUANTITY_POS)
                    {
                        dgvStockInDetail.Columns[i].ReadOnly = true;
                    }
                }
            }
        }
        public void stockCreateView_SearchStockInDetailEvent(object sender, StockCreateEventArgs e)
        {
            // Search StockInDetail
            var subCriteria = new SubObjectCriteria("StockIn");
            subCriteria.AddGreaterOrEqualsCriteria("StockInDate", DateUtility.ZeroTime(e.ImportDateFrom));
            subCriteria.AddLesserOrEqualsCriteria("StockInDate", DateUtility.MaxTime(e.ImportDateTo));
            subCriteria.AddEqCriteria("DelFlg", (long)0);

            var criteria = new ObjectCriteria();
            criteria.AddEqCriteria("DelFlg", (long)0);
            criteria.AddEqCriteria("StockInType", (Int64)e.StockInStatus);
            criteria.AddSubCriteria("StockIn", subCriteria);
            IList stockInDetailList = StockInDetailLogic.FindAll(criteria);
            e.StockInDetailList = stockInDetailList;

            // Search Stock
            if (stockInDetailList.Count > 0)
            {
                // build the Product id list
                IList productIdList = new ArrayList();
                foreach (StockInDetail stockInDetail in stockInDetailList)
                {
                    productIdList.Add(stockInDetail.Product.ProductId);
                }
                criteria = new ObjectCriteria();
                criteria.AddSearchInCriteria("Product.ProductId", productIdList);
                e.StockList = StockLogic.FindAll(criteria);

                criteria = new ObjectCriteria();
                criteria.AddSearchInCriteria("ProductId", productIdList);
                e.ReturnProductList = ReturnProductLogic.FindAll(criteria);
            }
        }
Exemple #3
0
 private void btnSearch_Click(object sender, EventArgs e)
 {
     var eventArgs = new StockCreateEventArgs
                         {
                             ImportDateFrom = chkImportDateFrom.Checked ? dtpImportDateFrom.Value : DateTime.MinValue,
                             ImportDateTo = chkImportDateTo.Checked ? dtpImportDateTo.Value : DateTime.MaxValue,
                             StockInStatus = cbbStatus.SelectedIndex == 0 ? StockInDetail.StockInStatus.IMPORTED : StockInDetail.StockInStatus.RETURNED_FROM_DEPT
                         };
     EventUtility.fireEvent(SearchStockInDetailEvent, this, eventArgs);
     StockInDetailList = eventArgs.StockInDetailList;
     PopulateDataGrid(eventArgs);
     _currentEventArgs = eventArgs;
 }
Exemple #4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            // validate data
            if (!ValidateData())
            {
                return;
            }

            var createdStockList = new List<Stock>();
            var createReturnProductList = new List<ReturnProduct>();
            var stockInDetailList = new List<StockInDetail>();

            for (int i = 0; i < dgvStockInDetail.RowCount; i++)
            {
                var index = NumberUtility.ParseInt(dgvStockInDetail[MAX_COLUMN - 1, i].Value);
                var acceptQty = NumberUtility.ParseLong(dgvStockInDetail[ACCEPT_QUANTITY_POS, i].Value);
                var returnQty = NumberUtility.ParseLong(dgvStockInDetail[RETURN_QUANTITY_POS, i].Value);
                var stockInDetail = (StockInDetail)StockInDetailList[index];

                // approve for product
                if (acceptQty != 0)
                {
                    Stock currentStock = null;
                    if (_currentEventArgs != null && _currentEventArgs.StockList != null)
                    {
                        foreach (Stock stock in _currentEventArgs.StockList)
                        {
                            if (stock.Product.ProductId == stockInDetail.Product.ProductId)
                            {
                                currentStock = stock;
                                currentStock.Quantity += acceptQty;
                                break;
                            }
                        }
                        if (currentStock == null)
                        {
                            currentStock = new Stock
                                               {
                                                   Quantity = acceptQty,
                                                   Product = ((StockInDetail)StockInDetailList[index]).Product
                                               };
                        }
                        createdStockList.Add(currentStock);
                    }
                }
                // return the product
                if (returnQty != 0)
                {
                    var returnProduct = new ReturnProduct
                                            {
                                                ProductId = ((StockInDetail)StockInDetailList[index]).Product.ProductId,
                                                Quantity = returnQty
                                            };

                    createReturnProductList.Add(returnProduct);
                }
                if (stockInDetail.Quantity == acceptQty + returnQty)
                {
                    stockInDetail.StockInType = (long)StockInDetail.StockInStatus.COMPLETELY_STOCKED;
                    stockInDetailList.Add(stockInDetail);
                }
            }
            if (createdStockList.Count > 0 || createReturnProductList.Count > 0)
            {
                var eventArgs = new StockCreateEventArgs { CreateStockList = createdStockList, CreateReturnProductList = createReturnProductList, UpdateStockInDetailList = stockInDetailList };
                EventUtility.fireEvent(CreateStockEvent, this, eventArgs);

                EventUtility.fireEvent(SearchStockInDetailEvent, this, _currentEventArgs);
                StockInDetailList = _currentEventArgs.StockInDetailList;
                PopulateDataGrid(_currentEventArgs);
            }
        }
 public void stockCreateView_CreateStockEvent(object sender, StockCreateEventArgs e)
 {
     StockLogic.CreateOrUpdateStock(e.CreateStockList, e.CreateReturnProductList, e.UpdateStockInDetailList);
 }