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;
 }
Ejemplo n.º 3
0
        // 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);
        }
Ejemplo n.º 4
0
        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);
                }
            }
        }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
        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();
                }
            }
        }
Ejemplo n.º 7
0
 public AlertController(CashDBContext context, ILogger <AlertController> logger)
 {
     _context = context;
     _logger  = logger;
 }
Ejemplo n.º 8
0
 public UserAuthenticateService(CashDBContext context)
 {
     _context = context;
 }
Ejemplo n.º 9
0
 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());
 }
Ejemplo n.º 10
0
 public CurrencyDBModel GetLastOne(string iso, CashDBContext _context)
 {
     return(_context.cashDBModels.OrderByDescending(s => s.ID).Where(s => s.Code == iso).FirstOrDefault());
 }
Ejemplo n.º 11
0
 public List <CurrencyDBModel> GetTodayAllCurrency(CashDBContext _context)
 {
     return(_context.cashDBModels.OrderByDescending(s => s.ID).Take(13).ToList());
 }
 public CashController(CashDBContext context)
 {
     _context = context;
 }