void MaterialRequestEvents__onLineDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            ApplicationDbContext DbContext = new ApplicationDbContext();

            var ReqHeader = (from p in DbContext.RequisitionHeader
                             where p.RequisitionHeaderId == EventArgs.DocId
                             select p
                             ).FirstOrDefault();

            DbContext.Dispose();

            if (ReqHeader.CostCenterId.HasValue)
            {
                var CostCenterStatus = (from p in db.CostCenterStatusExtended
                                        where p.CostCenterId == ReqHeader.CostCenterId
                                        select p).FirstOrDefault();

                if (CostCenterStatus != null)
                {
                    CostCenterStatus.RequisitionProductCount = (CostCenterStatus.RequisitionProductCount ?? 0) - 1;
                    CostCenterStatus.ObjectState             = Model.ObjectState.Modified;
                    db.CostCenterStatusExtended.Add(CostCenterStatus);
                }
            }
        }
        void MaterialRequestEvents__onLineSaveBulk(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            var Temp = db.RequisitionLine.Local.Where(m => m.RequisitionHeaderId == EventArgs.DocId).ToList();

            int Count = 0;

            if (Temp != null && Temp.Count > 0)
            {
                Count = Temp.Count;
            }

            ApplicationDbContext DbContext = new ApplicationDbContext();

            var ReqHeader = (from p in DbContext.RequisitionHeader
                             where p.RequisitionHeaderId == EventArgs.DocId
                             select p
                             ).FirstOrDefault();

            DbContext.Dispose();


            if (ReqHeader.CostCenterId.HasValue)
            {
                var CostCenterStatus = (from p in db.CostCenterStatusExtended
                                        where p.CostCenterId == ReqHeader.CostCenterId
                                        select p).FirstOrDefault();

                if (CostCenterStatus != null)
                {
                    CostCenterStatus.RequisitionProductCount = (CostCenterStatus.RequisitionProductCount ?? 0) + Count;
                    CostCenterStatus.ObjectState             = Model.ObjectState.Modified;
                    db.CostCenterStatusExtended.Add(CostCenterStatus);
                }
            }
        }
        void StockReceiveEvents__onLineSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            var Temp = db.StockLine.Local.Where(m => m.StockLineId == EventArgs.DocLineId).FirstOrDefault();

            ApplicationDbContext DbContext = new ApplicationDbContext();

            var StockHeader = (from p in DbContext.StockHeader
                               where p.StockHeaderId == EventArgs.DocId
                               select p
                               ).FirstOrDefault();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.MaterialReturnFromWeaving
                           select p).FirstOrDefault();

            if (DocType != null)
            {
                var ReceiveLineCostCenterRecords = (from p in DbContext.StockLine
                                                    join t in DbContext.StockHeader on p.StockHeaderId equals t.StockHeaderId
                                                    where p.CostCenterId == Temp.CostCenterId && t.DocTypeId == DocType.DocumentTypeId &&
                                                    p.StockLineId != EventArgs.DocLineId
                                                    select p).ToList();

                ReceiveLineCostCenterRecords.Add(Temp);

                var ReceiveProductCount = (from p in ReceiveLineCostCenterRecords
                                           select p.RequisitionLineId).Distinct().Count();

                DbContext.Dispose();


                if (StockHeader.DocTypeId == DocType.DocumentTypeId && Temp.Qty != 0)
                {
                    if (Temp.CostCenterId.HasValue)
                    {
                        var CostCenterStatus = (from p in db.CostCenterStatusExtended
                                                where p.CostCenterId == Temp.CostCenterId
                                                select p).FirstOrDefault();

                        if (CostCenterStatus != null && EventArgs.DocLineId <= 0)
                        {
                            CostCenterStatus.MaterialReturnQty          = ReceiveLineCostCenterRecords.Select(m => m.Qty).Sum();
                            CostCenterStatus.MaterialReturnDate         = StockHeader.DocDate;
                            CostCenterStatus.MaterialReturnProductCount = ReceiveProductCount;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                        else if (CostCenterStatus != null && EventArgs.DocLineId > 0)
                        {
                            CostCenterStatus.MaterialReturnQty  = ReceiveLineCostCenterRecords.Select(m => m.Qty).Sum();
                            CostCenterStatus.MaterialReturnDate = StockHeader.DocDate;
                            //CostCenterStatus.MaterialReturnProductCount = (CostCenterStatus.MaterialReturnProductCount ?? 0) + 1;
                            CostCenterStatus.MaterialIssueProductCount = ReceiveProductCount;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                    }
                }
            }
        }
Beispiel #4
0
        void JobConsumptionEvents__onLineDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            ApplicationDbContext DbContext = new ApplicationDbContext();

            var Temp = DbContext.StockLine.Where(m => m.StockLineId == EventArgs.DocLineId).FirstOrDefault();

            var StockHeader = DbContext.StockHeader.Find(Temp.StockHeaderId);
            var DocType     = (from p in DbContext.DocumentType
                               where p.DocumentTypeName == TransactionDoctypeConstants.WeavingConsumptionAdjustment
                               select p).FirstOrDefault();

            DbContext.Dispose();

            if (DocType != null)
            {
                if (StockHeader.DocTypeId == DocType.DocumentTypeId && Temp.Qty != 0)
                {
                    if (Temp.CostCenterId.HasValue)
                    {
                        var CostCenterStatus = db.CostCenterStatusExtended.Find(Temp.CostCenterId);

                        if (CostCenterStatus != null)
                        {
                            CostCenterStatus.ConsumptionAdjustmentQty  = (CostCenterStatus.ConsumptionAdjustmentQty ?? 0) - Temp.Qty;
                            CostCenterStatus.ConsumptionAdjustmentDate = StockHeader.DocDate;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                    }
                }
            }
        }
Beispiel #5
0
        void StockHeaderEvents__onHeaderDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            ApplicationDbContext DbContext = new ApplicationDbContext();

            var Temp          = DbContext.StockLine.Where(m => m.StockHeaderId == EventArgs.DocId).ToList();
            var CostCenterIds = Temp.Select(m => m.CostCenterId).ToArray();

            var StockHeader = (from p in DbContext.StockHeader
                               where p.StockHeaderId == EventArgs.DocId
                               select p
                               ).FirstOrDefault();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.MaterialIssueForWeaving
                           select p).FirstOrDefault();

            var IssueLineCostCenterRecords = (from p in DbContext.StockLine
                                              join t in DbContext.StockHeader on p.StockHeaderId equals t.StockHeaderId
                                              where CostCenterIds.Contains(p.CostCenterId) && t.DocTypeId == DocType.DocumentTypeId &&
                                              p.StockHeaderId != EventArgs.DocId
                                              select p).ToList();


            var IssueProductCount = (from p in IssueLineCostCenterRecords
                                     group p by p.CostCenterId into g
                                     select g).ToList();

            DbContext.Dispose();

            if (StockHeader.DocTypeId == DocType.DocumentTypeId)
            {
                var CostCenterRecords = (from p in db.CostCenterStatusExtended
                                         where CostCenterIds.Contains(p.CostCenterId)
                                         select p).ToList();

                var GroupedTemp = (from p in Temp
                                   group p by new { p.CostCenterId } into g
                                   select g).ToList();

                foreach (var item in GroupedTemp)
                {
                    if (StockHeader.DocTypeId == DocType.DocumentTypeId && item.Sum(m => m.Qty) != 0)
                    {
                        if (item.Max(m => m.CostCenterId).HasValue)
                        {
                            var CostCenterStatus = (CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId))).FirstOrDefault();

                            if (CostCenterStatus != null)
                            {
                                CostCenterStatus.MaterialIssueQty          = (CostCenterStatus.MaterialIssueQty ?? 0) - item.Sum(m => m.Qty);
                                CostCenterStatus.MaterialIssueDate         = StockHeader.DocDate;
                                CostCenterStatus.MaterialIssueProductCount = (IssueProductCount.Count == 0) ? 0 : IssueProductCount.Where(m => m.Key == CostCenterStatus.CostCenterId).FirstOrDefault().Select(m => m.RequisitionLineId).Distinct().Count();
                                CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                                db.CostCenterStatusExtended.Add(CostCenterStatus);
                            }
                        }
                    }
                }
            }
        }
 public static void onHeaderReviewEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_onHeaderReview != null)
     {
         _onHeaderReview(sender, Args, ref db);
     }
 }
 public static void afterHeaderSaveEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_afterHeaderSave != null)
     {
         _afterHeaderSave(sender, Args, ref db);
     }
 }
 public static void afterLineSaveBulkEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_afterLineSaveBulk != null)
     {
         _afterLineSaveBulk(sender, Args, ref db);
     }
 }
