public async Task <ServiceUserResponse> GetServiceUserInformation(int hackneyId) { var serviceUserCount = await _serviceUserGateway.GetServiceUserCountAsync(hackneyId); if (serviceUserCount is 0) { var serviceUserResponse = await _residentsService.GetServiceUserInformationAsync(hackneyId); if (serviceUserResponse is null) { throw new ApiException($"service user with hackney Id : {hackneyId} not found"); } foreach (var item in serviceUserResponse.Residents) { var newServiceUserDomain = new ServiceUserDomain() { HackneyId = hackneyId, FirstName = item.FirstName, LastName = item.LastName, DateOfBirth = item.DateOfBirth, AddressLine1 = item.Address?.Address, PostCode = item.Address?.Postcode }; await _serviceUserGateway.CreateAsync(newServiceUserDomain.ToEntity()); } } var serviceUserDomain = await _serviceUserGateway.GetAsync(hackneyId) .EnsureExistsAsync($"service user with hackney Id : {hackneyId} not found"); return(serviceUserDomain.ToResponse()); }
public async Task <ServiceUserDomain> ExecuteAsync(ServiceUserDomain serviceUser) { var clientEntity = serviceUser.ToEntity(); clientEntity = await _gateway.UpsertAsync(clientEntity).ConfigureAwait(false); if (clientEntity == null) { return(null); } serviceUser = clientEntity.ToDomain(); return(serviceUser); }
public static ServiceUser ToEntity(this ServiceUserDomain serviceUserDomain) { return(new ServiceUser { Id = serviceUserDomain.Id, FirstName = serviceUserDomain.FirstName, MiddleName = serviceUserDomain.MiddleName, LastName = serviceUserDomain.LastName, DateOfBirth = serviceUserDomain.DateOfBirth, HackneyId = serviceUserDomain.HackneyId, AddressLine1 = serviceUserDomain.AddressLine1, AddressLine2 = serviceUserDomain.AddressLine2, AddressLine3 = serviceUserDomain.AddressLine3, Town = serviceUserDomain.Town, County = serviceUserDomain.County, PostCode = serviceUserDomain.PostCode, CreatorId = serviceUserDomain.CreatorId, UpdaterId = serviceUserDomain.UpdaterId }); }
public static ServiceUserResponse ToResponse(this ServiceUserDomain input) { return(_mapper.Map <ServiceUserResponse>(input)); }