/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void AssignDepartmentsForUsers(object sender, DirectEventArgs e) { try { // delete role for each selected user foreach (var row in RowSelectionModel1.SelectedRows) { // check user id if (!string.IsNullOrEmpty(row.RecordID)) { // delete roles for user UserDepartmentServices.Delete(Convert.ToInt32(row.RecordID), null); } } // get new role list var departmentIds = hdfSelectedDepartmentIds.Text.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); // add each user to selected role foreach (var row in RowSelectionModel1.SelectedRows) { // check user id if (!string.IsNullOrEmpty(row.RecordID)) { foreach (var departmentId in departmentIds) { UserDepartmentServices.Create(new UserDepartment { UserId = Convert.ToInt32(row.RecordID), DepartmentId = Convert.ToInt32(departmentId), IsPrimary = false }); } } } // hide window wdAssignDepartment.Hide(); // show dialog Dialog.ShowNotification("Thiết lập đơn vị thành công !"); } catch (Exception ex) { // exception ExtNet.MessageBox.Alert("Có lỗi xảy ra", ex.Message).Show(); } }
private void AddUserIntoChildDepartment(int userId, int parentId) { // get child departments var childDepartments = CurrentUser.Departments.Where(d => d.ParentId == parentId); // add user into each child department foreach (var d in childDepartments) { // init new object var userDepartment = new UserDepartment { UserId = userId, DepartmentId = d.Id, IsPrimary = false }; // add user into department UserDepartmentServices.Create(userDepartment); // add user into child departments AddUserIntoChildDepartment(userId, d.Id); } }
/// <summary> /// /// </summary> /// <param name="userId"></param> /// <param name="departmentId"></param> private void AddUserDepartment(int userId, int departmentId) { var department = CurrentUser.Departments.FirstOrDefault(d => d.Id == departmentId); if (department != null && department.Id > 0) { // add primary department var userDepartment = new UserDepartment { UserId = userId, DepartmentId = department.Id, IsPrimary = true }; UserDepartmentServices.Create(userDepartment); // add user into parent department var parentDepartment = CurrentUser.Departments.FirstOrDefault(d => d.Id == department.ParentId); // check parent department is valid while (parentDepartment != null && parentDepartment.ParentId >= 0) { // init new object userDepartment = new UserDepartment { UserId = userId, DepartmentId = parentDepartment.Id, IsPrimary = false }; // add user into parent department UserDepartmentServices.Create(userDepartment); // move to hight level parentDepartment = CurrentUser.Departments.FirstOrDefault(d => d.Id == parentDepartment.ParentId); } // check department was locked if (department.IsLocked) { // add user into child departments AddUserIntoChildDepartment(userId, department.Id); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InsertOrUpdateUser(object sender, DirectEventArgs e) { try { if (e.ExtraParams["Command"] == "Insert") { // check user exist var findUser = UserServices.GetByName(txtUserName.Text); if (findUser != null) { // user existed ExtNet.MessageBox.Alert("Có lỗi xảy ra", "Tài khoản này đã tồn tại trong hệ thống.").Show(); return; } // init object var userInsert = new Web.Core.Object.Security.User { UserName = txtUserName.Text, Password = txtPassword.Text.ToSHA256(), Email = txtEmail.Text, FirstName = txtFirstName.Text, LastName = txtLastName.Text, DisplayName = txtDisplayName.Text.Trim(), Sex = rdNam.Checked, PhoneNumber = txtPhone.Text, Address = txtAddress.Text, IsSuperUser = false, IsLocked = false, IsDeleted = false, CreatedBy = CurrentUser.User.Id.ToString(), CreatedDate = DateTime.Now, EditedBy = CurrentUser.User.Id.ToString(), EditedDate = DateTime.Now }; // set date of birth if (dfBirthday.SelectedDate.Year != 1) { userInsert.BirthDate = dfBirthday.SelectedDate; } // create user var userId = UserServices.Create(userInsert); // check isert result if (userId != null && !string.IsNullOrEmpty(hdfSelectedDepartmentID.Text) && Convert.ToInt32(hdfSelectedDepartmentID.Text) > 0) { // add user in selected department AddUserDepartment(userId.Id, Convert.ToInt32(hdfSelectedDepartmentID.Text)); // show notification Dialog.ShowNotification("Thêm mới tài khoản thành công"); } else { // show alert ExtNet.MessageBox.Alert("Có lỗi xảy ra", "Có lỗi xảy ra trong quá trình thêm tài khoản, hãy thử lại.").Show(); return; } } if (e.ExtraParams["Command"] == "Update") { var userEdit = UserServices.GetById(Convert.ToInt32(hdfSeletedUserId.Text)); if (userEdit != null) { // init date of birth DateTime?birthDate = null; if (dfBirthday.SelectedDate.Year != 1) { birthDate = dfBirthday.SelectedDate; } // update user var updateResult = UserServices.Update(userEdit.Id, txtPassword.Text, txtEmail.Text, txtFirstName.Text, txtLastName.Text, txtDisplayName.Text, null, birthDate, rdNam.Checked, null, null, null, null, null, CurrentUser.User.Id.ToString()); // if success, update department if (updateResult != null && !string.IsNullOrEmpty(hdfSelectedDepartmentID.Text) && Convert.ToInt32(hdfSelectedDepartmentID.Text) > 0) { // remove user from old departments UserDepartmentServices.Delete(userEdit.Id, null); // add user into new departments AddUserDepartment(userEdit.Id, Convert.ToInt32(hdfSelectedDepartmentID.Text)); } } } // reload gỉd gridUsersForRole.Reload(); // send notification email //if (!string.IsNullOrEmpty(txtEmail.Text) && chkSendMail.Checked) //{ // sendEmailCreateAccount(uInfo); //} // check close param if (e.ExtraParams["Close"] == "True") { // close window wdAddUser.Hide(); } else { // reset form RM.RegisterClientScriptBlock("resetForm", "resetForm();"); } } catch (Exception ex) { // exception ExtNet.MessageBox.Alert("Có lỗi xảy ra", ex.Message).Show(); } }
/// <summary> /// Insert or Update user /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InsertOrUpdateUser(object sender, DirectEventArgs e) { // check user exist var findUser = UserServices.GetByName(txtUserName.Text); if (findUser != null) { // user existed ExtNet.MessageBox.Alert("Lỗi tên đăng nhập", "Tài khoản này đã tồn tại trong hệ thống").Show(); return; } // init user var user = new User(); // check id if (!string.IsNullOrEmpty(hdfUserId.Text) && Convert.ToInt32(hdfUserId.Text) > 0) { var result = UserServices.GetById(Convert.ToInt32(hdfUserId.Text)); if (result != null) { user = result; } } // set user props with form value user.UserName = txtUserName.Text; user.Password = txtPassword.Text.ToSHA256(); user.Email = txtEmail.Text; user.FirstName = txtFirstName.Text; user.LastName = txtLastName.Text; user.DisplayName = txtDisplayName.Text.Trim(); user.Sex = rdMale.Checked; user.PhoneNumber = txtPhoneNumber.Text; user.Address = txtAddress.Text; // set date of birth if (dfBirthday.SelectedDate.Year != 1) { user.BirthDate = dfBirthday.SelectedDate; } // set user props with default value user.IsSuperUser = false; user.IsLocked = false; user.IsDeleted = false; user.CreatedBy = CurrentUser.User.UserName; user.CreatedDate = DateTime.Now; user.EditedBy = CurrentUser.User.UserName; user.EditedDate = DateTime.Now; // insert or update user user = user.Id > 0 ? UserServices.Update(user) : UserServices.Create(user); // add user department if (!string.IsNullOrEmpty(hdfDepartmentForEditingUser.Text) && Convert.ToInt32(hdfDepartmentForEditingUser.Text) > 0) { UserDepartmentServices.Create(new UserDepartment { DepartmentId = Convert.ToInt32(hdfDepartmentForEditingUser.Text), UserId = user.Id, IsPrimary = true }); } // hide window wdSetting.Hide(); // reload data gpUser.Reload(); }