Beispiel #9
0
        void CurrentStockViewModel_StockUpdated(object sender, StockEventArgs e)
        {
            if (!e.IsNew)
            {
                Part stock = _stocks.Single(item => item.Id == e.Stock.Id);
                if (stock != null)
                {
                    stock.Type           = e.Stock.Type;
                    stock.Number         = e.Stock.Number;
                    stock.Description    = e.Stock.Description;
                    stock.IsOwnMake      = e.Stock.IsOwnMake;
                    stock.Length         = e.Stock.Length;
                    stock.OwnCost        = e.Stock.OwnCost;
                    stock.ComponentsCost = e.Stock.ComponentsCost;
                    stock.Count          = e.Stock.Count;
                    stock.CountDate      = e.Stock.CountDate;
                    stock.OnOrder        = e.Stock.OnOrder;
                    stock.Notes          = e.Stock.Notes;
                }
            }
            else
            {
                _stocks.Add(new Part(e.Stock));
            }

            CurrentStockViewModel = null;
        }
 public static void onLineDeleteEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_onLineDelete != null)
     {
         _onLineDelete(sender, Args, ref db);
     }
 }
 void MaterialRequestCancelEvents__onHeaderSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     //CostCenterStatus Temp = new CostCenterStatus();
     //var MaterialRequestCancel = db.MaterialRequestCancelHeader.Local.Where(m => m.MaterialRequestCancelHeaderId == EventArgs.DocId).FirstOrDefault();
     //Temp.CostCenterId = db.CostCenter.Local.Where(m => m.CostCenterId == MaterialRequestCancel.CostCenterId).FirstOrDefault().CostCenterId;
     //Temp.ObjectState = Model.ObjectState.Added;
     //db.CostCenterStatus.Add(Temp);
 }
