コード例 #1
0
        public ActionResult AddToSet(string id, AdministratorsModel model)
        {
            var configSet = reader.GetConfigSet(id);
            var userList  = configSet.Administrators.ToList();

            foreach (var userId in model.PostedUserIds)
            {
                var user = ConfigReaderFactory.GetUserFacade().GetUser(userId);
                if (!(from u in userList where u.NameId == user.NameId select u).Any())
                {
                    configSet.Administrators.Add(user);
                }
            }
            var usersToRemove = configSet.Administrators.Where(administrator => !model.PostedUserIds.Contains(administrator.NameId)).ToList();

            foreach (var configUser in usersToRemove)
            {
                configSet.Administrators.Remove(configUser);
            }
            reader.UpdateAdministrators(configSet.Administrators);
            userReader.SendNotifications(configSet.Administrators, usersToRemove);
            ViewBag.Id = id;
            return(RedirectToAction("Details", "ConfigSet", new { name = configSet.Name, system = configSet.System }));
        }
コード例 #2
0
        public ActionResult AddToSet(string id)
        {
            var configSet = reader.GetConfigSet(id);

            ViewBag.Id = id;
            return(View(new AdministratorsModel {
                CurrentAdministrators = configSet.Administrators.ToList(), AvaliableUsers = ConfigReaderFactory.GetUserFacade().GetUsers().ToList(), PostedUserIds = new string[] {}
            }));
        }