public async Task <Result> UpdateWorkAsync(WorkUpdateDto workDto)
        {
            var resultValidation = ValidateRanteDateTime(workDto.StartTime, workDto.EndTime);

            if (!resultValidation.Success)
            {
                return(resultValidation);
            }
            var existWork = await _workRepository.ExistAsync(workDto.Id);

            if (!existWork)
            {
                return(new Result(Status.NotFund, $"Work with {nameof(workDto.Id)} does not exist"));
            }

            var work = await _workRepository.GetByIdAsync(workDto.Id);

            work.SetData(
                startTime: workDto.StartTime,
                endTime: workDto.EndTime,
                comment: workDto.Comment,
                hours: workDto.Hours
                );

            await _workRepository.UpdateAsync(work);

            var result = await _mockyService.SendNotificationAsync("Lançamento de horas", "Um lançamento de horas foi atualizado");

            if (!result.Success || !result.Data)
            {
                return(new Result(Status.Error, result.ErrorMessages));
            }
            return(new Result());
        }
Exemple #2
0
 public IActionResult UpdateWork(WorkUpdateDto model)
 {
     ViewBag.Priorities = new SelectList(_priorityService.GetAll(), "Id", "Description", model.PriorityId);
     if (ModelState.IsValid)
     {
         _workService.Update(_mapper.Map <Work>(model));
         return(RedirectToAction("Index"));
     }
     return(View(model));
 }
Exemple #3
0
        public async void UpdateWorkTest(
            Status expectedStatus,
            DateTime startTime,
            DateTime endTime
            )
        {
            var developer = EntitiesFactory.NewDeveloper().Save();
            var project   = EntitiesFactory.NewProject(developerIds: new[] { developer.Id }).Save();
            var work      = EntitiesFactory.NewWork(
                id: Guid.NewGuid(),
                developerProjectId: project.DeveloperProjects.Single().Id
                ).Get();

            var workDto = new WorkUpdateDto
            {
                Id        = work.Id,
                StartTime = startTime,
                EndTime   = endTime,
                Comment   = RandomHelper.RandomString(180),
                Hours     = 250
            };

            _workRepository.Setup(d => d.ExistAsync(workDto.Id))
            .ReturnsAsync(expectedStatus != Status.NotFund);
            _workRepository.Setup(d => d.GetByIdAsync(workDto.Id))
            .ReturnsAsync(work);
            _mockyRepository.Setup(m => m.SendNotificationAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(new Result <bool>(expectedStatus != Status.Error));

            var service = new WorkService(
                _workRepository.Object,
                _developerRepository.Object,
                _projectRepository.Object,
                _mockyRepository.Object
                );
            var result = await service.UpdateWorkAsync(workDto);

            Assert.Equal(expectedStatus, result.Status);
            if (expectedStatus == Status.Success)
            {
                _workRepository.Verify(d => d.UpdateAsync(work), Times.Once);
                _mockyRepository.Verify(d => d.SendNotificationAsync(It.IsAny <string>(), It.IsAny <string>()), Times.Once);
                Assert.Equal(workDto.Comment, work.Comment);
                Assert.Equal(workDto.StartTime, work.StartTime);
                Assert.Equal(workDto.EndTime, work.EndTime);
                Assert.Equal(workDto.Hours, work.Hours);
            }
        }
Exemple #4
0
        public async Task <ActionResult <Work> > UpdateWork(int workId, WorkUpdateDto workUpdateDto)
        {
            var work = await _unitOfWork.WorkRepository.GetWorkByIdAsync(workId);

            if (work == null)
            {
                return(NotFound("There is no work with given id"));
            }

            var workToUpdate = _mapper.Map(workUpdateDto, work);

            if (await _unitOfWork.SaveAll())
            {
                return(Ok(workToUpdate));
            }

            return(BadRequest("Saving work didn't succeed"));
        }
Exemple #5
0
        public IActionResult UpdateWork(WorkUpdateDto model)
        {
            if (ModelState.IsValid)
            {
                _workService.Update(new Work
                {
                    Id          = model.Id,
                    Description = model.Description,
                    Name        = model.Name,
                    UrgencyId   = model.UrgencyId
                });

                return(RedirectToAction("Index"));
            }

            ViewBag.Urgencies = new SelectList(_urgenyService.GetAll(), "Id", "Description", model.UrgencyId);

            return(View(model));
        }