Ejemplo n.º 1
0
        // Interface methods
        public async Task <GetTimeSheetResponse> GetTimeSheet(GetTimeSheetRequest request)
        {
            // TODO: [TESTS] (TimeSheetService.GetTimeSheet) Add tests
            // ReSharper disable once UseObjectOrCollectionInitializer
            var response = new GetTimeSheetResponse();

            var clientId = request.ClientId;
            var from     = request.StartDate;
            var to       = request.EndDate;

            response.StartDate = from;
            response.EndDate   = to;
            response.DayCount  = (to - from).Days;

            response.Projects = (await _entriesRepo.GetReferencedProjects(clientId, from, to))
                                .AsQueryable()
                                .Select(ProjectDto.Projection)
                                .ToList();

            response.Products = (await _entriesRepo.GetReferencedProducts(clientId, from, to))
                                .AsQueryable()
                                .Select(ProductDto.Projection)
                                .ToList();

            response.Entries = (await _entriesRepo.GetEntries(request.ClientId, from, to))
                               .AsQueryable()
                               .Select(TimeSheetEntryDto.Projection)
                               .ToList();

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <GetTimeSheetResponse> > GetTimeSheet(
            [FromBody] GetTimeSheetRequest timeSheetRequest)
        {
            // TODO: [TESTS] (TimeSheetController.GetTimeSheet) Add tests
            var response = new BaseResponse <GetTimeSheetResponse>()
                           .WithResponse(await _timeSheetService.GetTimeSheet(timeSheetRequest));

            return(ProcessResponse(response));
        }
        public void GetTimeSheetHandler_WhenCalled_ItShouldReturnGetTimeSheetReponse()
        {
            // Arrange
            var request = new GetTimeSheetRequest(1);

            _subject = new GetTimeSheetHandler(request, _timeSheetContext);
            // Act
            var result = _subject.Handle();

            // Assert
            Assert.IsAssignableFrom <GetTimeSheetReponse>(result);
        }
        public void GetTimeSheetHandler_WhenCalledWithInvalidId_ItShouldReturnGetTimeSheetReponseWithNoTimeSheet()
        {
            // Arrange
            var request = new GetTimeSheetRequest(InValidTimeSheetId);

            _subject = new GetTimeSheetHandler(request, _timeSheetContext);
            WithTimeSheets();
            // Act
            var result = _subject.Handle();

            // Assert
            Assert.False(result.TimeSheet.HasValue);
        }
Ejemplo n.º 5
0
        public ActionResult <TimeSheet> Get(int id)
        {
            // TODO: Dtos something something?
            return(Execute(() =>
            {
                var request = new GetTimeSheetRequest(id);

                var response = RequestHandlerFactory
                               .Get <GetTimeSheetRequest, GetTimeSheetReponse>(request)
                               .Handle();

                return response.TimeSheet.ValueOr(() => throw new EntityNotFoundException());
            }));
        }
Ejemplo n.º 6
0
        public void TimeSheetController_WhenGetByIdNotFound_ItShouldReturnNotFoundResult()
        {
            // Arrange
            var request = new GetTimeSheetRequest(ValidId);

            WithHandlerSetup(request, () => new GetTimeSheetReponse(Option.None <TimeSheet>()));
            // Act
            var result = _subject.Get(ValidId);

            // Assert
            Assert.IsAssignableFrom <ActionResult <TimeSheet> >(result);
            Assert.IsAssignableFrom <NotFoundObjectResult>(result.Result);
            _mocker.VerifyAll();
        }
Ejemplo n.º 7
0
        public void OnGet(int id)
        {
            PageTitle = "Edit Timesheet";
            Execute(() =>
            {
                var request  = new GetTimeSheetRequest(id);
                var response = RequestHandlerFactory
                               .Get <GetTimeSheetRequest, GetTimeSheetReponse>(request)
                               .Handle();

                TimeSheet = response
                            .TimeSheet
                            .ValueOr(() => throw new BusinessLogicException("Timesheet not found"));
            });
        }