public async Task <IActionResult> UpdateClient( [FromRoute] string adviserId, [FromBody] ClientMessageExtended request) { var response = await _clientService.UpdateClient(new Guid(adviserId), request); if (response == null || !response.IsSuccess || (response.ValidationMessages != null && response.ValidationMessages.Any())) { return(BadRequest(response)); } return(Ok(response)); }
/// <summary> /// Updates the client. /// </summary> /// <param name="adviserId">The adviser identifier.</param> /// <param name="client">The client.</param> /// <returns> /// ResponseMessage /// </returns> /// <exception cref="NotImplementedException"></exception> public async Task <ResponseMessage> UpdateClient(Guid adviserId, ClientMessageExtended client) { var responseMassage = InitilizeResponseMessage(); var adviser = await _adviserRepository.GetById(adviserId); if (adviser == null) { return(SetValidationMessage(responseMassage, "Adviser not found")); } var clientIdGuid = new Guid(client.ClientId); var adviserClient = adviser.Clients?.FirstOrDefault(p => p.Id.Equals(clientIdGuid)); if (adviserClient == null) { return(SetValidationMessage(responseMassage, "Client not found")); } adviserClient.UserDetails.Name = client.Name; adviserClient.UserDetails.MiddleName = client.MiddleName ?? null; adviserClient.UserDetails.LastName = client.LastName; adviserClient.UserDetails.Dob = SetDob(client.Dob, ref responseMassage); if (!responseMassage.IsSuccess) { return(responseMassage); } _adviserRepository.Update(adviser); var result = await _uow.Commit(); if (!result) { SetValidationMessage(responseMassage, ResponseMessageTransactionFailed); } return(responseMassage); }