Beispiel #1
0
        public async Task <IActionResult> OnPostUpdateAsync()
        {
            string user_id    = Project.ProjectOwnerId;
            string project_id = ProjectIdBackUp;
            var    oldProject = await DataProvider.ReadProject(new ObjectId(project_id));

            foreach (var id in oldProject.UsersIds)
            {
                var user = await DataProvider.ReadUser(new ObjectId(id));

                if (!SelectedUsers.Contains(user.Id.ToString()))
                {
                    user.Projects.Remove(project_id);
                    await DataProvider.UpdateUser(user);
                }
            }
            oldProject.Name  = Project.Name;
            Project          = oldProject;
            Project.UsersIds = SelectedUsers;
            Project.UsersIds.Add(user_id);
            await DataProvider.UpdateProject(Project);

            foreach (var id in Project.UsersIds)
            {
                var user = await DataProvider.ReadUser(new ObjectId(id));

                if (!user.Projects.Contains(Project.Id.ToString()))
                {
                    user.Projects.Add(Project.Id.ToString());
                    await DataProvider.UpdateUser(user);
                }
            }
            return(Redirect("/MyProjects?user_id=" + user_id));
        }
Beispiel #2
0
 public void AddUser()
 {
     if (!string.IsNullOrEmpty(userName) && !SelectedUsers.Contains(userName))//SelectedUsers.Where(u=>u.Login == userName).Count() <= 0)
     {
         if (AllUsers2.ContainsValue(userName))
         {
             SelectedUsers.Add(userName);
         }
         userName = "";
     }
 }
Beispiel #3
0
        public void ListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            User user = (User)e.ClickedItem;

            if (SelectedUsers.Contains(user))
            {
                SelectedUsers.Remove(user);
            }
            else
            {
                SelectedUsers.Add(user);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Adds a new change
        /// </summary>
        /// <param name="CDVM"></param>
        public void AddChange(ChangeDescriptionViewModel CDVM, bool Notify)
        {
            Changes.Add(CDVM);
            ChangeController.UserName    = CDVM.User;
            ChangeController.ProjectName = CDVM.Project;
            CDVM.PropertyChanged        += new PropertyChangedEventHandler(CDVM_PropertyChanged);
            if (Notify)
            {
                RaisePropertyChanged("NewChange");
            }

            if (!SelectedProjects.Contains(CDVM.Project))
            {
                SelectedProjects.Add(CDVM.Project);
            }
            if (!SelectedUsers.Contains(CDVM.User))
            {
                SelectedUsers.Add(CDVM.User);
            }

            RaisePropertyChanged("SelectedChanges");
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            _container.Options.IsPopup = true;


            _jsObjName = String.IsNullOrEmpty(BehaviorID) ? "__userSelector" + UniqueID : BehaviorID;

            Page.RegisterStyle("~/usercontrols/users/userselector/css/userselector.less");
            Page.RegisterBodyScripts("~/usercontrols/users/userselector/js/userselector.js");

            var script = new StringBuilder();

            script.AppendFormat("var {0} = new ASC.Studio.UserSelector.UserSelectorPrototype('{1}', '{0}', {2});\n", _jsObjName, _selectorID, MobileDetector.IsMobile.ToString().ToLower());

            var noDepGroup = new UserGroup {
                Group = new GroupInfo {
                    Name = ""
                }
            };

            foreach (var u in CoreContext.UserManager.GetUsers().SortByUserName())
            {
                if (CoreContext.UserManager.GetUserGroups(u.ID).Length == 0)
                {
                    noDepGroup.Users.Add(u);
                }
            }
            if (noDepGroup.Users.Count > 0)
            {
                noDepGroup.Users.RemoveAll(ui => DisabledUsers.Contains(ui.ID));
                _userGroups.Add(noDepGroup);
            }


            foreach (var g in CoreContext.UserManager.GetGroups())
            {
                FillChildGroups(g);
            }
            _userGroups.Sort((ug1, ug2) => String.Compare(ug1.Group.Name, ug2.Group.Name));

            foreach (var ug in _userGroups)
            {
                var groupVarName = _jsObjName + "_ug_" + ug.Group.ID.ToString().Replace('-', '_');
                script.AppendFormat("var {0} = new ASC.Studio.UserSelector.UserGroupItem('{1}','{2}'); ", groupVarName, ug.Group.ID, ug.Group.Name.HtmlEncode().ReplaceSingleQuote());
                foreach (var u in ug.Users)
                {
                    var selected = SelectedUsers.Contains(u.ID);
                    script.AppendFormat(" {0}.Users.push(new ASC.Studio.UserSelector.UserItem('{1}','{2}',{3},{0},{4},'{5}')); ", groupVarName,
                                        u.ID,
                                        u.DisplayUserName().ReplaceSingleQuote().Replace(@"\", @"\\"),
                                        selected ? "true" : "false",
                                        selected ? "true" : "false",
                                        string.IsNullOrEmpty(u.Title) ? string.Empty : u.Title.HtmlEncode().ReplaceSingleQuote().Replace(@"\", @"\\"));
                }

                script.AppendFormat(" {0}.Groups.push({1}); ", _jsObjName, groupVarName);
            }

            Page.RegisterInlineScript(script.ToString(), onReady: false);
        }
 /// <summary>
 /// ユーザーが追加可能かどうかを判定する
 /// </summary>
 /// <returns></returns>
 private bool CanExecuteAddUserToSelectedUsersCommand()
 {
     return(SelectedUserInAllUsers != null && !SelectedUsers.Contains(SelectedUserInAllUsers));
 }