Beispiel #12
0
 void JobConsumptionEvents__onHeaderSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     //CostCenterStatus Temp = new CostCenterStatus();
     //var JobConsumption = db.JobConsumptionHeader.Local.Where(m => m.JobConsumptionHeaderId == EventArgs.DocId).FirstOrDefault();
     //Temp.CostCenterId = db.CostCenter.Local.Where(m => m.CostCenterId == JobConsumption.CostCenterId).FirstOrDefault().CostCenterId;
     //Temp.ObjectState = Model.ObjectState.Added;
     //db.CostCenterStatus.Add(Temp);
 }
 void StockProcessTransferEvents__onHeaderSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     //CostCenterStatus Temp = new CostCenterStatus();
     //var StockProcessTransfer = db.StockProcessTransferHeader.Local.Where(m => m.StockProcessTransferHeaderId == EventArgs.DocId).FirstOrDefault();
     //Temp.CostCenterId = db.CostCenter.Local.Where(m => m.CostCenterId == StockProcessTransfer.CostCenterId).FirstOrDefault().CostCenterId;
     //Temp.ObjectState = Model.ObjectState.Added;
     //db.CostCenterStatus.Add(Temp);
 }
Beispiel #14
0
        void RateConversionEvents__onHeaderSubmit(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            var StockHeader = db.StockHeader.Local.Where(m => m.StockHeaderId == EventArgs.DocId).FirstOrDefault();
            var Temp        = db.Ledger.Local.Where(m => m.LedgerHeaderId == StockHeader.LedgerHeaderId).ToList();

            ApplicationDbContext DbContext = new ApplicationDbContext();

            //var LedgerHeader = (from p in DbContext.LedgerHeader
            //                   where p.LedgerHeaderId == EventArgs.DocId
            //                   select p
            //                ).FirstOrDefault();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.RateConversion
                           select p).FirstOrDefault();

            var CostCenterIds = Temp.Select(m => m.CostCenterId).ToArray();

            var LedgersForCostCenters = (from p in DbContext.Ledger
                                         join t in DbContext.LedgerHeader on p.LedgerHeaderId equals t.LedgerHeaderId
                                         where CostCenterIds.Contains(p.CostCenterId) && p.LedgerHeaderId != StockHeader.LedgerHeaderId &&
                                         t.DocTypeId == DocType.DocumentTypeId && p.CostCenterId != null
                                         group p by p.CostCenterId into g
                                         select g).ToList();


            DbContext.Dispose();

            var GroupedTemp = (from p in Temp
                               where p.CostCenterId != null
                               group p by p.CostCenterId
                               into g
                               select g).ToList();


            if (DocType.DocumentTypeId == StockHeader.DocTypeId)
            {
                var CostCenterREcords = (from p in db.CostCenterStatusExtended
                                         where CostCenterIds.Contains(p.CostCenterId)
                                         select p).ToList();

                foreach (var item in GroupedTemp)
                {
                    if (item.Max(m => m.CostCenterId).HasValue)
                    {
                        var CostCenterStatus = CostCenterREcords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId)).FirstOrDefault();

                        var ExistingLedgers = LedgersForCostCenters.Where(m => m.Key == item.Key).FirstOrDefault();

                        CostCenterStatus.RateSettlementAmount = ((ExistingLedgers == null) ? 0 : ExistingLedgers.Select(m => m.AmtDr - m.AmtCr).Sum())
                                                                + item.Select(m => m.AmtDr - m.AmtCr).Sum();

                        CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                        db.CostCenterStatusExtended.Add(CostCenterStatus);
                    }
                }
            }
        }
