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($"Не удалось обработать запрос обратитесь за помощью в службу поддержки"); } }
public async Task <IActionResult> MoneyToBonusCard(QueryParamDTO request) { try { await Data.MoneyToBonusCard(request); return(Ok("Зачисление успешно завершено")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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); } }
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)); } }
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)); }
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); }