public async Task <IActionResult> GetMonitoring(int unit, DateTime dateFrom, DateTime dateTo, int page = 1, int size = 25, string Order = "{}")
        {
            VerifyUser();
            GetMonitoringFinishingQuery query = new GetMonitoringFinishingQuery(page, size, Order, unit, dateFrom, dateTo, WorkContext.Token);
            var viewModel = await Mediator.Send(query);

            return(Ok(viewModel.garmentMonitorings, info: new
            {
                page,
                size,
                viewModel.count
            }));
        }
        public async Task Handle_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            GetMonitoringFinishingQueryHandler unitUnderTest = CreateGetMonitoringFinishingQueryHandler();
            CancellationToken cancellationToken = CancellationToken.None;

            Guid guidFinishingOut     = Guid.NewGuid();
            Guid guidFinishingOutItem = Guid.NewGuid();
            Guid guidSewingOut        = Guid.NewGuid();
            Guid guidSewingOutItem    = Guid.NewGuid();

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

            _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), "", "", "", DateTimeOffset.Now, "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), "", "", "", DateTimeOffset.Now, "ro", "", new UnitDepartmentId(1), "", "", new GarmentComodityId(1), "", "", 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());

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

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