Exemplo n.º 1
0
        public async Task <IEnumerable <QueryParamDTO> > GetCards(QueryParamDTO query)
        {
            try
            {
                return(await read.GetCards(query));
            }
            catch (Exception ex)
            {
                await elastic.Execute(ex);

                var stack = (new StackTrace(ex, true)).GetFrame(0);
                logger.LogError($"\n\n\n Exeption in File : {stack.GetFileName()} ; \n\n\n Line : {stack.GetFileLineNumber()} ; \n\n\n Message : {ex.Message} \n\n\n");
                await mail.SendEmailAsync(new EmailService.Models.EmailParams()
                {
                    Title = $"Exeption in File : {stack.GetFileName()}", UserList = new List <UserDTO>()
                    {
                        new UserDTO()
                        {
                            UserID = query.UserID, UserEmail = Configuration.SmtpClientAdminEmail, UserFullName = Configuration.SmtpClientAdminEmail, UserName = Configuration.SmtpClientAdminEmail
                        }
                    }
                });

                throw new Exception($"Не удалось обработать запрос обратитесь за помощью в службу поддержки");
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> MoneyToBonusCard(QueryParamDTO request)
        {
            try
            {
                await Data.MoneyToBonusCard(request);

                return(Ok("Зачисление успешно завершено"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 3
0
        public async Task MoneyToBonusCard(QueryParamDTO query)
        {
            try
            {
                var card = (await read.GetCardBalanseByCardNumber(new List <QueryParamDTO>()
                {
                    query
                })).Select(x => (IDictionary <string, object>)x).ToList().FirstOrDefault();
                if (card == null)
                {
                    await elastic.Execute(TypeEvent.Warning, $"По карте {query.BonusCardNumber} : Нет информации в базе данных");

                    throw new Exception($"По карте {query.BonusCardNumber} : Нет информации в базе данных");
                }
                if ((DateTime)card.Where(x => x.Key == "BonusCardTimeEnd").Select(x => x.Value).FirstOrDefault() < DateTime.Now)
                {
                    await elastic.Execute(TypeEvent.Warning, $"По карте {query.BonusCardNumber} : Истек срок действия карты");

                    throw new Exception($"По карте {query.BonusCardNumber} : Истек срок действия карты");
                }

                if ((decimal)card.Where(x => x.Key == "BonusCardBalanse").Select(x => x.Value).FirstOrDefault() < (query.MoneyFromBonusCard ?? 0))
                {
                    await elastic.Execute(TypeEvent.Warning, $"По карте {query.BonusCardNumber} :Не достаточно средств для списания");

                    throw new Exception($"По карте {query.BonusCardNumber} :Не достаточно средств для списания");
                }
                await write.MoneyToBonusCard(query);
            }
            catch (Exception ex)
            {
                await elastic.Execute(ex);

                var stack = (new StackTrace(ex, true)).GetFrame(0);
                logger.LogError($"\n\n\n Exeption in File : {stack.GetFileName()} ; \n\n\n Line : {stack.GetFileLineNumber()} ; \n\n\n Message : {ex.Message} \n\n\n");
                await mail.SendEmailAsync(new EmailService.Models.EmailParams()
                {
                    Title = $"Exeption in File : {stack.GetFileName()}", UserList = new List <UserDTO>()
                    {
                        new UserDTO()
                        {
                            UserID = query.UserID, UserEmail = Configuration.SmtpClientAdminEmail, UserFullName = Configuration.SmtpClientAdminEmail, UserName = Configuration.SmtpClientAdminEmail
                        }
                    }
                });

                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetCards(QueryParamDTO request)
        {
            try
            {
                var result = await Data.GetCards(request);

                if (result.Count() > 0)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NoContent());
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 5
0
 public async Task <IEnumerable <QueryParamDTO> > GetCards(QueryParamDTO query)
 {
     logger.LogInformation($"Using method GetCards whis params {query}");
     return(await _enterprice.QueryAsync <QueryParamDTO>(QueryCollection.GetCards, new { @UserPhoneNumber = query.UserPhoneNumber, @BonusCardNumber = query.BonusCardNumber }, commandTimeout : TimeOut));
 }
Exemplo n.º 6
0
 public async Task MoneyToBonusCard(QueryParamDTO query)
 {
     logger.LogInformation($"Using method MoneyToBonusCard whis params {query}");
     await _enterprice.QueryAsync <dynamic>(CommandCollection.MoneyToBonusCard, new { @param = query.BonusCardNumber, @money = query.MoneyFromBonusCard }, commandTimeout : TimeOut);
 }