public async Task <IActionResult> GetXlsMonitoringProductionStockFlow(string type, int unit, DateTime dateFrom, DateTime dateTo, string ro, int page = 1, int size = 25, string Order = "{}") { try { VerifyUser(); GetXlsMonitoringProductionStockFlowQuery query = new GetXlsMonitoringProductionStockFlowQuery(page, size, Order, unit, ro, dateFrom, dateTo, type, WorkContext.Token); byte[] xlsInBytes; var xls = await Mediator.Send(query); string filename = "Laporan Flow Persediaan"; if (dateFrom != null) { filename += " " + ((DateTime)dateFrom).ToString("dd-MM-yyyy"); } if (dateTo != null) { filename += "_" + ((DateTime)dateTo).ToString("dd-MM-yyyy"); } filename += ".xlsx"; xlsInBytes = xls.ToArray(); var file = File(xlsInBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename); return(file); } catch (Exception e) { return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message)); } }
public async Task Handle_StateUnderTest_ExpectedBehavior() { // Arrange GetXlsMonitoringProductionStockFlowQueryHandler unitUnderTest = CreateGetMonitoringProductionFlowQueryHandler(); CancellationToken cancellationToken = CancellationToken.None; Guid guidLoading = Guid.NewGuid(); Guid guidLoadingItem = Guid.NewGuid(); Guid guidCuttingOut = Guid.NewGuid(); Guid guidCuttingOutItem = Guid.NewGuid(); Guid guidCuttingOutDetail = Guid.NewGuid(); Guid guidFinishingOut = Guid.NewGuid(); Guid guidFinishingOutItem = Guid.NewGuid(); Guid guidSewingOut = Guid.NewGuid(); Guid guidSewingOutItem = Guid.NewGuid(); Guid guidSewingIn = Guid.NewGuid(); Guid guidSewingInItem = Guid.NewGuid(); Guid guidSewingDO = Guid.NewGuid(); Guid guidSewingDOItem = Guid.NewGuid(); Guid guidCuttingIn = Guid.NewGuid(); Guid guidCuttingInItem = Guid.NewGuid(); Guid guidFinishingIn = Guid.NewGuid(); Guid guidFinishingInItem = Guid.NewGuid(); Guid guidAdjustment = Guid.NewGuid(); Guid guidAval = Guid.NewGuid(); Guid guidExpenditure = Guid.NewGuid(); Guid guidExpenditureReturn = Guid.NewGuid(); Guid guidAdjustmentItem = Guid.NewGuid(); GetXlsMonitoringProductionStockFlowQuery getMonitoring = new GetXlsMonitoringProductionStockFlowQuery(1, 25, "{}", 1, "ro", DateTime.Now.AddDays(-5), DateTime.Now, "", "token"); _mockGarmentLoadingItemRepository .Setup(s => s.Query) .Returns(new List <GarmentLoadingItemReadModel> { new GarmentLoadingItem(guidLoadingItem, guidLoading, new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 0, 0, 0, new UomId(1), "", "", 10).GetReadModel() }.AsQueryable()); _mockGarmentLoadingRepository .Setup(s => s.Query) .Returns(new List <GarmentLoadingReadModel> { new GarmentLoading(guidLoading, "", new Guid(), "", new UnitDepartmentId(1), "", "", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "").GetReadModel() }.AsQueryable()); _mockGarmentCuttingOutDetailRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingOutDetailReadModel> { new GarmentCuttingOutDetail(new Guid(), guidCuttingOutItem, new SizeId(1), "", "", 100, 100, new UomId(1), "", 10, 10).GetReadModel() }.AsQueryable()); _mockGarmentCuttingOutItemRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingOutItemReadModel> { new GarmentCuttingOutItem(guidCuttingOutItem, new Guid(), new Guid(), guidCuttingOut, new ProductId(1), "", "", "", 100).GetReadModel() }.AsQueryable()); _mockGarmentCuttingOutRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingOutReadModel> { new GarmentCuttingOut(guidCuttingOut, "", "SEWING", new UnitDepartmentId(1), "", "", DateTime.Now.AddDays(-1), "ro", "article", new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "cm", "cmo").GetReadModel() }.AsQueryable()); _mockGarmentFinishingOutItemRepository .Setup(s => s.Query) .Returns(new List <GarmentFinishingOutItemReadModel> { new GarmentFinishingOutItem(guidFinishingOutItem, guidFinishingOut, new Guid(), new Guid(), new ProductId(1), "", "", "", new SizeId(1), "", 10, new UomId(1), "", "", 10, 10, 10).GetReadModel() }.AsQueryable()); _mockGarmentFinishingOutRepository .Setup(s => s.Query) .Returns(new List <GarmentFinishingOutReadModel> { new GarmentFinishingOut(guidFinishingOut, "", new UnitDepartmentId(1), "", "", "GUDANG JADI", DateTimeOffset.Now.AddDays(-1), "ro", "", new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "", "", false).GetReadModel() }.AsQueryable()); _mockGarmentSewingOutItemRepository .Setup(s => s.Query) .Returns(new List <GarmentSewingOutItemReadModel> { new GarmentSewingOutItem(guidSewingOutItem, guidSewingOut, new Guid(), new Guid(), new ProductId(1), "", "", "", new SizeId(1), "", 0, new UomId(1), "", "", 10, 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentSewingOutRepository .Setup(s => s.Query) .Returns(new List <GarmentSewingOutReadModel> { new GarmentSewingOut(guidSewingOut, "", new BuyerId(1), "", "", new UnitDepartmentId(1), "", "", "FINISHING", DateTimeOffset.Now, "ro", "", new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "", "", true).GetReadModel() }.AsQueryable()); _mockGarmentSewingDOItemRepository .Setup(s => s.Query) .Returns(new List <GarmentSewingDOItemReadModel> { new GarmentSewingDOItem(guidSewingDOItem, guidSewingDO, guidCuttingOutDetail, guidCuttingOutItem, new ProductId(1), "", "", "", new SizeId(1), "", 0, new UomId(1), "", "", 10, 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentSewingDORepository .Setup(s => s.Query) .Returns(new List <GarmentSewingDOReadModel> { new GarmentSewingDO(guidSewingDO, "", guidCuttingOut, new UnitDepartmentId(1), "", "", new UnitDepartmentId(1), "", "", "ro", "", new GarmentComodityId(1), "", "", DateTimeOffset.Now).GetReadModel() }.AsQueryable()); _mockGarmentCuttingInDetailRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInDetailReadModel> { new GarmentCuttingInDetail(new Guid(), guidCuttingInItem, new Guid(), new Guid(), new Guid(), new ProductId(1), "", "", "", "Main Fabric", 10, new UomId(1), "", 10, new UomId(1), "", 10, 100, 100, 1, "").GetReadModel() }.AsQueryable()); _mockGarmentCuttingInItemRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInItemReadModel> { new GarmentCuttingInItem(guidCuttingInItem, guidCuttingIn, new Guid(), 1, "", guidSewingOut, "").GetReadModel() }.AsQueryable()); _mockGarmentCuttingInRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInReadModel> { new GarmentCuttingIn(guidCuttingIn, "", "Main Fabric", "", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now.AddDays(-1), 1).GetReadModel() }.AsQueryable()); _mockGarmentFinishingInItemRepository .Setup(s => s.Query) .Returns(new List <GarmentFinishingInItemReadModel> { new GarmentFinishingInItem(guidFinishingInItem, guidFinishingIn, guidSewingOutItem, new Guid(), new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 8, 19, new UomId(1), "", "", 10, 10).GetReadModel() }.AsQueryable()); _mockGarmentFinishingInRepository .Setup(s => s.Query) .Returns(new List <GarmentFinishingInReadModel> { new GarmentFinishingIn(guidFinishingIn, "", "PEMBELIAN", new UnitDepartmentId(1), "", "", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "", 2, "").GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentItemReadModel> { new GarmentAdjustmentItem(guidAdjustmentItem, guidLoading, guidSewingDOItem, new Guid(), new Guid(), new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 8, 19, new UomId(1), "", "", 10).GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentReadModel> { new GarmentAdjustment(guidAdjustment, "", "LOADING", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "", "").GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentItemReadModel> { new GarmentAdjustmentItem(guidAdjustmentItem, guidLoading, guidSewingDOItem, new Guid(), new Guid(), new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 8, 19, new UomId(1), "", "", 10).GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentReadModel> { new GarmentAdjustment(guidAdjustment, "", "SEWING", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "", "").GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentItemReadModel> { new GarmentAdjustmentItem(guidAdjustmentItem, guidLoading, guidSewingDOItem, new Guid(), new Guid(), new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 8, 19, new UomId(1), "", "", 10).GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentReadModel> { new GarmentAdjustment(guidAdjustment, "", "FINISHING", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "", "").GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentItemReadModel> { new GarmentAdjustmentItem(guidAdjustmentItem, guidLoading, guidSewingDOItem, new Guid(), new Guid(), new Guid(), new SizeId(1), "", new ProductId(1), "", "", "", 8, 19, new UomId(1), "", "", 10).GetReadModel() }.AsQueryable()); _mockGarmentAdjustmentRepository .Setup(s => s.Query) .Returns(new List <GarmentAdjustmentReadModel> { new GarmentAdjustment(guidAdjustment, "", "GUDANG JADI", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, new GarmentComodityId(1), "", "", "").GetReadModel() }.AsQueryable()); _mockGarmentSewingInItemRepository .Setup(s => s.Query) .Returns(new List <GarmentSewingInItemReadModel> { new GarmentSewingInItem(guidSewingInItem, guidSewingIn, guidSewingOutItem, new Guid(), guidLoadingItem, guidFinishingOutItem, new Guid(), new ProductId(1), "", "", "", new SizeId(1), "", 0, new UomId(1), "", "", 10, 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentSewingInRepository .Setup(s => s.Query) .Returns(new List <GarmentSewingInReadModel> { new GarmentSewingIn(guidSewingIn, "89", "FINISHING", guidLoading, "", new UnitDepartmentId(1), "", "", new UnitDepartmentId(1), "", "", "ro", "article", new GarmentComodityId(1), "", "", DateTimeOffset.Now).GetReadModel() }.AsQueryable()); _mockGarmentAvalComponentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAvalComponentItemReadModel> { new GarmentAvalComponentItem(guidAval, guidAval, new Guid(), new Guid(), guidLoadingItem, new ProductId(1), "", "", "", "", 10, 0, new SizeId(1), "", 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentAvalComponentRepository .Setup(s => s.Query) .Returns(new List <GarmentAvalComponentReadModel> { new GarmentAvalComponent(guidAval, "", new UnitDepartmentId(1), "", "", "", "ro", "article", new GarmentComodityId(1), "", "", DateTimeOffset.Now).GetReadModel() }.AsQueryable()); _mockGarmentExpenditureGoodItemRepository .Setup(s => s.Query) .Returns(new List <GarmentExpenditureGoodItemReadModel> { new GarmentExpenditureGoodItem(new Guid(), guidExpenditure, new Guid(), new SizeId(1), "", 100, 100, new UomId(1), "", "", 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentExpenditureGoodRepository .Setup(s => s.Query) .Returns(new List <GarmentExpenditureGoodReadModel> { new GarmentExpenditureGood(guidExpenditure, "np", "SAMPLE", new UnitDepartmentId(1), "", "", "ro", "article", new GarmentComodityId(1), "", "", new BuyerId(1), "", "", DateTimeOffset.Now, "", "", 9, "", true).GetReadModel() }.AsQueryable()); _mockGarmentExpenditureGoodReturnItemRepository .Setup(s => s.Query) .Returns(new List <GarmentExpenditureGoodReturnItemReadModel> { new GarmentExpenditureGoodReturnItem(new Guid(), guidExpenditureReturn, guidExpenditure, new Guid(), new Guid(), new SizeId(1), "", 100, new UomId(1), "", "", 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentExpenditureGoodReturnRepository .Setup(s => s.Query) .Returns(new List <GarmentExpenditureGoodReturnReadModel> { new GarmentExpenditureGoodReturn(guidExpenditureReturn, "np", "SAMPLE", new UnitDepartmentId(1), "", "", "ro", "article", new GarmentComodityId(1), "", "", new BuyerId(1), "", "", DateTimeOffset.Now, "", "").GetReadModel() }.AsQueryable()); _mockGarmentComodityPriceRepository .Setup(s => s.Query) .Returns(new List <GarmentComodityPriceReadModel> { new GarmentComodityPrice(guidExpenditureReturn, true, DateTimeOffset.Now.AddDays(-1), new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "ccc", "dsd", 100).GetReadModel() }.AsQueryable()); _mockGarmentComodityPriceRepository .Setup(s => s.Query) .Returns(new List <GarmentComodityPriceReadModel> { new GarmentComodityPrice(guidExpenditureReturn, true, DateTimeOffset.Now.AddDays(2), new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "ccc", "dsd", 200).GetReadModel() }.AsQueryable()); var guidGarmentPreparing = Guid.NewGuid(); _mockGarmentPreparingRepository .Setup(s => s.Query) .Returns(new List <GarmentPreparingReadModel> { new GarmentPreparing(guidGarmentPreparing, 1, "uenNo", new Domain.GarmentPreparings.ValueObjects.UnitDepartmentId(1), "unitCode", "unitName", DateTimeOffset.Now, "roNo", "article", true, new BuyerId(1), null, null).GetReadModel() }.AsQueryable()); var guidGarmentPreparingItem = Guid.NewGuid(); _mockGarmentPreparingItemRepository .Setup(s => s.Query) .Returns(new List <GarmentPreparingItemReadModel> { new GarmentPreparingItem(guidGarmentPreparingItem, 1, new Domain.GarmentPreparings.ValueObjects.ProductId(1), "productCode", "productName", "designColor", 1, new Domain.GarmentPreparings.ValueObjects.UomId(1), "uomUnit", "fabricType", 1, 1, guidGarmentPreparing, null).GetReadModel() }.AsQueryable()); // Act var result = await unitUnderTest.Handle(getMonitoring, cancellationToken); // Assert result.Should().NotBeNull(); }