Beispiel #15
0
        public void OnQueueCallBack(StockEventArgs e)
        {
            EventHandler <StockEventArgs> handler = QueueCallBack;

            if (null != handler)
            {
                handler(this, e);
            }
        }
 public static bool beforeLineSaveBulkEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_beforeLineSaveBulk != null)
     {
         return(_beforeLineSaveBulk(sender, Args, ref db));
     }
     else
     {
         return(true);
     }
 }
 public static bool beforeHeaderDeleteEvent(object sender, StockEventArgs Args, ref ApplicationDbContext db)
 {
     if (_beforeHeaderDelete != null)
     {
         return(_beforeHeaderDelete(sender, Args, ref db));
     }
     else
     {
         return(true);
     }
 }
Beispiel #18
0
        void RateConversionEvents__onHeaderDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            ApplicationDbContext DbContext = new ApplicationDbContext();

            var Temp = DbContext.StockLine.Where(m => m.StockHeaderId == EventArgs.DocId).ToList();

            var StockHeader = DbContext.StockHeader.Find(EventArgs.DocId);

            var Ledgers = (from p in DbContext.Ledger
                           where p.LedgerHeaderId == StockHeader.LedgerHeaderId && p.CostCenterId != null
                           group p by p.CostCenterId into g
                           select g).ToList();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.RateConversion
                           select p).FirstOrDefault();

            DbContext.Dispose();


            if (StockHeader.DocTypeId == DocType.DocumentTypeId)
            {
                var CostCenterIds = Temp.Select(m => m.CostCenterId).ToArray();

                var CostCenterRecords = (from p in db.CostCenterStatusExtended
                                         where CostCenterIds.Contains(p.CostCenterId)
                                         select p).ToList();

                var GroupedTemp = (from p in Temp
                                   group p by new { p.CostCenterId } into g
                                   select g).ToList();

                foreach (var item in GroupedTemp)
                {
                    if (StockHeader.DocTypeId == DocType.DocumentTypeId && item.Sum(m => m.Qty) != 0)
                    {
                        if (item.Max(m => m.CostCenterId).HasValue)
                        {
                            var CostCenterStatus = (CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId))).FirstOrDefault();
                            var TempLedgers      = Ledgers.Where(m => m.Key == CostCenterStatus.CostCenterId).FirstOrDefault();
                            if (CostCenterStatus != null)
                            {
                                CostCenterStatus.RateSettlementQty    = (CostCenterStatus.RateSettlementQty ?? 0) - item.Sum(m => m.Qty);
                                CostCenterStatus.RateSettlementDate   = StockHeader.DocDate;
                                CostCenterStatus.RateSettlementAmount = (CostCenterStatus.RateSettlementAmount ?? 0) - ((TempLedgers == null) ? 0 : TempLedgers.Select(m => m.AmtDr - m.AmtCr).Sum());
                                CostCenterStatus.ObjectState          = Model.ObjectState.Modified;
                                db.CostCenterStatusExtended.Add(CostCenterStatus);
                            }
                        }
                    }
                }
            }
        }
