public async Task UpdateManager_WhenCalled_UpdateExistingManager()
        {
            const int    id         = 1;
            const string updateName = "Unai Emery";

            var managerUpdateDto = new ManagerUpdateDto
            {
                Name = updateName
            };

            var manager = new Manager
            {
                Id   = id,
                Name = "Josep Guardiola"
            };

            var expectedManager = new Manager
            {
                Id   = id,
                Name = updateName
            };

            _managerService.Setup(m => m.GetByIdAsync(id)).ReturnsAsync(manager);
            _managerService.Setup(m => m.GetDetailByIdAsync(id)).ReturnsAsync(expectedManager);

            var result = await _managersController.UpdateManager(id, managerUpdateDto);

            var okObjectResult      = result as OkObjectResult;
            var okObjectResultValue = okObjectResult.Value as ManagerDetailDto;

            _managerService.Verify(m => m.UpdateAsync(It.IsAny <Manager>()), Times.Once);

            Assert.That(result, Is.TypeOf <OkObjectResult>());
            Assert.That(okObjectResultValue.Name, Is.EqualTo(updateName));
        }
Beispiel #2
0
        public async Task <IHttpActionResult> Update([FromBody] ManagerUpdateDto managerUpdateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            User userToUpdate = await userRepository.FindByCondition(item => item.Id == managerUpdateDto.User.Id).FirstOrDefaultAsync();

            if (userToUpdate == null)
            {
                return(Content(HttpStatusCode.NotFound, "User not found"));
            }
            userRepository.Update(managerUpdateDto.User);

            //foreach (int item in managerUpdateDto.ConsultantsId)
            //{
            //    Consultant consultantToUpdate = await consultantRepository.FindByCondition(x => x.Id == item).FirstOrDefaultAsync();
            //    if (consultantToUpdate == null)
            //        return Content(HttpStatusCode.NotFound, "Consultant not found");
            //    consultantToUpdate.ManagerId = managerUpdateDto.Id;
            //    consultantRepository.Update(consultantToUpdate);
            //}

            await db.SaveChangesAsync();

            return(Ok());
        }
        public async Task <ActionResult <ManagerViewModel> > Edit([FromQuery] string managerId)
        {
            var manager = await Mediator.Send(new GetManagerByIdQuery { Id = managerId });

            var command          = new UpdateManagerCommand();
            var managerUpdateDto = new ManagerUpdateDto
            {
                ManagerViewModel     = manager,
                UpdateManagerCommand = command
            };

            return(this.View(managerUpdateDto));
        }
        public async Task UpdateManager_WhenCalled_ReturnNotFound()
        {
            const int    id         = 1;
            const string updateName = "Alexandre Lacazette";

            var managerUpdateDto = new ManagerUpdateDto
            {
                Name = updateName
            };

            _managerService.Setup(m => m.GetByIdAsync(id)).ReturnsAsync((Manager)null);

            var result = await _managersController.UpdateManager(id, managerUpdateDto);

            _managerService.Verify(m => m.GetByIdAsync(id), Times.Once);
            _managerService.Verify(m => m.UpdateAsync(It.IsAny <Manager>()), Times.Never);

            Assert.That(result, Is.TypeOf <NotFoundResult>());
        }
Beispiel #5
0
        public async Task <IActionResult> UpdateManager(int id, [FromBody] ManagerUpdateDto managerUpdateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var manager = await _managerService.GetByIdAsync(id);

            if (manager == null)
            {
                return(NotFound());
            }

            _mapper.Map(managerUpdateDto, manager);
            await _managerService.UpdateAsync(manager);

            var updatedManager = await _managerService.GetDetailByIdAsync(id);

            var returnManager = _mapper.Map <ManagerDetailDto>(updatedManager);

            return(Ok(returnManager));
        }
Beispiel #6
0
        public async Task <ManagerDto> Update([FromRoute] int id, [FromBody] ManagerUpdateDto dto)
        {
            await ManagerAppService.ChangeDistrictAsync(id, new DistrictDto { Id = dto.DistrictID });

            return(await ManagerAppService.GetAsync(id));
        }