Ejemplo n.º 1
0
        private Customer CreateCustomer(CustomerCreditDto dto, decimal creditLimit)
        {
            // Customer bilgileri kaydedilir.
            var addedCustomer = AddCustomer(new Customer
            {
                IdentityNumber = dto.IdentityNumber,
                FirstName      = dto.FirstName,
                LastName       = dto.LastName,
                MonthlyIncome  = dto.MonthlyIncome,
                PhoneNumber    = dto.PhoneNumber,
                CreationDate   = DateTime.Now,
                CreditLimit    = creditLimit
            });

            if (addedCustomer == null)
            {
                logger.Error("An error occurred while creating customer.!");
            }
            return(addedCustomer);
        }
Ejemplo n.º 2
0
        public GetCustomerCreditDto CheckCreditAvailibility(CustomerCreditDto dto)
        {
            var customerCredit = new GetCustomerCreditDto
            {
                CreditResult       = CreditResultType.Reject,
                CreditLimit        = 0,
                CreditResultReason = string.Empty
            };

            try
            {
                if (dto != null)
                {
                    // Normalde Kredi skoru bilgisi servisten gelmelidir.
                    var customerScore = _customerScore.Get(x => x.IdentityNumber == dto.IdentityNumber);
                    if (customerScore == null)
                    {
                        logger.Info($"Identity number could not found!");
                        return(customerCredit);
                    }

                    customerCredit = GetCustomerCredit(customerScore, dto.MonthlyIncome);

                    CreateCustomer(dto, customerCredit.CreditLimit);
                    CreateCustomerHistory(dto.IdentityNumber, customerCredit.CreditResult, customerScore.Score);

                    //Sms gönderme işlemi
                    _smsSender.SendSms(new SendSmsDto());
                }

                return(customerCredit);
            }
            catch (Exception ex)
            {
                logger.Error($"An error occurred : {ex.Message}");
                throw new Exception(ex.Message);
            }
        }