Exemple #1
0
        //public void SaveStockGrade(StockGradeDTO stockGradeDTO)
        //{
        //    var stockGrade = new StockGrade()
        //    {
        //        StockId = stockGradeDTO.StockId,
        //        GradeId = stockGradeDTO.GradeId,
        //        TimeStamp = DateTime.Now
        //    };
        //    this.UnitOfWork.Get<StockGrade>().AddNew(stockGrade);
        //    this.UnitOfWork.SaveChanges();
        //}

        public void SaveStockGradeSize(StockGradeSizeDTO stockGradeSizeDTO)
        {
            var stockGradeSize = new StockGradeSize()
            {
                StockId   = stockGradeSizeDTO.StockId,
                GradeId   = stockGradeSizeDTO.GradeId,
                SizeId    = stockGradeSizeDTO.SizeId,
                Quantity  = stockGradeSizeDTO.Quantity,
                TimeStamp = DateTime.Now
            };

            this.UnitOfWork.Get <StockGradeSize>().AddNew(stockGradeSize);
            this.UnitOfWork.SaveChanges();
        }
        public long SaveBatchOutPut(BatchOutPut batchOutPut, string userId)
        {
            List <StockGradeSize> stockGradeSizeList = new List <StockGradeSize>();
            double batchQuantity  = BatchQuantity(batchOutPut.BatchId);
            var    batchOutPutDTO = new DTO.BatchOutPutDTO()
            {
                BatchId         = batchOutPut.BatchId,
                BrandOutPut     = batchOutPut.BrandOutPut,
                FlourOutPut     = batchOutPut.FlourOutPut,
                BranchId        = batchOutPut.BranchId,
                SectorId        = batchOutPut.SectorId,
                Loss            = ComputeBatchLoss(batchOutPut.BrandOutPut, batchOutPut.FlourOutPut, batchQuantity),
                FlourPercentage = ComputePercentageBatchFlourOutPut(batchOutPut.FlourOutPut, batchQuantity),
                BrandPercentage = ComputePercentageBatchBrandOutPut(batchOutPut.BrandOutPut, batchQuantity),
                LossPercentage  = ComputePercentageBatchLoss(batchOutPut.BrandOutPut, batchOutPut.FlourOutPut, batchQuantity),
                Deleted         = batchOutPut.Deleted,
                CreatedBy       = batchOutPut.CreatedBy,
                CreatedOn       = batchOutPut.CreatedOn
            };

            var batchOutPutId = this._dataService.SaveBatchOutPut(batchOutPutDTO, userId);

            if (batchOutPut.Grades != null)
            {
                double totalBuveraQuantity = 0;
                if (batchOutPut.Grades.Any())
                {
                    List <BatchGradeSize> batchGradeSizeList = new List <BatchGradeSize>();

                    foreach (var grade in batchOutPut.Grades)
                    {
                        var gradeId = grade.GradeId;
                        if (grade.Denominations != null)
                        {
                            if (grade.Denominations.Any())
                            {
                                foreach (var denomination in grade.Denominations)
                                {
                                    var batchGradeSize = new BatchGradeSize()
                                    {
                                        GradeId       = gradeId,
                                        SizeId        = denomination.DenominationId,
                                        BatchOutPutId = batchOutPutId,
                                        Quantity      = denomination.Quantity,
                                        TimeStamp     = DateTime.Now
                                    };
                                    batchGradeSizeList.Add(batchGradeSize);

                                    var stockGradeSize = new StockGradeSize()
                                    {
                                        GradeId   = gradeId,
                                        SizeId    = denomination.DenominationId,
                                        Quantity  = denomination.Quantity,
                                        TimeStamp = DateTime.Now
                                    };
                                    stockGradeSizeList.Add(stockGradeSize);



                                    var inOrOut = false;
                                    //Method that updates buvera into storeBuveraGradeSize table(storeBuvera stock)
                                    var storeBuveraGradeSize = new StoreBuveraGradeSizeDTO()
                                    {
                                        StoreId  = batchOutPut.StoreId,
                                        GradeId  = batchGradeSize.GradeId,
                                        SizeId   = batchGradeSize.SizeId,
                                        Quantity = batchGradeSize.Quantity,
                                    };

                                    this._buveraDataService.SaveStoreBuveraGradeSize(storeBuveraGradeSize, inOrOut);
                                    totalBuveraQuantity = denomination.Quantity + totalBuveraQuantity;
                                }
                            }
                        }
                    }

                    var buveraDTO = new DTO.BuveraDTO()
                    {
                        TotalQuantity = totalBuveraQuantity,
                        BranchId      = batchOutPut.BranchId,
                        FromSupplier  = Convert.ToString(batchOutPut.StoreId),
                        ToReceiver    = Convert.ToString(batchOutPut.BatchId),
                        StoreId       = batchOutPut.StoreId,
                    };

                    var buveraId = this._buveraDataService.SaveBuvera(buveraDTO, userId);
                    this._dataService.PurgeBatchGradeSize(batchOutPutId);
                    this.SaveBatchGradeSizeList(batchGradeSizeList);
                }
            }
            UpdateBatchSupply(batchOutPut.BatchId, supplyStatusIdComplete, userId);
            if (batchOutPut.BrandOutPut != 0 && batchOutPut.FlourOutPut != 0)
            {
                var stock = new Stock()
                {
                    SectorId      = batchOutPut.SectorId,
                    BranchId      = batchOutPut.BranchId,
                    BatchId       = batchOutPut.BatchId,
                    InOrOut       = true,
                    StoreId       = batchOutPut.StoreId,
                    ProductId     = brandId,
                    ProductOutPut = batchOutPut.BrandOutPut,
                };
                _stockService.SaveStock(stock, userId);
                var flourStock = new Stock()
                {
                    SectorId       = batchOutPut.SectorId,
                    BranchId       = batchOutPut.BranchId,
                    BatchId        = batchOutPut.BatchId,
                    InOrOut        = true,
                    StoreId        = batchOutPut.StoreId,
                    ProductId      = flourId,
                    ProductOutPut  = batchOutPut.FlourOutPut,
                    StockGradeSize = stockGradeSizeList
                };
                _stockService.SaveStock(flourStock, userId);
            }

            return(batchOutPutId);
        }
