public async Task <IActionResult> GetXls(int unit, DateTime dateFrom, DateTime dateTo, string type, int page = 1, int size = 25, string Order = "{}")
        {
            try
            {
                VerifyUser();
                GetXlsPrepareQuery query = new GetXlsPrepareQuery(page, size, Order, unit, dateFrom, dateTo, type, WorkContext.Token);
                byte[]             xlsInBytes;

                var xls = await Mediator.Send(query);

                string filename = "Laporan Prepare";

                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));
            }
        }
コード例 #2
0
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            GetXlsPrepareQueryHandler unitUnderTest     = CreateGetXlsPrepareQueryHandler();
            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 guidAvalProduct        = Guid.NewGuid();
            Guid guidAvalProductItem    = Guid.NewGuid();
            Guid guidDeliveryReturn     = Guid.NewGuid();
            Guid guidDeliveryReturnItem = Guid.NewGuid();

            GetXlsPrepareQuery getXlsPrepareQuery = new GetXlsPrepareQuery(1, 25, "{}", 1, DateTime.Now, DateTime.Now.AddDays(2), "", "token");


            _mockGarmentPreparingItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentPreparingItemReadModel>
            {
                new Domain.GarmentPreparings.GarmentPreparingItem(guidPrepareItem, 1, new Domain.GarmentPreparings.ValueObjects.ProductId(1), "", "", "", 0, new Domain.GarmentPreparings.ValueObjects.UomId(1), "", "", 0, 50, guidPrepare, null).GetReadModel()
            }.AsQueryable());

            _mockGarmentPreparingRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentPreparingReadModel>
            {
                new Domain.GarmentPreparings.GarmentPreparing(guidPrepare, 1, "", new Domain.GarmentPreparings.ValueObjects.UnitDepartmentId(1), "", "", DateTimeOffset.Now, "roNo", "", true, new BuyerId(1), null, null).GetReadModel()
            }.AsQueryable());

            _mockGarmentCuttingInItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingInItemReadModel>
            {
                new GarmentCuttingInItem(guidCuttingInItem, guidCuttingIn, guidPrepare, 1, "", Guid.Empty, null).GetReadModel()
            }.AsQueryable());

            _mockGarmentCuttingInRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingInReadModel>
            {
                new GarmentCuttingIn(guidCuttingIn, "", "Main Fabric", "", "", "", 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, 1, 100, 5.5, null).GetReadModel()
            }.AsQueryable());

            _mockGarmentAvalProductItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentAvalProductItemReadModel>
            {
                new GarmentAvalProductItem(guidAvalProductItem, guidAvalProduct, new GarmentPreparingId(guidPrepare.ToString()), new GarmentPreparingItemId(guidPrepareItem.ToString()), new Domain.GarmentAvalProducts.ValueObjects.ProductId(1), "", "", "", 9, new Domain.GarmentAvalProducts.ValueObjects.UomId(1), "", 100, false).GetReadModel()
            }.AsQueryable());
            _mockGarmentAvalProductRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentAvalProductReadModel>
            {
                new GarmentAvalProduct(guidAvalProduct, "", "", DateTimeOffset.Now, new UnitDepartmentId(1), null, null).GetReadModel()
            }.AsQueryable());
            _mockGarmentDeliveryReturnItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentDeliveryReturnItemReadModel>
            {
                new GarmentDeliveryReturnItem(guidDeliveryReturnItem, guidDeliveryReturn, 1, 1, guidPrepareItem.ToString(), new Domain.GarmentDeliveryReturns.ValueObjects.ProductId(1), "", "", "", "", 9, new Domain.GarmentDeliveryReturns.ValueObjects.UomId(1), "").GetReadModel()
            }.AsQueryable());
            _mockGarmentDeliveryReturnRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentDeliveryReturnReadModel>
            {
                new GarmentDeliveryReturn(guidDeliveryReturn, "", "", "", 1, "", 1, guidPrepare.ToString(), DateTimeOffset.Now, "", new Domain.GarmentDeliveryReturns.ValueObjects.UnitDepartmentId(1), "", "", new Domain.GarmentDeliveryReturns.ValueObjects.StorageId(1), "", "", true).GetReadModel()
            }.AsQueryable());

            // Act
            var result = await unitUnderTest.Handle(getXlsPrepareQuery, cancellationToken);

            // Assert
            result.Should().NotBeNull();
        }