示例#1
0
        public IActionResult Login(APAccountLoginModel Login)
        {
            if (ModelState.IsValid)
            {
                APuser user = _context.APusers.Where(u => u.Email == Login.Email).FirstOrDefault();

                if (user != null)
                {
                    if (Crypto.VerifyHashedPassword(user.Password, Login.Password))
                    {
                        user.Token = Guid.NewGuid().ToString();
                        _context.SaveChanges();

                        Response.Cookies.Append("APtoken", user.Token, new Microsoft.AspNetCore.Http.CookieOptions
                        {
                            Expires  = DateTime.Now.AddHours(1),
                            HttpOnly = true
                        });
                        return(RedirectToAction("index", "home"));
                    }
                    else
                    {
                        ModelState.AddModelError("Login.Password", "E-poçt və ya şifrə yalnışdır");
                    }
                }
                else
                {
                    ModelState.AddModelError("Login.Password", "E-poçt və ya şifrə yalnışdır");
                }
            }

            return(View("~/Areas/Admin/Views/Account/Login.cshtml"));
        }
示例#2
0
        public IActionResult Edit(APAccountEditModel Edit)
        {
            APuser SelectedUser = _context.APusers.Where(apu => apu.Email == Edit.Email).FirstOrDefault();

            if (ModelState.IsValid)
            {
                SelectedUser.isAdmin  = Edit.isAdmin;
                SelectedUser.Nickname = Edit.Name;
                SelectedUser.Password = Crypto.HashPassword(Edit.Password);
                SelectedUser.Token    = null;



                _context.Entry(SelectedUser).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.SaveChanges();

                return(RedirectToAction("APUsers", "Account"));
            }

            APAccountIndexViewModel data = new APAccountIndexViewModel
            {
                SelectedUser = SelectedUser
            };

            return(View("~/Areas/Admin/Views/Account/Edit.cshtml", data));
        }
示例#3
0
        public IActionResult Create(APAccountCreateModel Create)
        {
            if (ModelState.IsValid)
            {
                if (!_context.APusers.Any(u => u.Email == Create.Email))
                {
                    APuser NewUser = new APuser
                    {
                        Nickname = Create.Name,
                        Email    = Create.Email,
                        Password = Crypto.HashPassword(Create.Password),
                        Token    = null,
                        isAdmin  = Create.isAdmin
                    };

                    _context.APusers.Add(NewUser);
                    _context.SaveChanges();

                    return(RedirectToAction("APUsers", "Account"));
                }
                else
                {
                    ModelState.AddModelError("Create.Email", "E-Poçt ünvanı artıq mövcuddur");
                }
            }
            return(View("~/Areas/Admin/Views/Account/Create.cshtml"));
        }
示例#4
0
        public IActionResult Delete(int id)
        {
            APuser SelectedUser = _context.APusers.Find(id);

            if (_auth.APuser == null || _auth.APuser.isSuperAdmin == false || SelectedUser == null)
            {
                return(BadRequest());
            }

            _context.APusers.Remove(SelectedUser);
            _context.SaveChanges();

            return(RedirectToAction("APUsers", "Account"));
        }
示例#5
0
        public IActionResult Edit(int id)
        {
            APuser SelectedUser = _context.APusers.Find(id);

            if (_auth.APuser == null || _auth.APuser.isSuperAdmin == false || SelectedUser == null)
            {
                return(BadRequest());
            }

            APAccountIndexViewModel data = new APAccountIndexViewModel
            {
                SelectedUser = SelectedUser
            };

            return(View(data));
        }