Ejemplo n.º 1
0
        public async Task <IActionResult> FAQ(
            [FromServices] Services.IEmailSender emailSender,
            [FromServices] IOptionsSnapshot <Models.AppSettings> appSettings,
            string email,
            string message,
            int hideMe
            )
        {
            string str = "";

            if (hideMe == 4)
            {
                this.ctx.Messages.Add(new Message()
                {
                    Msg       = message,
                    Email     = email,
                    TimeStamp = DateTime.UtcNow
                });
                this.ctx.SaveChanges();
                str = "Thanks!";
                try
                {
                    await emailSender.SendEmailAsync(appSettings.Value.Email, "Private message from AwardHacks", email + " said " + message);
                }
                catch { }
            }
            return(View((object)str));
        }
Ejemplo n.º 2
0
 public OrderController(IOrderService orderService, Services.IEmailSender emailSender,
                        IUserService userService)
 {
     this.orderService = orderService;
     this.emailSender  = emailSender;
     this.userService  = userService;
 }
Ejemplo n.º 3
0
 public HomeController(DALContext db, IMemoryCache memoryCache, SessionManager session, Services.IEmailSender emailSender)
 {
     _db          = db;
     _memoryCache = memoryCache;
     _session     = session;
     _emailSender = emailSender;
 }
 public MessagesController(UserManager <ApplicationUser> userManager, ApplicationDbContext context,
                           Services.IEmailSender sender)
 {
     _context     = context;
     _userManager = userManager;
     _sender      = sender;
 }
Ejemplo n.º 5
0
 public EmailModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     Services.IEmailSender emailSender)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
 }
Ejemplo n.º 6
0
 public IndexModel(
     UserManager <IdentityUser> userManager,
     SignInManager <IdentityUser> signInManager,
     Services.IEmailSender emailSender)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
 }
Ejemplo n.º 7
0
 public LoginModel(SignInManager <ApplicationUser> signInManager,
                   ILogger <LoginModel> logger,
                   UserManager <ApplicationUser> userManager,
                   Services.IEmailSender emailSender)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
     _logger        = logger;
 }
Ejemplo n.º 8
0
 public AccountController(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     Services.IEmailSender emailSender,
     ILogger <AccountController> logger)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
     _logger        = logger;
 }
Ejemplo n.º 9
0
 public RegisterModel(
     UserManager <IdentityUser> userManager,
     SignInManager <IdentityUser> signInManager,
     ILogger <RegisterModel> logger,
     Services.IEmailSender emailSender)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailSender   = emailSender;
 }
Ejemplo n.º 10
0
 public RequestController(ApplicationDbContext context,
                          UserManager <ApplicationUser> userManager,
                          SignInManager <ApplicationUser> signInManager,
                          Services.IEmailSender emailSender,
                          ILogger <AccountController> logger)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
     _logger        = logger;
     _context       = context;
 }
Ejemplo n.º 11
0
 public UsersController(
     UserManager <IdentityUser> userManager,
     SignInManager <IdentityUser> signInManager,
     Services.IEmailSender emailSender,
     ILoggerFactory loggerFactory,
     RoleManager <IdentityRole> roleManager)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
     _logger        = loggerFactory.CreateLogger <UsersController>();
     _roleManager   = roleManager;
 }
Ejemplo n.º 12
0
 public ExternalLoginModel(
     SignInManager <IdentityUser> signInManager,
     UserManager <IdentityUser> userManager,
     ILogger <ExternalLoginModel> logger,
     Services.IEmailSender emailSender,
     RoleManager <IdentityRole> roleManager)
 {
     _roleManager   = roleManager;
     _signInManager = signInManager;
     _userManager   = userManager;
     _logger        = logger;
     _emailSender   = emailSender;
 }
Ejemplo n.º 13
0
 public CartController(IShoppingCartService shoppingCartService
                       , IMenuItemService menuItemService
                       , ICouponService couponService
                       , IUserService userService
                       , IOrderService orderService
                       , Services.IEmailSender emailSender)
 {
     this.shoppingCartService = shoppingCartService;
     this.menuItemService     = menuItemService;
     this.couponService       = couponService;
     this.userService         = userService;
     this.orderService        = orderService;
     this.emailSender         = emailSender;
 }
Ejemplo n.º 14
0
 public RegisterModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     ILogger <RegisterModel> logger,
     Services.IEmailSender emailSender,
     ApplicationDbContext db,
     RoleManager <IdentityRole> roleManager)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailSender   = emailSender;
     _db            = db;
     _roleManager   = roleManager;
 }
Ejemplo n.º 15
0
 public ForgotPasswordModel(UserManager <ApplicationUser> userManager, Services.IEmailSender emailSender)
 {
     _userManager = userManager;
     _emailSender = emailSender;
 }
