/// <summary> /// Gets the adviser. /// </summary> /// <param name="adviserId">The adviser identifier.</param> /// <returns>ResponseAdviserMessage</returns> public async Task <AdviserMessageExtended> GetAdviser(Guid adviserId) { var result = await _adviserRepository.GetById(adviserId); if (result == null) { return(null); } return(new AdviserMessageExtended { AdviserId = result.Id.ToString(), Name = result.UserDetails.Name, MiddleName = result.UserDetails.MiddleName, LastName = result.UserDetails.LastName, CompanyName = result.UserDetails.CompanyName, NationInsuranceNumber = result.UserDetails.NationInsuranceNumber, Dob = result.UserDetails.Dob.FormatDate(), Clients = result.Clients != null ? (from c in result.Clients select new ClientMessageExtended { ClientId = c.Id.ToString(), Name = c.UserDetails.Name, MiddleName = c.UserDetails.MiddleName, LastName = c.UserDetails.LastName, Dob = c.UserDetails.Dob.FormatDate() }).ToList() : null, TotalAssetsUnderManagement = result.TotalAssetsUnderManagement, TotalFeesAndCharges = result.TotalFeesAndCharges, IsActive = result.IsActive }); }
/// <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); }