示例#1
0
        public ActionResult Edit(int? id)
        {
            User user;
            UserRepository userRep = new UserRepository();

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

            UsersEditVM model = new UsersEditVM();
            model.ID = user.ID;
            model.Username = user.Username;
            model.FirstName = user.FirstName;
            model.LastName = user.LastName;
            model.Email = user.Email;
            model.Groups = PopulateAssignedGroups(user);

            return View(model);
        }
示例#2
0
        public ActionResult Edit()
        {
            UsersEditVM model = new UsersEditVM();
            TryUpdateModel(model);

            UserRepository userRep = new UserRepository(unitOfWork);

            string selectedGroups = Request.Form["assignedGroups"];
            string[] assignedGroups;
            if (selectedGroups == null)
            {
                assignedGroups = new string[0];
            }
            else
            {
                assignedGroups = selectedGroups.Split(',');
            }

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

            if (!ModelState.IsValid)
            {
                model.Groups = PopulateAssignedGroups(user);

                return View(model);
            }

            user.ID = model.ID;
            user.Username = model.Username;
            user.Password = model.Password;
            user.FirstName = model.FirstName;
            user.LastName = model.LastName;
            user.Email = model.Email;
            UpdateUserGroups(user, assignedGroups);

            userRep.Save(user);
            unitOfWork.Commit();

            return RedirectToAction("List");
        }
示例#3
0
        public static void SendEmail(User user)
        {
            MailMessage message = new MailMessage();
            message.Sender = new MailAddress("*****@*****.**");
            message.To.Add(user.Email);
            message.Subject = "Subject";
            message.From = new MailAddress("*****@*****.**");
            message.Body = "Hello! It's me!";
            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
            smtp.EnableSsl = true;
            smtp.UseDefaultCredentials = false;
            #region Private
            smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "SlojnaParola123");
            #endregion

            smtp.Send(message);
        }
示例#4
0
        public void UpdateUserGroups(User user, string[] assignedGroups)
        {
            if (assignedGroups == null)
            {
                return;
            }

            if (user.Groups == null)
            {
                user.Groups = new List<Group>();
            }

            var assignedGroupsHS = new HashSet<string>(assignedGroups);
            var userGroups = new HashSet<int>(user.Groups.Select(g => g.ID));
            foreach (var group in new GroupRepository(unitOfWork).GetAll())
            {
                if (assignedGroupsHS.Contains(group.ID.ToString()))
                {
                    if (!userGroups.Contains(group.ID))
                    {
                        user.Groups.Add(group);
                    }
                }
                else
                {
                    if (userGroups.Contains(group.ID))
                    {
                        user.Groups.Remove(group);
                    }
                }
            }
        }
示例#5
0
        public List<AssignedGroupsVM> PopulateAssignedGroups(User user)
        {
            List<AssignedGroupsVM> assignedGroups = new List<AssignedGroupsVM>();
            List<Group> groups = new GroupRepository().GetAll();

            if (user.Groups == null)
            {
                user.Groups = new List<Group>();
            }

            foreach (var g in groups)
            {
                assignedGroups.Add(new AssignedGroupsVM
                {
                    ID = g.ID,
                    Name = g.Name,
                    IsAssigned = user.Groups.Select(gr => gr.ID).Contains(g.ID)
                });
            }

            return assignedGroups;
        }
 public static void AuthenticateUser(string username, string password)
 {
     LoggedUser = new UserRepository().First(u => u.Username == username && u.Password == password);
 }