/// <summary> /// Creates the client. /// </summary> /// <param name="adviserId">The adviser identifier.</param> /// <param name="newClient">The new client.</param> /// <returns> /// ResponseMessage /// </returns> public async Task <ResponseMessage> CreateClient(Guid adviserId, ClientMessage newClient) { var responseMassage = InitilizeResponseMessage(); var adviser = await _adviserRepository.GetById(adviserId); if (adviser == null) { return(SetValidationMessage(responseMassage, "Adviser not found")); } var client = new Client { Id = Guid.NewGuid(), UserDetails = new UserDetails { Name = newClient.Name, MiddleName = newClient.MiddleName ?? null, LastName = newClient.LastName, Dob = SetDob(newClient.Dob, ref responseMassage) } }; if (!responseMassage.IsSuccess) { return(responseMassage); } if (adviser.Clients == null || !adviser.Clients.Any()) { adviser.Clients = new List <Client>(); } adviser.Clients.Add(client); _adviserRepository.Update(adviser); var result = await _uow.Commit(); if (!result) { SetValidationMessage(responseMassage, ResponseMessageTransactionFailed); } return(responseMassage); }
/// <summary> /// Updates the adviser. /// </summary> /// <param name="adviser">The adviser.</param> /// <returns></returns> public async Task <ResponseMessage> UpdateAdviser(AdviserMessageExtended adviser) { var responseMassage = InitilizeResponseMessage(); var adviserToUpdate = new Adviser { Id = new Guid(adviser.AdviserId), UserDetails = new AdviserUserDetails { Name = adviser.Name, MiddleName = adviser.MiddleName ?? null, LastName = adviser.LastName, Dob = SetDob(adviser.Dob, ref responseMassage), CompanyName = adviser.CompanyName, NationInsuranceNumber = adviser.NationInsuranceNumber }, TotalAssetsUnderManagement = adviser.TotalAssetsUnderManagement, TotalFeesAndCharges = adviser.TotalFeesAndCharges, IsActive = adviser.IsActive }; if (!responseMassage.IsSuccess) { return(responseMassage); } _adviserRepository.Update(adviserToUpdate); var result = await _uow.Commit(); if (!result) { SetValidationMessage(responseMassage, ResponseMessageTransactionFailed); } return(responseMassage); }