public EditUserHelper(Gtk.Window win, ref DoubleListView dlv, User u) { this.doubleListView = dlv; _adminObj = (IAdmin) RemotingHelper.GetObject(typeof(IAdmin)); _user = u; base.Init(win); }
/// <summary> /// Called to populate User from form, before saving such an user at the server side /// </summary> public void PopulateUser(string userName, string realName, string password, string email, bool active) { if (_user == null) { _user = new User(); } _user.UserName = userName; _user.RealName = realName; _user.Password = password; _user.Email = email; _user.Active = active; if (_user.Groups != null) { _user.Groups.Clear(); } else { _user.Groups = new HashedSet(); } List<IBoxerpModel> userGroups = doubleListView.GetLeftObjectList(); if (userGroups != null) { foreach(Group g in userGroups) { _user.Groups.Add(g); } } }
// Constructor: To edit an existing user // FIXME: get groups from client cache instead of passing in to this method public EditUserWindow(Group[] groups, User u) : base("") { Stetic.Gui.Build(this, typeof(administrator.EditUserWindow)); _helper = new EditUserHelper(this, ref dtreeview, u); IsNewUser = false; this.PopulateUserFields(); dtreeview.LeftLabel = "User groups:"; dtreeview.RightLabel = "Rest of groups:"; _helper.PopulateGUI(groups); //_helper.StartTransfer(ResponsiveEnum.Read); }
public int DeleteUser(User user) { try { if (sessionsMgr.IsValidSessionThenUpdate(UserInformation.GetSessionToken())) { //Console.WriteLine(u.Id +","+u.UserName+","+u.RealName+","+ // u.Email +","+u.Active); //ActiveRecordBase.Replicate(u); User persistentUser; if ((user == null) || (user.Id != 0)) { persistentUser = User.Find(user.Id); } else { throw new NullReferenceException("User not found"); } int id = persistentUser.Id; foreach (Group i in user.Groups) { Group group = Group.Find(i.Id); if (group != null) { if (group.Users.Contains(persistentUser)) { group.Users.Remove(persistentUser); } group.Save(); } } persistentUser.Delete(); return id; } else { Console.WriteLine("not valid user"); return -1 ; } } catch (UnauthorizedException ex) { throw ex; } catch (Exception ex) { Console.WriteLine("ERROR:" + ex.Message + ":" + ex.StackTrace); if (ex.InnerException != null) Console.WriteLine("ERROR:" + ex.InnerException.Message + ":" + ex.InnerException.StackTrace); throw ex; } }
public string GetSession(User user) { if (user != null) { string session = user.UserName + DateTime.Now.GetHashCode() + random.NextDouble().ToString(); SessionStruct sstruct = new SessionStruct(); sstruct.user = user; sstruct.lastHit = DateTime.Now; sHash[session] = sstruct; return session; } else { throw new NullReferenceException(); } }
protected virtual void OnCancelClicked(object sender, System.EventArgs e) { User = null; IsNewUser = false; this.Destroy(); }
public int SaveUser(User user) { try { if (sessionsMgr.IsValidSessionThenUpdate(UserInformation.GetSessionToken())) { //Console.WriteLine(u.Id +","+u.UserName+","+u.RealName+","+ // u.Email +","+u.Active); //ActiveRecordBase.Replicate(u); User persistentUser; if (user.Id != 0) { persistentUser = User.Find(user.Id); persistentUser.UserName = user.UserName; persistentUser.RealName = user.RealName; persistentUser.Email = user.Email; persistentUser.Active = user.Active; persistentUser.Password = user.Password; persistentUser.Save(); } else { persistentUser = user; persistentUser.Save(); } if (user.Groups != null) { foreach (Group i in user.Groups) { Group group = Group.Find(i.Id); if (group != null) { if (! group.Users.Contains(persistentUser)) { Console.WriteLine(persistentUser.Id +","+ persistentUser.UserName+","+ persistentUser.RealName); group.Users.Add(persistentUser); //persistentUser.Groups.Add(g); //g.Update(); } group.Save(); } } } persistentUser.Save(); return persistentUser.Id; } else { Console.WriteLine("not valid user"); return -1 ; } } catch (UnauthorizedException ex) { throw ex; } catch (Exception ex) { Console.WriteLine("ERROR:" + ex.Message + ":" + ex.StackTrace); if (ex.InnerException != null) Console.WriteLine("ERROR:" + ex.InnerException.Message + ":" + ex.InnerException.StackTrace); throw ex; } }
public Group[] GetDistinctGroups(User u) { try { if (sessionsMgr.IsValidSessionThenUpdate(UserInformation.GetSessionToken())) { if (u != null) { Group[] allGroups = Group.FindAll(); ArrayList groups = new ArrayList(); foreach(Group i in allGroups) { if (!u.Groups.Contains(i)) groups.Add(i); } if (groups.Count > 0) return (Group[])groups.ToArray(groups[0].GetType()); else return null; } return null; } else { return null; } } catch (UnauthorizedException ex) { throw ex; } catch (Exception ex) { Console.WriteLine("ERROR:" + ex.Message + ":" + ex.StackTrace); return null; } }
public bool StartAction(User u, Sections s, Actions a) { if (u != null) { if (!cHash.ContainsKey(s.ToString()+a.ToString())) { ConcurrencyStruct cstruct = new ConcurrencyStruct(); cstruct.user = u; cstruct.lastHit = DateTime.Now; cstruct.section = s; cstruct.action = a; cHash[s.ToString()+a.ToString()] = cstruct; return true; } else { if (s == Sections.ADMIN) { return false; // another user is inside administrator } return true; } } else { throw new NullReferenceException(); } }
public bool EndAction(User u, Sections s, Actions a) { if (u != null) { if (cHash.ContainsKey(s.ToString()+a.ToString())) { cHash.Remove(s.ToString()+a.ToString()); return true; } else { return false; // something is wrong } } else { throw new NullReferenceException(); } }