Exemple #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            System.Collections.Generic.IEnumerable <User> dbUser = await userRepository.GetUsers();

            if (dbUser.AsEnumerable().Any(x => x.Username.ToLower() == User.Username.ToLower()))
            {
                HasError          = true;
                ViewData["Error"] = "Σφάλμα! Υπάρχει ήδη χρήστης με αυτό το Όνομα Χρήστη που επιλέξατε.";
                return(Page());
            }

            if (dbUser.AsEnumerable().Any(x => x.Email.ToLower() == User.Email.ToLower()))
            {
                HasError          = true;
                ViewData["Error"] = "Σφάλμα! Υπάρχει ήδη χρήστης με αυτό το Ηλ. Ταχυδρομείο που επιλέξατε.";
                return(Page());
            }

            User.Password = CrypterAlgorithm.ComputeSha256Hash(User.Password);

            if (await userRepository.InsertUser(User))
            {
                return(RedirectToPage(Url.Content("~/Home/Index")));
            }

            return(Page());
        }
        public async Task <IActionResult> OnPostAsync()
        {
            System.Collections.Generic.IEnumerable <User> dbUsers = await userRepository.GetUsers();

            if (dbUsers.Any(x => x.Username.ToLower() == User.Username.ToLower().Trim()))
            {
                HasError          = true;
                ViewData["Error"] = "Υπάρχει ήδη χρήστης με Όνομα Χρήστη (Username) που δώσατε.";
                return(Page());
            }

            if (dbUsers.Any(x => x.Email.ToLower() == User.Email.ToLower().Trim()))
            {
                HasError          = true;
                ViewData["Error"] = "Υπάρχει ήδη χρήστης με την Ηλεκτρονική Διεύθυνση που δώσατε.";
                return(Page());
            }

            User.Username = User.Username.Trim();
            User.Email    = User.Email.Trim();
            User.Password = CrypterAlgorithm.ComputeSha256Hash(User.Password);

            if (await userRepository.InsertUser(User))
            {
                HasError = false;
                TempData["SuccessMessage"] = "Ο Χρήστης προστέθηκε με επιτυχία.";
                return(RedirectToPage(Url.Content("~/Admin/UserList")));
            }

            HasError          = true;
            ViewData["Error"] = "Δεν μπορέσαμε να κάνουμε την εγγραφή προσπαθήστε ξανά";
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync()
        {
            User dbUser = (await userRepository.GetUsers()).FirstOrDefault(x => x.Username.ToLower() == User.Username.ToLower());

            if (dbUser is null)
            {
                HasError          = true;
                ViewData["Error"] = "Ο χρήστης δεν υπάρχει.";
                return(Page());
            }

            if (!CrypterAlgorithm.VerifyHash(SHA256.Create(), User.Password, dbUser.Password))
            {
                HasError          = true;
                ViewData["Error"] = "Δεν ταιριάζει ο κωδικός χρήστης.";
                return(Page());
            }

            HttpContext.Session.SetString("USERNAME", dbUser.Username);
            HttpContext.Session.SetInt32("ISLOGIN", 1);
            HttpContext.Session.SetString("ISADMIN", dbUser.IsAdmin ? "1" : "0");
            HttpContext.Session.SetInt32("USERID", dbUser.Id);

            return(RedirectToPage(Url.Content("~/Home/Index")));
        }
        public async Task <IActionResult> OnPostAsync()
        {
            System.Collections.Generic.IEnumerable <User> dbUsers = await userRepository.GetUsers();

            if (dbUsers.Any(x => x.Username.ToLower() == SUser.Username.ToLower().Trim() && x.Id != SUser.Id))
            {
                HasError          = true;
                ViewData["Error"] = "Υπάρχει ήδη χρήστης με Όνομα Χρήστη (Username) που δώσατε.";
                return(Page());
            }

            if (dbUsers.Any(x => x.Email.ToLower() == SUser.Email.ToLower().Trim() && x.Id != SUser.Id))
            {
                HasError          = true;
                ViewData["Error"] = "Υπάρχει ήδη χρήστης με την Ηλεκτρονική Διεύθυνση που δώσατε.";
                return(Page());
            }

            if (string.IsNullOrEmpty(SUser.Password))
            {
                SUser.Password = dbUsers.FirstOrDefault(x => x.Id == SUser.Id).Password;
            }
            else
            {
                SUser.Password = CrypterAlgorithm.ComputeSha256Hash(SUser.Password);
            }

            User dbUser = await userRepository.GetUser(SUser.Id);

            dbUser.Username   = SUser.Username;
            dbUser.Password   = SUser.Password;
            dbUser.Email      = SUser.Email;
            dbUser.FamilyName = SUser.FamilyName;
            dbUser.IsAdmin    = SUser.IsAdmin;

            if (await userRepository.UpdateUser(dbUser))
            {
                HasError = false;
                TempData["SuccessMessage"] = "Ο Χρήστης προστέθηκε με επιτυχία.";
                return(RedirectToPage(Url.Content("~/Admin/UserList")));
            }

            HasError          = true;
            ViewData["Error"] = "Δεν μπορέσαμε να κάνουμε την εγγραφή προσπαθήστε ξανά";
            return(Page());
        }