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

                var xls = await Mediator.Send(query);

                string filename = "Laporan Pengiriman Barang Jadi ";

                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
            GetXlsExpenditureGoodQueryHandler unitUnderTest = CreateGetXlsExpenditureGoodQueryHandler();
            CancellationToken cancellationToken             = CancellationToken.None;

            Guid guidExpenditureGood     = Guid.NewGuid();
            Guid guidExpenditureGoodItem = Guid.NewGuid();
            Guid guidSewingOut           = Guid.NewGuid();
            Guid guidSewingOutItem       = Guid.NewGuid();

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

            _mockGarmentExpenditureGoodItemRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentExpenditureGoodItemReadModel>
            {
                new GarmentExpenditureGoodItem(guidExpenditureGoodItem, guidExpenditureGood, new Guid(), new SizeId(1), "", 10, 0, new UomId(1), "", "", 10, 10).GetReadModel()
            }.AsQueryable());

            _mockGarmentExpenditureGoodRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentExpenditureGoodReadModel>
            {
                new GarmentExpenditureGood(guidExpenditureGood, "", "", new UnitDepartmentId(1), "", "", "ro", "", new GarmentComodityId(1), "", "", new BuyerId(1), "", "", DateTimeOffset.Now, "", "", 10, "", true).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());

            var guidGarmentCuttingIn = Guid.NewGuid();

            _mockGarmentCuttingInRepository
            .Setup(s => s.Query)
            .Returns(new List <GarmentCuttingInReadModel>
            {
                new GarmentCuttingIn(guidGarmentCuttingIn, "cutInNo", "cuttingType", "cuttingFrom", "rONo", "article", new UnitDepartmentId(1), "unitCode", "unitName", DateTimeOffset.Now, 1).GetReadModel()
            }.AsQueryable());
            // Act
            var result = await unitUnderTest.Handle(getMonitoring, cancellationToken);

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