예제 #1
0
        public async Task <Result> Edit(EditGlobalCoordinatorRequestDto dto)
        {
            var globalCoordinator = await _dataContext.Users.FilterAvailable()
                                    .SingleOrDefaultAsync(u => u.Id == dto.Id && u.Role == Role.GlobalCoordinator);

            if (globalCoordinator == null)
            {
                _loggerAdapter.Debug($"Global coordinator with id {dto.Id} was not found");
                return(Error(ResultKey.User.Common.UserNotFound));
            }

            globalCoordinator.Name                  = dto.Name;
            globalCoordinator.PhoneNumber           = dto.PhoneNumber;
            globalCoordinator.AdditionalPhoneNumber = dto.AdditionalPhoneNumber;
            globalCoordinator.Organization          = dto.Organization;

            await _dataContext.SaveChangesAsync();

            return(Success());
        }
        public async Task EditGlobalCoordinator_WhenEditingExistingUser_ExpectedFieldsGetEdited()
        {
            ArrangeUsersDbSetWithOneGlobalCoordinator();

            var existingUserEmail = _nyssContext.Users.Single(u => u.Id == 123)?.EmailAddress;

            var editRequest = new EditGlobalCoordinatorRequestDto
            {
                Id           = 123,
                Name         = "New name",
                Organization = "New organization",
                PhoneNumber  = "432432"
            };

            await _globalCoordinatorService.Edit(editRequest);

            var editedUser = _nyssContext.Users.Single(u => u.Id == 123) as GlobalCoordinatorUser;

            editedUser.ShouldNotBeNull();
            editedUser.Name.ShouldBe(editRequest.Name);
            editedUser.Organization.ShouldBe(editRequest.Organization);
            editedUser.PhoneNumber.ShouldBe(editRequest.PhoneNumber);
            editedUser.EmailAddress.ShouldBe(existingUserEmail);
        }
예제 #3
0
 public async Task <Result> Edit([FromBody] EditGlobalCoordinatorRequestDto editGlobalCoordinatorRequestDto) =>
 await _globalCoordinatorService.Edit(editGlobalCoordinatorRequestDto);