Esempio n. 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();
                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));
            }
        }
Esempio n. 2
0
        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();
        }