Exemplo n.º 1
0
        public void DeleteStockProcessDB(int StockProcessId)
        {
            StockProcess StockProcess = Find(StockProcessId);

            StockProcessBalance StockProcessBalance = (from p in _unitOfWork.Repository <StockProcessBalance>().Instance
                                                       where p.ProductId == StockProcess.ProductId &&
                                                       p.Dimension1Id == StockProcess.Dimension1Id &&
                                                       p.Dimension2Id == StockProcess.Dimension2Id &&
                                                       p.ProcessId == StockProcess.ProcessId &&
                                                       p.LotNo == StockProcess.LotNo &&
                                                       p.GodownId == StockProcess.GodownId &&
                                                       p.CostCenterId == StockProcess.CostCenterId
                                                       select p).FirstOrDefault();

            if (StockProcessBalance != null)
            {
                StockProcessBalance.Qty         = StockProcessBalance.Qty + StockProcess.Qty_Iss;
                StockProcessBalance.Qty         = StockProcessBalance.Qty - StockProcess.Qty_Rec;
                StockProcessBalance.ObjectState = Model.ObjectState.Modified;

                _stockProcessBalanceService.Update(StockProcessBalance);
            }
            StockProcess.ObjectState = Model.ObjectState.Deleted;

            Delete(StockProcessId);
        }
        public void UpdateStockProcessBalance(StockProcess StockProcess)
        {
            StockProcessBalance StockProcessBalance = Find(StockProcess.ProductId, StockProcess.Dimension1Id, StockProcess.Dimension2Id, StockProcess.ProcessId, StockProcess.LotNo, StockProcess.GodownId, StockProcess.CostCenterId);

            if (StockProcessBalance == null)
            {
                StockProcessBalance StockProcessBalance_NewRecord = new StockProcessBalance();

                StockProcessBalance_NewRecord.ProductId    = StockProcess.ProductId;
                StockProcessBalance_NewRecord.Dimension1Id = StockProcess.Dimension1Id;
                StockProcessBalance_NewRecord.Dimension2Id = StockProcess.Dimension2Id;
                StockProcessBalance_NewRecord.ProcessId    = StockProcess.ProcessId;
                StockProcessBalance_NewRecord.GodownId     = StockProcess.GodownId ?? 0;
                StockProcessBalance_NewRecord.CostCenterId = StockProcess.CostCenterId;
                StockProcessBalance_NewRecord.LotNo        = StockProcess.LotNo;
                if (StockProcess.Qty_Iss != 0)
                {
                    StockProcessBalance_NewRecord.Qty = -StockProcess.Qty_Iss;
                }
                if (StockProcess.Qty_Rec != 0)
                {
                    StockProcessBalance_NewRecord.Qty = StockProcess.Qty_Rec;
                }

                Create(StockProcessBalance_NewRecord);
            }
            else
            {
                StockProcessBalance.Qty = StockProcessBalance.Qty - StockProcess.Qty_Iss;
                StockProcessBalance.Qty = StockProcessBalance.Qty + StockProcess.Qty_Rec;

                StockProcessBalance.ObjectState = Model.ObjectState.Added;
                Update(StockProcessBalance);
            }
        }
Exemplo n.º 3
0
        //public StockProcess FindWithUnitOfWork(int StockHeaderId, int ProductId, DateTime DocDate, int? Dimension1Id, int? Dimension2Id, int? ProcessId, string LotNo, int GodownId, int? CostCenterId)
        //{
        //    return _unitOfWork.Repository<StockProcess>().Query().Get().Where(m => m.StockHeaderId == StockHeaderId && m.ProductId == ProductId && m.DocDate == DocDate
        //                && m.Dimension1Id == Dimension1Id && m.Dimension2Id == Dimension2Id && m.ProcessId == ProcessId && m.LotNo == LotNo && m.GodownId == GodownId
        //                 && m.CostCenterId == CostCenterId
        //                ).FirstOrDefault();
        //}


        public StockProcess Find(int StockHeaderId, int ProductId, DateTime DocDate, int?Dimension1Id, int?Dimension2Id, int?ProcessId, string LotNo, int GodownId, int?CostCenterId)
        {
            StockProcess StockProcess = (from L in _StockProcessRepository.Instance
                                         where L.StockHeaderId == StockHeaderId && L.ProductId == ProductId && L.DocDate == DocDate && L.Dimension1Id == Dimension1Id &&
                                         L.Dimension2Id == Dimension2Id && L.ProcessId == ProcessId && L.LotNo == LotNo && L.GodownId == GodownId && L.CostCenterId == CostCenterId
                                         select L).FirstOrDefault();

            return(StockProcess);
        }