Ejemplo n.º 16
0
 public UnconfirmedEmailModel(UserManager <IdentityUser> userManager, Services.IEmailSender emailSender)
 {
     _userManager = userManager;
     _emailSender = emailSender;
 }
 public RegisterConfirmationModel(UserManager <ApplicationUser> userManager, Services.IEmailSender sender)
 {
     _userManager = userManager;
     _sender      = sender;
 }
Ejemplo n.º 18
0
        public async Task <IActionResult> SendAlerts(
            [FromServices] Services.IViewRenderService render,
            [FromServices] Services.IEmailSender sender,
            bool dryRun = true, string secret = null)
        {
            if (secret == appSettings.Secret)
            {
                var changes = ctx.AllChanges.Include(c => c.Route).Where(c => c.Route.Crawl && c.Route.Show && (c.Business > 0 || c.Go > 0 || c.Plus > 0))
                              .ToList().Where(c => c.HasIncrease(CabinClass.All)).ToList();
                var alerts   = ctx.Alerts.Where(a => !a.ToDate.HasValue || a.ToDate >= DateTime.Now.Date).ToList();
                var newMails = new Dictionary <string, AlertMailModel>();
                foreach (var change in changes)
                {
                    var matches = alerts.Where(a => a.Created < change.CrawlDate && a.RouteId == change.RouteId && a.Return == change.Return && a.IsInRange(change.TravelDate));
                    matches = matches.Where(a => a.Matches(CabinClass.Go, change.Go) || a.Matches(CabinClass.Plus, change.Plus) || a.Matches(CabinClass.Business, change.Business)).ToList();
                    foreach (var alert in matches)
                    {
                        if (change.HasIncrease(alert.CabinClass))
                        {
                            if (dryRun || !ctx.SentMail.Any(sm => sm.UserId == alert.UserId && sm.Crawl.RouteId == alert.RouteId && sm.Crawl.Return == alert.Return && sm.Crawl.TravelDate == change.TravelDate))
                            {
                                if (!newMails.ContainsKey(alert.UserId))
                                {
                                    var user = ctx.Users.FirstOrDefault(u => u.Id == alert.UserId);
                                    newMails[alert.UserId] = new AlertMailModel
                                    {
                                        User = user,
                                        Rows = new List <MailContainer>()
                                    };
                                }
                                newMails[alert.UserId].Rows.Add(new MailContainer {
                                    Crawl = change, Pax = (uint)alert.Passengers, CabinClass = alert.CabinClass
                                });
                            }
                        }
                    }
                }
                var countHash = newMails.Values.SelectMany(m => m.Rows).GroupBy(c => c.Crawl.Id).ToDictionary(g => g.Key, g => g.Count());
                if (dryRun)
                {
                    foreach (var mail in newMails.Values.Take(5))
                    {
                        mail.CountHash = countHash;
                        var html = await render.RenderToStringAsync("Alerts/AlertMail", mail);

                        await sender.SendEmailAsync(appSettings.Email, "AwardHacks found new seats for you", html);
                    }
                }
                else
                {
                    foreach (var mail in newMails.Values)
                    {
                        try
                        {
                            mail.CountHash = countHash;
                            mail.Rows      = mail.Rows.OrderBy(c => c.Crawl.TravelDate).Distinct().ToList();
                            var html = await render.RenderToStringAsync("Alerts/AlertMail", mail);

                            foreach (var c in mail.Rows.Select(r => r.Crawl))
                            {
                                var sm = new SentMail
                                {
                                    UserId  = mail.User.Id,
                                    CrawlId = c.Id,
                                    Date    = DateTime.UtcNow
                                };
                                ctx.SentMail.Add(sm);
                            }
                            ctx.SaveChanges();

                            await sender.SendEmailAsync(mail.User.Email, "AwardHacks found new seats for you", html);
                        }
                        catch (Exception ex)
                        {
                            //Todo: log
                        }
                        //return Content(html, "text/html");
                    }
                }
            }
            return(Ok());
        }
 public ForgotPasswordModel(UserManager <IdentityUser> userManager, Services.IEmailSender emailSender)
 {
     _userManager = userManager;
     _emailSender = emailSender;
 }
Ejemplo n.º 20
0
 public HomeController(Services.IEmailSender mailer, IUtils utils, IStudentsRepository repo)
 {
     _mailer = mailer;
     _utils  = utils;
     _repo   = repo;
 }
Ejemplo n.º 21
0
 public AccountController(SessionManager session, DALContext db, Services.IEmailSender emailSender)
 {
     _session     = session;
     _db          = db;
     _emailSender = emailSender;
 }