public IActionResult LoginCheck(OnlineChecker Data_get)
        {
            LoginUser userSubmission = Data_get.LoginUser;

            if (ModelState.IsValid)
            {
                var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == userSubmission.Email);
                if (userInDb == null)
                {
                    ModelState.AddModelError("LoginUser.Email", "Invalid Email");
                    return(View("Index"));
                }
                var hasher = new PasswordHasher <LoginUser>();
                var result = hasher.VerifyHashedPassword(userSubmission, userInDb.Password, userSubmission.Password);
                if (result == 0)
                {
                    ModelState.AddModelError("LoginUser.Password", "Password Incorrect!");
                    return(View("Index"));
                }
                else
                {
                    HttpContext.Session.SetInt32("UserId", userInDb.UserId);
                    return(RedirectToAction("MainMenu"));
                }
            }
            else
            {
                return(View("Index"));
            }
        }
        public IActionResult Registration(OnlineChecker Data_get)
        {
            User the_user = Data_get.User;

            if (ModelState.IsValid)
            {
                if (dbContext.Users.Any(u => u.Email == the_user.Email))
                {
                    ModelState.AddModelError("User.Email", "Email already in use!");
                    return(View("Index"));
                }
                else
                {
                    PasswordHasher <User> Hasher = new PasswordHasher <User>();
                    the_user.Password = Hasher.HashPassword(the_user, the_user.Password);
                    dbContext.Add(the_user);
                    dbContext.SaveChanges();
                    User this_user = dbContext.Users.FirstOrDefault(user => user.Email == the_user.Email);
                    HttpContext.Session.SetInt32("UserId", this_user.UserId);
                    return(RedirectToAction("MainMenu"));
                }
            }
            else
            {
                return(View("Index"));
            }
        }
 private void CheckIfComputerIsOnline()
 {
     if (OnlineChecker.CheckIfComputerIsOnline())
     {
         Online.Text       = "Online";
         Online.Background = new SolidColorBrush(Colors.LimeGreen);
     }
     else
     {
         Online.Text       = "Offline";
         Online.Background = new SolidColorBrush(Colors.Red);
     }
 }
        public IActionResult CreateNewWedding(OnlineChecker Data_get)
        {
            Wedding the_wedding = Data_get.Wedding;

            if (ModelState.IsValid)
            {
                the_wedding.UserId = (int)HttpContext.Session.GetInt32("UserId");
                dbContext.Add(the_wedding);
                dbContext.SaveChanges();
                return(RedirectToAction("MainMenu"));
            }
            else
            {
                return(View("New"));
            }
        }
        private async Task GetEmailsAsync()
        {
            if (Refresh)
            {
                while (Refresh && OnlineChecker.CheckIfComputerIsOnline())
                {
                    FullEmailList = await Task.Run(() => getMailService.GetEmailMessagesAsync());

                    //foreach (var item in from email in result
                    //                     where FullEmailList.Contains(email, new EmailComparer()) == false
                    //                     select email)
                    //{
                    //    FullEmailList.Add(item);
                    //}
                    SetSpecificRangeOfEmails(From, To);
                    await Task.Delay(5000);
                }
            }
            else
            {
                getMailService.Disconnect();
            }
        }