Exemplo n.º 4
0
        public void DeleteStockProcess(int StockProcessId)
        {
            StockProcess StockProcess = Find(StockProcessId);

            StockProcessBalance StockProcessBalance = _stockProcessBalanceService.Find(StockProcess.ProductId, StockProcess.Dimension1Id, StockProcess.Dimension2Id, StockProcess.ProcessId, StockProcess.LotNo, StockProcess.GodownId, StockProcess.CostCenterId);

            if (StockProcessBalance != null)
            {
                StockProcessBalance.Qty = StockProcessBalance.Qty + StockProcess.Qty_Iss;
                StockProcessBalance.Qty = StockProcessBalance.Qty - StockProcess.Qty_Rec;

                _stockProcessBalanceService.Update(StockProcessBalance);
            }
            Delete(StockProcessId);
        }
Exemplo n.º 5
0
 public StockProcess Add(StockProcess pt)
 {
     _StockProcessRepository.Insert(pt);
     return(pt);
 }
Exemplo n.º 6
0
 public void Update(StockProcess pt)
 {
     pt.ObjectState = ObjectState.Modified;
     _StockProcessRepository.Update(pt);
 }
Exemplo n.º 7
0
 public void Delete(StockProcess pt)
 {
     _StockProcessRepository.Delete(pt);
 }
Exemplo n.º 8
0
 public StockProcess Create(StockProcess pt)
 {
     pt.ObjectState = ObjectState.Added;
     _StockProcessRepository.Add(pt);
     return(pt);
 }
