public ActionResult Edit(int? id)
        {
            UsersService usersService = new UsersService();

            UsersEditVM model = new UsersEditVM();
            User user;

            if (!id.HasValue)
            {
                user = new User();
            }
            else
            {
                user = usersService.GetByID(id.Value);
                if (user == null)
                {
                    return RedirectToAction("List");
                }
            }

            model.ID = user.ID;
            model.Username = user.Username;
            model.FirstName = user.FirstName;
            model.LastName = user.LastName;
            model.Email = user.Email;
            model.UserRole = user.UserRole;
            model.CityID = user.CityID;

            //model.Countries = new CountriesRepository().GetAll(); 1
            //model.Countries = new SelectList(new CountriesRepository().GetAll(), "ID", "Name"); //2
            model.Cities = usersService.GetSelectedCities(); // 3
            model.Teams = usersService.GetSelectedTeams(user.Teams);

            return View(model);
        }
        public static void Logout()
        {
            //AuthenticateUser(null, null);

            LoggedUser = null;

            HttpContext.Current.Session["LoggedUser"] = null;

            HttpCookie cookie = HttpContext.Current.Request.Cookies["rememberMe"];
            cookie.Expires = DateTime.Now.AddDays(-1);
            HttpContext.Current.Response.Cookies.Set(cookie);
        }
Ejemplo n.º 3
0
        public static void SendEmail(User user)
        {
            MailMessage mail = new MailMessage();

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add("*****@*****.**");
            mail.Subject = "Somebody has logged in!";
            mail.Body = "Dear admin, " + user.Username + " has logged in!";

            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
            smtp.EnableSsl = true;
            smtp.Credentials = new NetworkCredential("*****@*****.**", "hallmanager");

            smtp.Send(mail);
        }
        public static void AuthenticateUser(string username, string password)
        {
            UsersRepository usersRepo = new UsersRepository();
            LoggedUser = usersRepo.GetAll().FirstOrDefault(u => u.Username == username && u.Password == password);

            if (LoggedUser != null)
            {
                HttpContext.Current.Session["LoggedUser"] = LoggedUser;

                HttpCookie rememberMeCookie = new HttpCookie("rememberMe");
                rememberMeCookie.Value = Guid.NewGuid().ToString();
                rememberMeCookie.Expires.AddDays(10);
                HttpContext.Current.Response.Cookies.Set(rememberMeCookie);

                //Task.Run(() => EmailService.SendEmail(LoggedUser));
                //Task.Run(() => EmailService.SendEmails());
            }
        }
        public ActionResult Edit()
        {
            UnitOfWork unitOfWork = new UnitOfWork();
            UsersService usersService = new UsersService(unitOfWork);

            UsersEditVM model = new UsersEditVM();
            TryUpdateModel(model);

            User user;
            if (model.ID == 0)
            {
                user = new User();
            }
            else
            {
                user = usersService.GetByID(model.ID);
                if (user == null)
                {
                    return RedirectToAction("List");
                }
            }

            if (!ModelState.IsValid)
            {
                model.Cities = usersService.GetSelectedCities();
                model.Teams = usersService.GetSelectedTeams(user.Teams, model.SelectedTeams);

                return View(model);
            }

            user.ID = model.ID;
            user.Username = model.Username;
            user.FirstName = model.FirstName;
            user.LastName = model.LastName;
            user.Email = model.Email;
            user.UserRole = model.UserRole;
            user.CityID = model.CityID;

            usersService.UpdateUserTeams(user, model.SelectedTeams);

            usersService.Save(user);

            return RedirectToAction("List");
        }