public UserController(CashDBContext context, IUserService userService, ILogger <UserController> logger, IMailService mailService) { _context = context; _userService = userService; _logger = logger; _mailService = mailService; }
public UserService(CashDBContext context, ILogger <BackgroundService> logger, IServiceScopeFactory scopeFactory, IMailService mailService, IUserAuthenticate userAuthenticate) { _context = context; _logger = logger; _scopeFactory = scopeFactory; _mailService = mailService; _userAuthenticate = userAuthenticate; }
// Verify IF database was already updated today bool CheckDatabase(CashDBContext _context) { var query = _context.cashDBModels .Where(s => s.Data.Date == DateTime.Today.Date).FirstOrDefault(); if (query == null) { return(false); } return(true); }
private void SendTodayCurrencyToSubscribers(CashDBContext _context, IMailService _mailService, List <CurrencyDBModel> listOfCash) { string message = MakeMessage(listOfCash); var users = _context.userDBModels.Where(s => s.Subscriptions == true).ToList(); if (users != null) { foreach (UserDBModel item in users) { _mailService.SendMail(item.Email, "Kurs walut", message); } } }
public void SendCurrencyToDataBase(List <CurrencyDBModel> _listOfValue, CashDBContext _context) { if (!CheckDatabase(_context)) { foreach (CurrencyDBModel cash in _listOfValue) { _context.cashDBModels.Add(cash); } _context.SaveChanges(); SendTodayCurrencyToSubscribers(_context, _mailService, _listOfValue); CheckAndSendAlert(_context, _mailService, _listOfValue); } }
private void CheckAndSendAlert(CashDBContext _context, IMailService _mailService, List <CurrencyDBModel> listOfCash) { var alerts = _context.Remainders.ToList(); foreach (Remainder item in alerts) { if (item.Price == "Less") { CurrencyDBModel todayPrice = listOfCash.FirstOrDefault(s => s.Code == item.Code); if (todayPrice != null) { if (item.BidPrice > todayPrice.BidPrice) { var user = _context.userDBModels.FirstOrDefault(s => s.ID == item.UserID); if (user != null) { _mailService.SendMail(user.Email, "Alert kursu", MakeMessageForAlert(todayPrice.Code, "sprzedaży", todayPrice.BidPrice)); } } } } if (item.Price == "More") { CurrencyDBModel todayPrice = listOfCash.FirstOrDefault(s => s.Code == item.Code); if (todayPrice != null) { if (item.AskPrice < todayPrice.AskPrice) { var user = _context.userDBModels.FirstOrDefault(s => s.ID == item.UserID); if (user != null) { _mailService.SendMail(user.Email, "Alert kursu", MakeMessageForAlert(todayPrice.Code, "kupna", todayPrice.AskPrice)); } } } } if (item.EndDateOfAlert < DateTime.Now) { _context.Remove(item); _context.SaveChanges(); } } }
public AlertController(CashDBContext context, ILogger <AlertController> logger) { _context = context; _logger = logger; }
public UserAuthenticateService(CashDBContext context) { _context = context; }
public List <CurrencyDBModel> GetLastNumberOfCurrency(string iso, int count, CashDBContext _context) { return(_context.cashDBModels.Where(s => s.Code == iso).OrderByDescending(s => s.ID).Take(count).ToList()); }
public CurrencyDBModel GetLastOne(string iso, CashDBContext _context) { return(_context.cashDBModels.OrderByDescending(s => s.ID).Where(s => s.Code == iso).FirstOrDefault()); }
public List <CurrencyDBModel> GetTodayAllCurrency(CashDBContext _context) { return(_context.cashDBModels.OrderByDescending(s => s.ID).Take(13).ToList()); }
public CashController(CashDBContext context) { _context = context; }