Beispiel #19
0
 public void printStock(string stockName, int currentValue, int numberChanges)
 {
     if (stockEvent != null)
     {
         StockEventArgs e = new StockEventArgs();
         e.stockName     = stockName;
         e.currentValue  = currentValue;
         e.numberChanges = numberChanges;
         // raises event when printStock is called
         stockEvent?.Invoke(this, e);
     }
 }
Beispiel #20
0
        void JobConsumptionEvents__onLineSaveBulk(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            var Temp = db.StockLine.Local.Where(m => m.StockHeaderId == EventArgs.DocId).ToList();

            ApplicationDbContext DbContext = new ApplicationDbContext();

            var StockHeader = (from p in DbContext.StockHeader
                               where p.StockHeaderId == EventArgs.DocId
                               select p
                               ).FirstOrDefault();

            var DocType = (from p in db.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.WeavingConsumptionAdjustment
                           select p).FirstOrDefault();

            DbContext.Dispose();

            if (DocType != null)
            {
                if (StockHeader.DocTypeId == DocType.DocumentTypeId)
                {
                    var CostCenterIds     = Temp.Select(m => m.CostCenterId).ToArray();
                    var CostCenterRecords = (from p in db.CostCenterStatusExtended
                                             where CostCenterIds.Contains(p.CostCenterId)
                                             select p).ToList();

                    var GroupedTemp = (from p in Temp
                                       where p.CostCenterId != null
                                       group p by p.CostCenterId into g
                                       select g).ToList();

                    foreach (var item in GroupedTemp)
                    {
                        if (StockHeader.DocTypeId == DocType.DocumentTypeId && item.Sum(m => m.Qty) != 0)
                        {
                            if (item.Max(m => m.CostCenterId).HasValue)
                            {
                                var CostCenterStatus = (CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId))).FirstOrDefault();

                                if (CostCenterStatus != null)
                                {
                                    CostCenterStatus.ConsumptionAdjustmentQty  = (CostCenterStatus.ConsumptionAdjustmentQty ?? 0) + item.Sum(m => m.Qty);
                                    CostCenterStatus.ConsumptionAdjustmentDate = StockHeader.DocDate;
                                    CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                                    db.CostCenterStatusExtended.Add(CostCenterStatus);
                                }
                            }
                        }
                    }
                }
            }
        }
        void StockIssueEvents__onLineDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            ApplicationDbContext DbContext = new ApplicationDbContext();

            var Temp = DbContext.StockLine.Where(m => m.StockLineId == EventArgs.DocLineId).FirstOrDefault();

            var StockHeader = (from p in DbContext.StockHeader
                               where p.StockHeaderId == Temp.StockHeaderId
                               select p
                               ).FirstOrDefault();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.MaterialIssueForWeaving
                           select p).FirstOrDefault();

            if (DocType != null)
            {
                var IssueLineCostCenterRecords = (from p in DbContext.StockLine
                                                  join t in DbContext.StockHeader on p.StockHeaderId equals t.StockHeaderId
                                                  where p.CostCenterId == Temp.CostCenterId && t.DocTypeId == DocType.DocumentTypeId &&
                                                  p.StockLineId != EventArgs.DocLineId
                                                  select p).ToList();


                var IssueProductCount = (from p in IssueLineCostCenterRecords
                                         select p.RequisitionLineId).Distinct().Count();

                DbContext.Dispose();



                if (StockHeader.DocTypeId == DocType.DocumentTypeId && Temp.Qty != 0)
                {
                    if (Temp.CostCenterId.HasValue)
                    {
                        var CostCenterStatus = (from p in db.CostCenterStatusExtended
                                                where p.CostCenterId == Temp.CostCenterId
                                                select p).FirstOrDefault();

                        if (CostCenterStatus != null)
                        {
                            CostCenterStatus.MaterialIssueQty          = (CostCenterStatus.MaterialIssueQty ?? 0) - Temp.Qty;
                            CostCenterStatus.MaterialIssueDate         = StockHeader.DocDate;
                            CostCenterStatus.MaterialIssueProductCount = IssueProductCount;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                    }
                }
            }
        }
