Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        /// <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);
        }