예제 #1
0
        public static void IncreaseStockFromSupplier(String itemNo, int quantity, String supplierCode)
        {
            LussisEntities context = new LussisEntities();

            // Get Entities
            StationeryCatalogue stationeryItem = context.StationeryCatalogues.Where(item => item.ItemNo.Equals(itemNo)).FirstOrDefault();
            Supplier            supplier       = context.Suppliers.Where(supp => supp.SupplierCode.Equals(supplierCode)).FirstOrDefault();
            StockTxnDetail      detail         = new StockTxnDetail()
            {
                AdjustQty = quantity,
                Date      = DateTime.Today,
                ItemNo    = itemNo,
                Remarks   = "Supplied by " + supplierCode,
            };

            // If entities are found, update database
            if (stationeryItem != null && supplier != null)
            {
                detail.RecordedQty        = stationeryItem.CurrentQty + detail.AdjustQty;
                stationeryItem.CurrentQty = detail.RecordedQty;
                context.StockTxnDetails.Add(detail);

                context.SaveChanges();
            }
        }
    public void updateStockTxn()
    {
        //get no of Rows
        int rowCount = ApproveInventoryAdjustmentDetailsGridView.Rows.Count;

        for (int i = 0; i < rowCount; i++)
        {
            LussisEntities context    = new LussisEntities();
            StockTxnDetail stkdetails = new StockTxnDetail();

            //get itemno to pass to controller to update stocktxndetails table
            Label  itemNoLabel = (Label)ApproveInventoryAdjustmentDetailsGridView.Rows[i].FindControl("ItemCode");
            string itemNoText  = itemNoLabel.Text;

            //get date
            DateTime getDate = DateTime.Now;

            //get adjusted qty
            Label amtAdjustedLabel = (Label)ApproveInventoryAdjustmentDetailsGridView.Rows[i].FindControl("qtyAdjustedAmt");
            int   amtAdjustedText  = Convert.ToInt32(amtAdjustedLabel.Text);

            //get Recordedqty
            int qtyAmt = (int)context.StationeryCatalogues.Where(x => x.ItemNo == itemNoText).Select(x => x.CurrentQty).First() + Convert.ToInt32(amtAdjustedText);

            //get Remarks
            Label  remarksLabel = (Label)ApproveInventoryAdjustmentDetailsGridView.Rows[i].FindControl("Remarks");
            string remarksText  = remarksLabel.Text;

            //get own Emp No
            var empNumber = Profile.EmpNo;

            stkdetails.ItemNo      = itemNoText;
            stkdetails.Date        = getDate;
            stkdetails.AdjustQty   = amtAdjustedText;
            stkdetails.RecordedQty = qtyAmt;
            stkdetails.Remarks     = remarksText;

            ApproveInventoryAdjustmentController.updateStockTransactioninDB(stkdetails);
            ApproveInventoryAdjustmentController.updateStationeryCatalogue(itemNoText, qtyAmt);
        }
    }
예제 #3
0
 public static StockTxnDetail AddStockTxn(LussisEntities context, StockTxnDetail txn)
 {
     context.StockTxnDetails.Add(txn);
     context.SaveChanges();
     return(txn);
 }
예제 #4
0
        public static bool SubmitRetrieval(int retrievalNo, List <string> deptCodeList, List <string> itemNoList, List <int> actualList)
        {
            LussisEntities context          = new LussisEntities();
            DateTime       today            = DateTime.Today;
            int            daysUntilMonday  = ((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7;
            DateTime       disbursementDate = today.Date.AddDays(daysUntilMonday);

            // Update RetrievalDate
            Retrieval retrieval = GetRetrieval(context, retrievalNo);

            retrieval.Date = DateTime.Now;

            // For each RetrievalDetail
            for (int i = 0; i < actualList.Count; i++)
            {
                string deptCode = deptCodeList[i];
                string itemNo   = itemNoList[i];
                int    actual   = actualList[i];

                // Update RetrievalDetail
                RetrievalDetail retrievalDetail = GetRetrievalDetail(context, retrievalNo, deptCode, itemNo);
                retrievalDetail.Actual = actual;

                // Update StationeryCatalogueCurrentyQty
                StationeryCatalogue stock = GetStock(context, itemNo);
                stock.CurrentQty -= actual;

                // Add StockTxnDetail
                StockTxnDetail txn = new StockTxnDetail();
                txn.ItemNo      = itemNo;
                txn.Date        = retrieval.Date;
                txn.AdjustQty   = -actual;
                txn.RecordedQty = stock.CurrentQty;
                txn.Remarks     = GetDepartment(context, deptCode).DeptName;
                txn             = AddStockTxn(context, txn);

                // Add Disbursement
                Disbursement disbursement = GetPendingDisbursement(context, deptCode, disbursementDate);
                if (disbursement == null)
                {
                    disbursement = new Disbursement();
                    disbursement.DisbursementNo    = int.MaxValue;
                    disbursement.DeptCode          = deptCode;
                    disbursement.DisbursementDate  = disbursementDate;
                    disbursement.RepEmpNo          = GetDepartment(context, deptCode).RepEmpNo;
                    disbursement.CollectionPointNo = GetDepartment(context, deptCode).CollectionPointNo;
                    disbursement.Pin    = new Random().Next(10000, 99999);
                    disbursement.Status = "Pending";
                    disbursement        = AddDisbursement(context, disbursement);
                }

                // Add DisbursementDetail
                DisbursementDetail disbursementDetail = new DisbursementDetail();
                disbursementDetail.DisbursementNo = disbursement.DisbursementNo;
                disbursementDetail.ItemNo         = itemNo;
                disbursementDetail.Needed         = retrievalDetail.Needed + retrievalDetail.BackLogQty;
                disbursementDetail.Promised       = actual;
                disbursementDetail.Received       = actual;
                disbursementDetail = AddDisbursementDetail(context, disbursementDetail);
            }

            context.SaveChanges();
            return(true);
        }