Exemple #3
0
        public long SaveStock(Stock stock, string userId)
        {
            //saves stock object into stock table
            var stockDTO = new DTO.StockDTO()
            {
                InOrOut       = stock.InOrOut,
                ProductId     = stock.ProductId,
                BatchId       = stock.BatchId,
                BranchId      = stock.BranchId,
                SectorId      = stock.SectorId,
                Deleted       = stock.Deleted,
                StoreId       = stock.StoreId,
                CreatedBy     = stock.CreatedBy,
                CreatedOn     = stock.CreatedOn,
                ProductOutPut = stock.ProductOutPut,
            };

            var stockId = this._dataService.SaveStock(stockDTO, userId);


            if (stock.StockGradeSize != null)
            {
                List <StockGradeSize> stockGradeSizeList = new List <StockGradeSize>();

                foreach (var stockGradeSize in stock.StockGradeSize)
                {
                    var stockGrade_Size = new StockGradeSize()
                    {
                        StockId  = stockId,
                        GradeId  = stockGradeSize.GradeId,
                        SizeId   = stockGradeSize.SizeId,
                        Quantity = stockGradeSize.Quantity,
                    };

                    stockGradeSizeList.Add(stockGrade_Size);

                    //Method that adds flour output into storeGradeSize table(store flour stock)
                    var storeGradeSize = new StoreGradeSizeDTO()
                    {
                        StoreId  = stock.StoreId,
                        GradeId  = stockGradeSize.GradeId,
                        SizeId   = stockGradeSize.SizeId,
                        Quantity = stockGradeSize.Quantity,
                    };

                    this._dataService.SaveStoreGradeSize(storeGradeSize);
                }

                this._dataService.PurgeStockGradeSize(stockId);
                this.SaveStockGradeSizeList(stockGradeSizeList);
            }
            //save stock and productId into stockproduct table
            var stockProductDTO = new StockProductDTO()
            {
                StockId   = stockId,
                ProductId = stockDTO.ProductId,
                Quantity  = stockDTO.ProductOutPut,
            };

            this._dataService.PurgeStockProduct(stockId);
            this._dataService.SaveStockProduct(stockProductDTO);

            var storeStock = new StoreStock()
            {
                StoreId   = stock.StoreId,
                ProductId = stock.ProductId,
                BranchId  = stock.BranchId,
                StockId   = stockId,
                Quantity  = stock.ProductOutPut,
                SectorId  = stock.SectorId,
            };

            SaveStoreStock(storeStock, stock.InOrOut);
            return(stockId);
        }
        public long SaveBatchOutPut(BatchOutPut batchOutPut, string userId)
        {
            List <StockGradeSize> stockGradeSizeList = new List <StockGradeSize>();
            double batchQuantity  = BatchQuantity(batchOutPut.BatchId);
            var    batchOutPutDTO = new DTO.BatchOutPutDTO()
            {
                BatchId         = batchOutPut.BatchId,
                BrandOutPut     = batchOutPut.BrandOutPut,
                FlourOutPut     = batchOutPut.FlourOutPut,
                BranchId        = batchOutPut.BranchId,
                SectorId        = batchOutPut.SectorId,
                Loss            = ComputeBatchLoss(batchOutPut.BrandOutPut, batchOutPut.FlourOutPut, batchQuantity),
                FlourPercentage = ComputePercentageBatchFlourOutPut(batchOutPut.FlourOutPut, batchQuantity),
                BrandPercentage = ComputePercentageBatchBrandOutPut(batchOutPut.BrandOutPut, batchQuantity),
                LossPercentage  = ComputePercentageBatchLoss(batchOutPut.BrandOutPut, batchOutPut.FlourOutPut, batchQuantity),
                Deleted         = batchOutPut.Deleted,
                CreatedBy       = batchOutPut.CreatedBy,
                CreatedOn       = batchOutPut.CreatedOn
            };

            var batchOutPutId = this._dataService.SaveBatchOutPut(batchOutPutDTO, userId);

            if (batchOutPut.Grades != null)
            {
                if (batchOutPut.Grades.Any())
                {
                    List <BatchGradeSize> batchGradeSizeList = new List <BatchGradeSize>();

                    foreach (var grade in batchOutPut.Grades)
                    {
                        var gradeId = grade.GradeId;
                        if (grade.Denominations != null)
                        {
                            if (grade.Denominations.Any())
                            {
                                foreach (var denomination in grade.Denominations)
                                {
                                    var batchGradeSize = new BatchGradeSize()
                                    {
                                        GradeId       = gradeId,
                                        SizeId        = denomination.DenominationId,
                                        BatchOutPutId = batchOutPutId,
                                        Quantity      = denomination.Quantity,
                                        TimeStamp     = DateTime.Now
                                    };
                                    batchGradeSizeList.Add(batchGradeSize);

                                    var stockGradeSize = new StockGradeSize()
                                    {
                                        GradeId   = gradeId,
                                        SizeId    = denomination.DenominationId,
                                        Quantity  = denomination.Quantity,
                                        TimeStamp = DateTime.Now
                                    };
                                    stockGradeSizeList.Add(stockGradeSize);
                                }
                            }
                        }
                    }
                    this._dataService.PurgeBatchGradeSize(batchOutPutId);
                    this.SaveBatchGradeSizeList(batchGradeSizeList);
                }
            }
            UpdateBatchSupply(batchOutPut.BatchId, supplyStatusIdComplete, userId);
            if (batchOutPut.BrandOutPut != 0 && batchOutPut.FlourOutPut != 0)
            {
                var stock = new Stock()
                {
                    SectorId      = batchOutPut.SectorId,
                    BranchId      = batchOutPut.BranchId,
                    BatchId       = batchOutPut.BatchId,
                    InOrOut       = true,
                    StoreId       = batchOutPut.StoreId,
                    ProductId     = brandId,
                    ProductOutPut = batchOutPut.BrandOutPut,
                };
                _stockService.SaveStock(stock, userId);
                var flourStock = new Stock()
                {
                    SectorId       = batchOutPut.SectorId,
                    BranchId       = batchOutPut.BranchId,
                    BatchId        = batchOutPut.BatchId,
                    InOrOut        = true,
                    StoreId        = batchOutPut.StoreId,
                    ProductId      = flourId,
                    ProductOutPut  = batchOutPut.FlourOutPut,
                    StockGradeSize = stockGradeSizeList
                };
                _stockService.SaveStock(flourStock, userId);
            }

            return(batchOutPutId);
        }