public Task <int> UpdateAsync(int id, DyeingPrintingStockOpnameProductionOrderModel model)
        {
            var modelToUpdate = _dbSet.FirstOrDefault(s => s.Id == id);

            modelToUpdate.SetBalance(model.Balance, _identityProvider.Username, UserAgent);
            modelToUpdate.SetBuyer(model.BuyerId, model.Buyer, _identityProvider.Username, UserAgent);
            modelToUpdate.SetCartNo(model.CartNo, _identityProvider.Username, UserAgent);
            modelToUpdate.SetColor(model.Color, _identityProvider.Username, UserAgent);
            modelToUpdate.SetConstruction(model.Construction, _identityProvider.Username, UserAgent);
            modelToUpdate.SetGrade(model.Grade, _identityProvider.Username, UserAgent);
            modelToUpdate.SetMotif(model.Motif, _identityProvider.Username, UserAgent);
            modelToUpdate.SetProductionOrder(model.ProductionOrderId, model.ProductionOrderNo, model.ProductionOrderType, model.ProductionOrderOrderQuantity, _identityProvider.Username, UserAgent);
            modelToUpdate.SetRemark(model.Remark, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPackingInstruction(model.PackingInstruction, _identityProvider.Username, UserAgent);
            modelToUpdate.SetStatus(model.Status, _identityProvider.Username, UserAgent);
            modelToUpdate.SetUnit(model.Unit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetUomUnit(model.UomUnit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPackagingType(model.PackagingType, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPackagingQty(model.PackagingQty, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPackagingUnit(model.PackagingUnit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPackagingLength(model.PackagingLength, _identityProvider.Username, UserAgent);
            modelToUpdate.SetMaterial(model.MaterialId, model.MaterialName, _identityProvider.Username, UserAgent);
            modelToUpdate.SetMaterialConstruction(model.MaterialConstructionId, model.MaterialConstructionName, _identityProvider.Username, UserAgent);
            modelToUpdate.SetMaterialWidth(model.MaterialWidth, _identityProvider.Username, UserAgent);
            return(_dbContext.SaveChangesAsync());
        }
示例#2
0
        public void Should_Success_Read2()
        {
            var repoMock = new Mock <IDyeingPrintingAreaOutputProductionOrderRepository>();

            var stockOpnameMock = new Mock <IDyeingPrintingStockOpnameProductionOrderRepository>();


            repoMock.Setup(s => s.ReadAll())
            .Returns(new List <DyeingPrintingAreaOutputProductionOrderModel>()
            {
                Model
            }.AsQueryable());

            repoMock.Setup(s => s.UpdateHasPrintingProductPacking(It.IsAny <int>(), It.IsAny <bool>()))
            .ReturnsAsync(1);

            var stockModel = new DyeingPrintingStockOpnameProductionOrderModel();

            stockModel.SetPackingCode("1,2");
            stockOpnameMock.Setup(s => s.ReadAll())
            .Returns(new List <DyeingPrintingStockOpnameProductionOrderModel>()
            {
                stockModel
            }.AsQueryable());

            //stockOpnameMock.Setup(s => s.UpdateHasPrintingProductPacking(It.IsAny<int>(), It.IsAny<bool>()))
            //     .ReturnsAsync(1);

            var service = GetService(GetServiceProvider(repoMock.Object).Object);

            var result = service.GetDataProductPacking(1, 25, "{}", "{}", null, false);

            Assert.NotNull(result.Data);
        }
        public Task <int> InsertAsync(DyeingPrintingStockOpnameProductionOrderModel model)
        {
            model.FlagForCreate(_identityProvider.Username, UserAgent);

            _dbSet.Add(model);

            return(_dbContext.SaveChangesAsync());
        }
示例#4
0
        public DyeingPrintingStockOpnameModel GetNewModel()
        {
            var stockOpnameProductionOrder = new DyeingPrintingStockOpnameProductionOrderModel(1, 1, "buyer", "color", "construction", "documentNo", "A", 1, "MaterialConstructionName", 1, "MaterialName", "MaterialWitdh", "Motif", "PackingInstruction", 1, 1, "PackagingType", "PackagingUnit", 1, "ProductionorederName", "productionOrderType", 1, 1, "ProcessTypeName", 1, "yarnMaterialName", "Remark", "Status", "Unit", "UomUnit", false, null);

            var stockOpnameProductionOrders = new List <DyeingPrintingStockOpnameProductionOrderModel>();

            stockOpnameProductionOrders.Add(stockOpnameProductionOrder);

            return(new DyeingPrintingStockOpnameModel(
                       "GUDANG_JADI", "BON_NO", DateTimeOffset.Now, DyeingPrintingArea.STOCK_OPNAME, stockOpnameProductionOrders, false
                       ));
        }
示例#5
0
        public override DyeingPrintingStockOpnameModel GetEmptyModel()
        {
            var stockOpnameProductionOrder = new DyeingPrintingStockOpnameProductionOrderModel(0, 0, null, null, null, null, null, 0, null, 0, null, null, null, null, 0, 0, null, null, 0, null, null, 0, 0, null, 0, null, null, null, null, null, false, null);

            var stockOpnameProductionOrders = new List <DyeingPrintingStockOpnameProductionOrderModel>();

            stockOpnameProductionOrders.Add(stockOpnameProductionOrder);

            return(new DyeingPrintingStockOpnameModel(
                       null, null, DateTimeOffset.Now, null, stockOpnameProductionOrders, false
                       ));
        }
示例#6
0
        public void Should_Success_Read2_StockOpname()
        {
            var repoMock = new Mock <IDyeingPrintingAreaOutputProductionOrderRepository>();

            var stockOpnameMock = new Mock <IDyeingPrintingStockOpnameProductionOrderRepository>();


            repoMock.Setup(s => s.ReadAll())
            .Returns(new List <DyeingPrintingAreaOutputProductionOrderModel>()
            {
                Model
            }.AsQueryable());

            repoMock.Setup(s => s.UpdateHasPrintingProductPacking(It.IsAny <int>(), It.IsAny <bool>()))
            .ReturnsAsync(1);

            var stockModel = new DyeingPrintingStockOpnameProductionOrderModel(1, 1, "test", "color", "construction", "documentNO", "grade", 1, "constructionName", 1, "materialName", "materialWidth", "motif", "packingInstruction", 1, 1, "packagingType", "packagingUnit", 1, "orderNo", "orderType", 1, 1, "processTypeName", 1, "yarnName", "remark", "status", "unit", "uomUnit", false, null);

            stockModel.SetPackingCode("1,2");
            stockOpnameMock.Setup(s => s.ReadAll())
            .Returns(new List <DyeingPrintingStockOpnameProductionOrderModel>()
            {
                stockModel
            }.AsQueryable());

            //stockOpnameMock.Setup(s => s.UpdateHasPrintingProductPacking(It.IsAny<int>(), It.IsAny<bool>()))
            //     .ReturnsAsync(1);

            var serviceProviderMock = GetServiceProvider(repoMock.Object);

            serviceProviderMock
            .Setup(sp => sp.GetService(typeof(IDyeingPrintingStockOpnameProductionOrderRepository)))
            .Returns(stockOpnameMock.Object);

            var service = GetService(serviceProviderMock.Object);

            var result = service.GetDataProductPacking(1, 25, "{}", "{}", null, true);

            Assert.NotNull(result.Data);
        }
示例#7
0
        private async Task <int> CreateStockOpname(StockOpnameWarehouseViewModel viewModel)
        {
            int result = 0;
            var model  = _stockOpnameRepository.GetDbSet().AsNoTracking().FirstOrDefault(s => s.Area == DyeingPrintingArea.GUDANGJADI &&
                                                                                         s.Date.Date == viewModel.Date.Date &&
                                                                                         s.Type == DyeingPrintingArea.STOCK_OPNAME);

            //viewModel.WarehousesProductionOrders = viewModel.WarehousesProductionOrders.Where(s => s.IsSave).ToList();
            viewModel.WarehousesProductionOrders = viewModel.WarehousesProductionOrders.ToList();
            if (model == null)
            {
                int totalCurrentYearData = _stockOpnameRepository.ReadAllIgnoreQueryFilter()
                                           .Count(s => s.Area == DyeingPrintingArea.GUDANGJADI &&
                                                  s.CreatedUtc.Year == viewModel.Date.Year && s.Type == DyeingPrintingArea.STOCK_OPNAME);

                string bonNo = GenerateBonNo(totalCurrentYearData + 1, viewModel.Date, viewModel.Area);

                model = new DyeingPrintingStockOpnameModel(viewModel.Area, bonNo, viewModel.Date, viewModel.Type,
                                                           viewModel.WarehousesProductionOrders.Select(s =>
                                                                                                       new DyeingPrintingStockOpnameProductionOrderModel(
                                                                                                           s.Balance,
                                                                                                           s.BuyerId,
                                                                                                           s.Buyer,
                                                                                                           s.Color,
                                                                                                           s.Construction,
                                                                                                           s.DocumentNo,
                                                                                                           s.Grade,
                                                                                                           s.MaterialConstruction.Id,
                                                                                                           s.MaterialConstruction.Name,
                                                                                                           s.Material.Id,
                                                                                                           s.Material.Name,
                                                                                                           s.MaterialWidth,
                                                                                                           s.Motif,
                                                                                                           s.PackingInstruction,
                                                                                                           s.PackagingQty,
                                                                                                           s.Quantity,
                                                                                                           s.PackagingType,
                                                                                                           s.PackagingUnit,
                                                                                                           s.ProductionOrder.Id,
                                                                                                           s.ProductionOrder.No,
                                                                                                           s.ProductionOrder.Type,
                                                                                                           s.ProductionOrder.OrderQuantity,
                                                                                                           s.ProcessType.Id,
                                                                                                           s.ProcessType.Name,
                                                                                                           s.YarnMaterial.Id,
                                                                                                           s.YarnMaterial.Name,
                                                                                                           s.Remark,
                                                                                                           s.Status,
                                                                                                           s.Unit,
                                                                                                           s.UomUnit
                                                                                                           )).ToList());


                result = await _stockOpnameRepository.InsertAsync(model);

                //viewModel.WarehousesProductionOrders = viewModel.WarehousesProductionOrders
            }
            else
            {
                foreach (var item in viewModel.WarehousesProductionOrders)
                {
                    var modelItem = new DyeingPrintingStockOpnameProductionOrderModel(
                        item.Balance,
                        item.BuyerId,
                        item.Buyer,
                        item.Color,
                        item.Construction,
                        item.DocumentNo,
                        item.Grade,
                        item.MaterialConstruction.Id,
                        item.MaterialConstruction.Name,
                        item.Material.Id,
                        item.Material.Name,
                        item.MaterialWidth,
                        item.Motif,
                        item.PackingInstruction,
                        item.PackagingQty,
                        item.Quantity,
                        item.PackagingType,
                        item.PackagingUnit,
                        item.ProductionOrder.Id,
                        item.ProductionOrder.No,
                        item.ProductionOrder.Type,
                        item.ProductionOrder.OrderQuantity,
                        item.ProcessType.Id,
                        item.ProcessType.Name,
                        item.YarnMaterial.Id,
                        item.YarnMaterial.Name,
                        item.Remark,
                        item.Status,
                        item.Unit,
                        item.UomUnit
                        );

                    modelItem.DyeingPrintingStockOpnameId = model.Id;

                    result += await _stockOpnameProductionOrderRepository.InsertAsync(modelItem);
                }
            }

            return(result);
        }