Beispiel #22
0
        /*
         *              void OnAddProductTreeCommand(object arg)
         *              {
         *                  CurrentPartViewModel = new EditPartViewModel(_serviceFactory, new Part());
         *                  CurrentPartViewModel.PartUpdated += CurrentPartViewModel_PartUpdated;
         *                  CurrentPartViewModel.CancelEditPart += CurrentPartViewModel_CancelEvent;
         *
         *                  if (OpenEditPartWindow != null) OpenEditPartWindow(this, CurrentPartViewModel);
         *              }
         */
        void CurrentStockViewModel_StockUpdated(object sender, StockEventArgs e)
        {
            if (!e.IsNew)
            {
                //ToDo This doesn't update UI
                UpdateProductTree(_productTree, e.Stock);
            }
            else
            {
                //_stocks.Add(new Part(e.Stock));
            }

            CurrentStockViewModel = null;
        }
Beispiel #23
0
        void JobConsumptionEvents__onLineSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
        {
            var Temp = db.StockLine.Local.Where(m => m.StockLineId == EventArgs.DocLineId).FirstOrDefault();

            ApplicationDbContext DbContext = new ApplicationDbContext();

            var StockHeader = (from p in DbContext.StockHeader
                               where p.StockHeaderId == Temp.StockHeaderId
                               select p
                               ).FirstOrDefault();

            var DocType = (from p in DbContext.DocumentType
                           where p.DocumentTypeName == TransactionDoctypeConstants.WeavingConsumptionAdjustment
                           select p).FirstOrDefault();

            DbContext.Dispose();

            if (DocType != null)
            {
                if (StockHeader.DocTypeId == DocType.DocumentTypeId && Temp.Qty != 0)
                {
                    if (Temp.CostCenterId.HasValue)
                    {
                        var CostCenterStatus = db.CostCenterStatusExtended.Find(Temp.CostCenterId);

                        if (CostCenterStatus != null && EventArgs.DocLineId <= 0)
                        {
                            CostCenterStatus.ConsumptionAdjustmentQty  = (CostCenterStatus.ConsumptionAdjustmentQty ?? 0) + Temp.Qty;
                            CostCenterStatus.ConsumptionAdjustmentDate = StockHeader.DocDate;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                        else if (CostCenterStatus != null && EventArgs.DocLineId > 0)
                        {
                            var IssueLineCostCenterRecords = (from p in db.StockLine
                                                              join t in db.StockHeader on p.StockHeaderId equals t.StockHeaderId
                                                              where p.CostCenterId == Temp.CostCenterId && t.DocTypeId == DocType.DocumentTypeId &&
                                                              p.StockLineId != EventArgs.DocLineId
                                                              select p).ToList();

                            CostCenterStatus.ConsumptionAdjustmentQty  = IssueLineCostCenterRecords.Select(m => m.Qty).Sum() + Temp.Qty;
                            CostCenterStatus.ConsumptionAdjustmentDate = StockHeader.DocDate;
                            CostCenterStatus.ObjectState = Model.ObjectState.Modified;
                            db.CostCenterStatusExtended.Add(CostCenterStatus);
                        }
                    }
                }
            }
        }
Beispiel #24
0
        private void OnOutHouseByHand()
        {
            if (this.eventOutHouseByHand != null && this.dgv_StockQuery.CurrentRow != null)
            {
                long[] stockIDArr = new long[this.dgv_StockQuery.SelectedRows.Count];
                EnumProductStatus[] enumProductStatusArr = new EnumProductStatus[stockIDArr.Length];
                EnumGSRunStatus[]   gsRunStatusArr       = new EnumGSRunStatus[stockIDArr.Length];
                EnumGSStoreStatus[] gsStoreStatusArr     = new EnumGSStoreStatus[stockIDArr.Length];
                EnumTaskCategory[]  GSTaskTypeArr        = new EnumTaskCategory[stockIDArr.Length];

                for (int i = 0; i < this.dgv_StockQuery.SelectedRows.Count; i++)
                {
                    DataGridViewRow rowSelect = this.dgv_StockQuery.SelectedRows[i];// 从大到小
                    if (rowSelect != null)
                    {
                        long   stockID       = long.Parse(rowSelect.Cells["StockID"].Value.ToString());
                        string productStatus = rowSelect.Cells["ProductStatus"].Value.ToString();
                        string gsRunStatus   = rowSelect.Cells["gs_RunStatus"].Value.ToString();
                        string gsStoreStatus = rowSelect.Cells["gs_StoreStatus"].Value.ToString();
                        string gsTaskType    = rowSelect.Cells["gsTaskType"].Value.ToString();
                        if (stockID != 0 && productStatus != "")
                        {
                            stockIDArr[i]           = stockID;
                            enumProductStatusArr[i] = (EnumProductStatus)Enum.Parse(typeof(EnumProductStatus), productStatus);
                            gsRunStatusArr[i]       = (EnumGSRunStatus)Enum.Parse(typeof(EnumGSRunStatus), gsRunStatus);
                            gsStoreStatusArr[i]     = (EnumGSStoreStatus)Enum.Parse(typeof(EnumGSStoreStatus), gsStoreStatus);
                            GSTaskTypeArr[i]        = (EnumTaskCategory)Enum.Parse(typeof(EnumTaskCategory), gsTaskType);
                        }
                    }
                }

                StockEventArgs stockArgs = new StockEventArgs();
                stockArgs.ProductStatusArr = enumProductStatusArr;
                stockArgs.StockIDArr       = stockIDArr;
                stockArgs.GsRunStatusArr   = gsRunStatusArr;
                stockArgs.GsStoreStatusArr = gsStoreStatusArr;
                stockArgs.GSTaskTypeArr    = GSTaskTypeArr;

                this.eventOutHouseByHand.Invoke(this, stockArgs);
            }
            else
            {
                MessageBox.Show("请选择要出库的货位!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #25
0
        private void OnPriceChange(object sender, StockEventArgs e)
        {
            string messageItem = $"Stock{e.Stock.Symbol} price has changed to {e.Stock.Price} at {e.Stock.LastUpdated:yyyy-MM-dd HH:mm:ss.fff}";

            //update UI in thread safe way
            if (lstBoxStocks.InvokeRequired)
            {
                lstBoxStocks.Invoke(new MethodInvoker(delegate
                {
                    lstBoxStocks.Items.Add(messageItem);
                }));
            }
            else
            {
                // This is the UI thread so perform the task.
                lstBoxStocks.Items.Add(messageItem);
            }
        }
Beispiel #26
0
        private void RegisterRabbitConfig()
        {
            var correlationId = Guid.NewGuid().ToString();

            _properties.CorrelationId = correlationId;
            _properties.ReplyTo       = _callbackQueue;

            _consumer.Received += (model, ea) =>
            {
                var body     = ea.Body.ToArray();
                var response = Encoding.UTF8.GetString(body);

                var stockEventArg = new StockEventArgs
                {
                    StockInfo = response
                };

                if (ea.BasicProperties.CorrelationId == correlationId)
                {
                    OnQueueCallBack(stockEventArg);
                }
            };
        }
Beispiel #27
0
 bool JobConsumptionEvents__beforeHeaderSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Beispiel #28
0
 void JobConsumptionEvents__afterHeaderDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Beispiel #29
0
 void RateConversionEvents__afterHeaderSave(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Beispiel #30
0
 bool RateConversionEvents__beforeHeaderDelete(object sender, StockEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }