public async Task <IActionResult> GetXls(int unit, DateTime dateFrom, DateTime dateTo, string type, int page = 1, int size = 25, string Order = "{}") { try { VerifyUser(); GetXlsCuttingQuery query = new GetXlsCuttingQuery(page, size, Order, unit, dateFrom, dateTo, type, WorkContext.Token); byte[] xlsInBytes; var xls = await Mediator.Send(query); string filename = "Laporan Cutting"; 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 GetXlsCuttingQueryHandler unitUnderTest = CreateGetXlsCuttingQueryHandler(); CancellationToken cancellationToken = CancellationToken.None; Guid guidPrepare = Guid.NewGuid(); Guid guidPrepareItem = Guid.NewGuid(); Guid guidCuttingIn = Guid.NewGuid(); Guid guidCuttingInItem = Guid.NewGuid(); Guid guidCuttingInDetail = Guid.NewGuid(); Guid guidAvalComponent = Guid.NewGuid(); Guid guidAvalComponentItem = Guid.NewGuid(); Guid guidCuttingOut = Guid.NewGuid(); Guid guidCuttingOutItem = Guid.NewGuid(); Guid guidCuttingOutDetail = Guid.NewGuid(); GetXlsCuttingQuery getMonitoring = new GetXlsCuttingQuery(1, 25, "{}", 1, DateTime.Now, DateTime.Now.AddDays(2), "", "token"); _mockGarmentCuttingInItemRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInItemReadModel> { new GarmentCuttingInItem(guidCuttingInItem, guidCuttingIn, guidPrepare, 1, "", Guid.Empty, "").GetReadModel() }.AsQueryable()); _mockGarmentCuttingInRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInReadModel> { new GarmentCuttingIn(guidCuttingIn, "", "Main Fabric", "", "ro", "", new UnitDepartmentId(1), "", "", DateTimeOffset.Now, 4.5).GetReadModel() }.AsQueryable()); _mockGarmentCuttingInDetailRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingInDetailReadModel> { new GarmentCuttingInDetail(guidCuttingInDetail, guidCuttingInItem, guidPrepareItem, Guid.Empty, Guid.Empty, new Domain.Shared.ValueObjects.ProductId(1), "", "", "", "", 9, new Domain.Shared.ValueObjects.UomId(1), "", 4, new Domain.Shared.ValueObjects.UomId(1), "", 1, 100, 100, 5.5, null).GetReadModel() }.AsQueryable()); _mockGarmentAvalComponentItemRepository .Setup(s => s.Query) .Returns(new List <GarmentAvalComponentItemReadModel> { new GarmentAvalComponentItem(guidAvalComponentItem, guidAvalComponent, guidCuttingInDetail, new Guid(), new Guid(), new ProductId(1), "", "", "", "", 10, 0, new SizeId(1), "", 100, 100).GetReadModel() }.AsQueryable()); _mockGarmentAvalComponentRepository .Setup(s => s.Query) .Returns(new List <GarmentAvalComponentReadModel> { new GarmentAvalComponent(guidAvalComponent, "", new UnitDepartmentId(1), "", "", "", "ro", "", new GarmentComodityId(1), "", "", DateTimeOffset.Now).GetReadModel() }.AsQueryable()); _mockGarmentCuttingOutItemRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingOutItemReadModel> { new GarmentCuttingOutItem(guidCuttingOutItem, guidCuttingIn, guidCuttingInDetail, guidCuttingOut, new ProductId(1), "", "", "", 100).GetReadModel() }.AsQueryable()); _mockGarmentCuttingOutRepository .Setup(s => s.Query) .Returns(new List <GarmentCuttingOutReadModel> { new GarmentCuttingOut(guidCuttingOut, "", "", new UnitDepartmentId(1), "", "", DateTime.Now, "ro", "", new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "", "").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(); }