public void SetUser(string login, string password, string firstName, string lastName, string email, string phone, int role, GroupModel[] groups, SoapLibraryPage[] pages, out string message) { message = string.Empty; var client = GetAdminClient(); if (client != null) { try { var sessionKey = client.getSessionKey(Login, Password); if (!string.IsNullOrEmpty(sessionKey)) client.setUser(sessionKey, login, password, firstName, lastName, email, phone, groups, pages, role); else message = "Couldn't complete operation.\nLogin or password are not correct."; } catch (Exception ex) { message = string.Format("Couldn't complete operation.\n{0}.", ex.Message); } } else message = "Couldn't complete operation.\nServer is unavailable."; }
public FormEditPage(UserModel[] users, GroupModel[] groups) { InitializeComponent(); _users.AddRange(users); gridControlUsers.DataSource = _users; _groups.AddRange(groups); gridControlGroups.DataSource = _groups; Text = "Edit Page"; }
public void SetPage(string id, UserModel[] users, GroupModel[] groups, out string message) { message = string.Empty; var client = GetAdminClient(); if (client != null) { try { var sessionKey = client.getSessionKey(Login, Password); if (!string.IsNullOrEmpty(sessionKey)) client.setPage(sessionKey, id, users, groups); else message = "Couldn't complete operation.\nLogin or password are not correct."; } catch (Exception ex) { message = string.Format("Couldn't complete operation.\n{0}.", ex.Message); } } else message = "Couldn't complete operation.\nServer is unavailable."; }
/// <remarks/> public void setPageAsync(string sessionKey, string id, UserModel[] assignedUsers, GroupModel[] assignedGroups, object userState) { if ((this.setPageOperationCompleted == null)) { this.setPageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsetPageOperationCompleted); } this.InvokeAsync("setPage", new object[] { sessionKey, id, assignedUsers, assignedGroups}, this.setPageOperationCompleted, userState); }
/// <remarks/> public void setPageAsync(string sessionKey, string id, UserModel[] assignedUsers, GroupModel[] assignedGroups) { this.setPageAsync(sessionKey, id, assignedUsers, assignedGroups, null); }
public void setPage(string sessionKey, string id, UserModel[] assignedUsers, GroupModel[] assignedGroups) { this.Invoke("setPage", new object[] { sessionKey, id, assignedUsers, assignedGroups}); }
/// <remarks/> public void setUserAsync(string sessionKey, string login, string password, string firstName, string lastName, string email, string phone, GroupModel[] assignedGroups, SoapLibraryPage[] assignedPages, int role, object userState) { if ((this.setUserOperationCompleted == null)) { this.setUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsetUserOperationCompleted); } this.InvokeAsync("setUser", new object[] { sessionKey, login, password, firstName, lastName, email, phone, assignedGroups, assignedPages, role}, this.setUserOperationCompleted, userState); }
/// <remarks/> public void setUserAsync(string sessionKey, string login, string password, string firstName, string lastName, string email, string phone, GroupModel[] assignedGroups, SoapLibraryPage[] assignedPages, int role) { this.setUserAsync(sessionKey, login, password, firstName, lastName, email, phone, assignedGroups, assignedPages, role, null); }
public void setUser(string sessionKey, string login, string password, string firstName, string lastName, string email, string phone, GroupModel[] assignedGroups, SoapLibraryPage[] assignedPages, int role) { this.Invoke("setUser", new object[] { sessionKey, login, password, firstName, lastName, email, phone, assignedGroups, assignedPages, role}); }
public FormEditUser(bool newUser, bool complexPassword, string[] existedUsers, GroupModel[] groups, SoapLibrary[] libraries) { InitializeComponent(); _newUser = newUser; _complexPassword = complexPassword; _existedUsers.AddRange(existedUsers); _groups.AddRange(groups); gridControlGroups.DataSource = _groups; _libraries.Clear(); _libraries.AddRange(libraries); _pages.Clear(); _pages.AddRange(libraries.SelectMany(x => x.pages)); gridViewLibraries.MasterRowEmpty += OnLibraryChildListIsEmpty; gridViewLibraries.MasterRowGetRelationCount += OnGetLibraryRelationCount; gridViewLibraries.MasterRowGetRelationName += OnGetLibrariesRelationName; gridViewLibraries.MasterRowGetChildList += OnGetLibraryChildList; gridControlLibraries.DataSource = _libraries; textEditLogin.Enter += FormMain.Instance.Editor_Enter; textEditLogin.MouseUp += FormMain.Instance.Editor_MouseUp; textEditLogin.MouseDown += FormMain.Instance.Editor_MouseDown; textEditFirstName.Enter += FormMain.Instance.Editor_Enter; textEditFirstName.MouseUp += FormMain.Instance.Editor_MouseUp; textEditFirstName.MouseDown += FormMain.Instance.Editor_MouseDown; textEditLastName.Enter += FormMain.Instance.Editor_Enter; textEditLastName.MouseUp += FormMain.Instance.Editor_MouseUp; textEditLastName.MouseDown += FormMain.Instance.Editor_MouseDown; textEditPhone.Enter += FormMain.Instance.Editor_Enter; textEditPhone.MouseUp += FormMain.Instance.Editor_MouseUp; textEditPhone.MouseDown += FormMain.Instance.Editor_MouseDown; textEditEmail.Enter += FormMain.Instance.Editor_Enter; textEditEmail.MouseUp += FormMain.Instance.Editor_MouseUp; textEditEmail.MouseDown += FormMain.Instance.Editor_MouseDown; textEditEmailConfirm.Enter += FormMain.Instance.Editor_Enter; textEditEmailConfirm.MouseUp += FormMain.Instance.Editor_MouseUp; textEditEmailConfirm.MouseDown += FormMain.Instance.Editor_MouseDown; buttonEditPassword.Enter += FormMain.Instance.Editor_Enter; buttonEditPassword.MouseUp += FormMain.Instance.Editor_MouseUp; buttonEditPassword.MouseDown += FormMain.Instance.Editor_MouseDown; if (_newUser) { Text = "Add User"; checkEditPassword.Visible = false; laPassword.Visible = true; textEditLogin.Enabled = true; buttonEditPassword_ButtonClick(null, null); } else { Text = "Edit User"; checkEditPassword.Visible = true; checkEditPassword.Checked = false; laPassword.Visible = false; textEditLogin.Enabled = false; } }
public static IEnumerable<UserInfo> ImportUsers(string filePath, UserModel[] existedUsers, GroupModel[] existedGroups, bool complexPassword, out string message) { message = string.Empty; var userInfo = new List<UserInfo>(); var existedGroupList = new List<GroupModel>(existedGroups); var existedUserLogins = new List<string>(existedUsers.Select(x => x.login)); var connnectionString = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";", filePath); var connection = new OleDbConnection(connnectionString); try { connection.Open(); var groupName = string.Empty; var dataTable = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); foreach (DataRow row in dataTable.Rows) { groupName = row["TABLE_NAME"].ToString().Replace("$", "").Replace('"'.ToString(), "'").Replace("'", ""); break; } var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}$]", groupName), connection); dataTable = new DataTable(); try { dataAdapter.Fill(dataTable); foreach (DataRow row in dataTable.Rows) { var firtsName = dataTable.Columns.Count > 0 && row[0] != null ? row[0].ToString() : String.Empty; var lastName = dataTable.Columns.Count > 1 && row[1] != null ? row[1].ToString() : String.Empty; var email = dataTable.Columns.Count > 2 && row[2] != null ? row[2].ToString() : String.Empty; var phone = dataTable.Columns.Count > 3 && row[3] != null ? row[3].ToString() : String.Empty; var login = dataTable.Columns.Count > 4 && row[4] != null ? row[4].ToString() : String.Empty; if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(email)) continue; var group = existedGroupList.FirstOrDefault(x => x.name.ToLower().Equals(groupName.Trim().ToLower())); var notChangedUser = group != null && existedUsers.Any(u => login.Equals(u.login, StringComparison.OrdinalIgnoreCase) && firtsName.Equals(u.firstName, StringComparison.OrdinalIgnoreCase) && lastName.Equals(u.lastName, StringComparison.OrdinalIgnoreCase) && email.Equals(u.email, StringComparison.OrdinalIgnoreCase) && phone.Equals(u.phone, StringComparison.OrdinalIgnoreCase) && u.groups.Any(existedGroup => group.name == existedGroup.name)); if (notChangedUser) continue; var newUser = !existedUserLogins.Any(existedLogin => login.Equals(existedLogin, StringComparison.OrdinalIgnoreCase)); var user = new UserInfo(); user.Login = login.ToLower().Trim(); user.Password = newUser ? (complexPassword ? Membership.GeneratePassword(10, 3) : (new PasswordGenerator()).Generate()) : String.Empty; user.FirstName = firtsName.Trim(); user.LastName = lastName.Trim(); user.Email = email.ToLower().Trim(); user.Phone = phone.ToLower().Trim(); if (group == null) { group = new GroupModel(); group.IsNew = true; group.id = Guid.NewGuid().ToString(); group.name = groupName.Trim(); existedGroupList.Add(group); } user.Groups.Add(group); existedUserLogins.Add(user.Login); userInfo.Add(user); } } catch { message = "Couldn't read file"; } finally { dataAdapter.Dispose(); dataTable.Dispose(); } connection.Close(); } catch { message = "Couldn't connect to file"; } return userInfo; }