Exemplo n.º 9
0
        public string StockProcessPostDB(ref StockProcessViewModel StockProcessViewModel)
        {
            string ErrorText = "";


            if (StockProcessViewModel.StockHeaderId == 0)
            {
                StockHeader H = new StockHeader();

                H.DocHeaderId  = StockProcessViewModel.DocHeaderId;
                H.DocTypeId    = StockProcessViewModel.DocTypeId;
                H.DocDate      = StockProcessViewModel.StockHeaderDocDate;
                H.DocNo        = StockProcessViewModel.DocNo;
                H.DivisionId   = StockProcessViewModel.DivisionId;
                H.SiteId       = StockProcessViewModel.SiteId;
                H.CurrencyId   = StockProcessViewModel.CurrencyId;
                H.PersonId     = StockProcessViewModel.PersonId;
                H.ProcessId    = StockProcessViewModel.HeaderProcessId;
                H.FromGodownId = StockProcessViewModel.HeaderFromGodownId;
                H.GodownId     = StockProcessViewModel.HeaderGodownId;
                H.Remark       = StockProcessViewModel.HeaderRemark;
                H.Status       = StockProcessViewModel.Status;
                H.CreatedBy    = StockProcessViewModel.CreatedBy;
                H.CreatedDate  = StockProcessViewModel.CreatedDate;
                H.ModifiedBy   = StockProcessViewModel.ModifiedBy;
                H.ModifiedDate = StockProcessViewModel.ModifiedDate;
                H.ObjectState  = Model.ObjectState.Added;

                _stockHeaderService.Create(H);

                StockProcessViewModel.StockHeaderId = H.StockHeaderId;
            }

            if (StockProcessViewModel.StockProcessId <= 0)
            {
                StockProcess L = new StockProcess();

                if (StockProcessViewModel.StockHeaderId != 0 && StockProcessViewModel.StockHeaderId != -1)
                {
                    L.StockHeaderId = StockProcessViewModel.StockHeaderId;
                }

                L.StockProcessId = StockProcessViewModel.StockProcessId;
                L.DocDate        = StockProcessViewModel.StockHeaderDocDate;
                L.ProductId      = StockProcessViewModel.ProductId;
                L.ProcessId      = StockProcessViewModel.ProcessId;
                L.GodownId       = StockProcessViewModel.GodownId;
                L.LotNo          = StockProcessViewModel.LotNo;
                L.CostCenterId   = StockProcessViewModel.CostCenterId;
                L.Qty_Iss        = StockProcessViewModel.Qty_Iss;
                L.Qty_Rec        = StockProcessViewModel.Qty_Rec;
                L.Rate           = StockProcessViewModel.Rate;
                L.ProductUidId   = StockProcessViewModel.ProductUidId;
                L.Remark         = StockProcessViewModel.Remark;
                L.ExpiryDate     = StockProcessViewModel.ExpiryDate;
                L.Specification  = StockProcessViewModel.Specification;
                L.Dimension1Id   = StockProcessViewModel.Dimension1Id;
                L.Dimension2Id   = StockProcessViewModel.Dimension2Id;
                L.CreatedBy      = StockProcessViewModel.CreatedBy;
                L.CreatedDate    = StockProcessViewModel.CreatedDate;
                L.ModifiedBy     = StockProcessViewModel.ModifiedBy;
                L.ModifiedDate   = StockProcessViewModel.ModifiedDate;
                L.ObjectState    = Model.ObjectState.Added;

                Create(L);


                StockProcessBalance StockProcessBalance = _stockProcessBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId);

                if (StockProcessBalance == null)
                {
                    StockProcessBalance StockProcessBalance_NewRecord = new StockProcessBalance();

                    StockProcessBalance_NewRecord.ProductId    = L.ProductId;
                    StockProcessBalance_NewRecord.Dimension1Id = L.Dimension1Id;
                    StockProcessBalance_NewRecord.Dimension2Id = L.Dimension2Id;
                    StockProcessBalance_NewRecord.ProcessId    = L.ProcessId;
                    StockProcessBalance_NewRecord.GodownId     = L.GodownId;
                    StockProcessBalance_NewRecord.CostCenterId = L.CostCenterId;
                    StockProcessBalance_NewRecord.LotNo        = L.LotNo;
                    if (L.Qty_Iss != 0)
                    {
                        StockProcessBalance_NewRecord.Qty = -L.Qty_Iss;
                    }
                    if (L.Qty_Rec != 0)
                    {
                        StockProcessBalance_NewRecord.Qty = L.Qty_Rec;
                    }
                    StockProcessBalance_NewRecord.ObjectState = Model.ObjectState.Added;

                    _stockProcessBalanceService.Create(StockProcessBalance_NewRecord);
                }
                else
                {
                    StockProcessBalance.Qty         = StockProcessBalance.Qty - L.Qty_Iss;
                    StockProcessBalance.Qty         = StockProcessBalance.Qty + L.Qty_Rec;
                    StockProcessBalance.ObjectState = Model.ObjectState.Modified;

                    _stockProcessBalanceService.Update(StockProcessBalance);
                }

                StockProcessViewModel.StockProcessId = L.StockProcessId;
            }
            else
            {
                StockProcess L = Find(StockProcessViewModel.StockProcessId);

                //To Rollback Chenges in StockProcess Balance done by old entry.
                StockProcess Temp = new StockProcess();
                Temp.ProductId    = L.ProductId;
                Temp.Dimension1Id = L.Dimension1Id;
                Temp.Dimension2Id = L.Dimension2Id;
                Temp.ProcessId    = StockProcessViewModel.ProcessId;
                Temp.GodownId     = L.GodownId;
                Temp.CostCenterId = L.CostCenterId;
                Temp.LotNo        = L.LotNo;
                Temp.Qty_Iss      = L.Qty_Iss;
                Temp.Qty_Rec      = L.Qty_Rec;
                //new StockProcessBalanceService(_unitOfWork).UpdateStockProcessBalance(Temp);
                ///////////////////////////////////
                StockProcessBalance StockProcessBalance_Old = _stockProcessBalanceService.Find(Temp.ProductId, Temp.Dimension1Id, Temp.Dimension2Id, Temp.ProcessId, Temp.LotNo, Temp.GodownId, Temp.CostCenterId);


                L.DocDate       = StockProcessViewModel.StockProcessDocDate;
                L.ProductId     = StockProcessViewModel.ProductId;
                L.ProcessId     = StockProcessViewModel.ProcessId;
                L.GodownId      = StockProcessViewModel.GodownId;
                L.LotNo         = StockProcessViewModel.LotNo;
                L.CostCenterId  = StockProcessViewModel.CostCenterId;
                L.Qty_Iss       = StockProcessViewModel.Qty_Iss;
                L.Qty_Rec       = StockProcessViewModel.Qty_Rec;
                L.Rate          = StockProcessViewModel.Rate;
                L.ExpiryDate    = StockProcessViewModel.ExpiryDate;
                L.Specification = StockProcessViewModel.Specification;
                L.Dimension1Id  = StockProcessViewModel.Dimension1Id;
                L.Dimension2Id  = StockProcessViewModel.Dimension2Id;
                L.CreatedBy     = StockProcessViewModel.CreatedBy;
                L.CreatedDate   = StockProcessViewModel.CreatedDate;
                L.ModifiedBy    = StockProcessViewModel.ModifiedBy;
                L.ModifiedDate  = StockProcessViewModel.ModifiedDate;
                L.Remark        = StockProcessViewModel.Remark;
                L.ObjectState   = Model.ObjectState.Modified;

                Update(L);

                //new StockProcessBalanceService(_unitOfWork).UpdateStockProcessBalance(L);


                StockProcessBalance StockProcessBalance_New = _stockProcessBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId);

                if (StockProcessBalance_New != null && StockProcessBalance_Old != null)
                {
                    if (StockProcessBalance_Old.StockProcessBalanceId != StockProcessBalance_New.StockProcessBalanceId)
                    {
                        if (StockProcessBalance_Old != null)
                        {
                            StockProcessBalance_Old.Qty         = StockProcessBalance_Old.Qty - Temp.Qty_Rec;
                            StockProcessBalance_Old.Qty         = StockProcessBalance_Old.Qty + Temp.Qty_Iss;
                            StockProcessBalance_Old.ObjectState = Model.ObjectState.Modified;

                            _stockProcessBalanceService.Update(StockProcessBalance_New);
                        }

                        if (StockProcessBalance_New == null)
                        {
                            StockProcessBalance StockProcessBalance_NewRecord = new StockProcessBalance();

                            StockProcessBalance_NewRecord.ProductId    = L.ProductId;
                            StockProcessBalance_NewRecord.Dimension1Id = L.Dimension1Id;
                            StockProcessBalance_NewRecord.Dimension2Id = L.Dimension2Id;
                            StockProcessBalance_NewRecord.ProcessId    = L.ProcessId;
                            StockProcessBalance_NewRecord.GodownId     = L.GodownId;
                            StockProcessBalance_NewRecord.CostCenterId = L.CostCenterId;
                            StockProcessBalance_NewRecord.LotNo        = L.LotNo;
                            if (L.Qty_Iss != 0)
                            {
                                StockProcessBalance_NewRecord.Qty = -L.Qty_Iss;
                            }
                            if (L.Qty_Rec != 0)
                            {
                                StockProcessBalance_NewRecord.Qty = L.Qty_Rec;
                            }
                            StockProcessBalance_NewRecord.ObjectState = Model.ObjectState.Added;

                            _stockProcessBalanceService.Create(StockProcessBalance_NewRecord);
                        }
                        else
                        {
                            StockProcessBalance_New.Qty         = StockProcessBalance_New.Qty - L.Qty_Iss;
                            StockProcessBalance_New.Qty         = StockProcessBalance_New.Qty + L.Qty_Rec;
                            StockProcessBalance_New.ObjectState = Model.ObjectState.Modified;

                            _stockProcessBalanceService.Update(StockProcessBalance_New);
                        }
                    }
                    else
                    {
                        StockProcessBalance_New.Qty         = StockProcessBalance_New.Qty + Temp.Qty_Iss - L.Qty_Iss;
                        StockProcessBalance_New.Qty         = StockProcessBalance_New.Qty - Temp.Qty_Rec + L.Qty_Rec;
                        StockProcessBalance_New.ObjectState = Model.ObjectState.Modified;

                        _stockProcessBalanceService.Update(StockProcessBalance_New);
                    }
                }

                StockProcessViewModel.StockProcessId = L.StockProcessId;
            }

            return(ErrorText);
        }