示例#1
0
        /// <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();
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        /// <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);
                }
            }
        }
示例#4
0
        /// <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();
            }
        }
示例#5
0
        /// <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();
        }