Example #1
0
        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));
        }
Example #2
0
        /// <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);
        }