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