Example #1
0
 private ArrayList GetParentOfFunction(ArrayList arr, ArrayList arrAllFunction)
 {
     try
     {
         ArrayList new_arr = new ArrayList();
         Hashtable _hs     = new Hashtable(); // lưu những quyền để check sự trùng lặp
         for (int i = 0; i < arr.Count; i++)
         {
             User_FunctionsInfo _info = (User_FunctionsInfo)arr[i];
             //if (_info.prid == "0")
             //    continue;
             //else
             //{
             new_arr.Add(_info);
             User_FunctionsInfo _tem = new User_FunctionsInfo(_info);
             BuidlTreeFuction(_tem, arrAllFunction, ref new_arr);
             //}
         }
         return(new_arr);
     }
     catch (Exception ex)
     {
         CommonData.log.Error(ex.ToString());
         return(new ArrayList());
     }
 }
Example #2
0
 /// <summary>
 /// lấy function cha từ function con
 /// </summary>
 /// <param name="p_ChildItem"></param>
 /// <param name="arrAllFunction"></param>
 /// <param name="new_arr"></param>
 private void BuidlTreeFuction(User_FunctionsInfo p_ChildItem, ArrayList arrAllFunction, ref ArrayList new_arr)
 {
     try
     {
         foreach (FunctionsInfo _info in arrAllFunction)
         {
             if (p_ChildItem.prid == _info.id)
             {
                 User_FunctionsInfo _User_FunctionsInfo = ConvertToUser_FunctionsInfo(_info);
                 bool t = false;
                 foreach (User_FunctionsInfo item in new_arr)
                 {
                     if (item.functionId == _User_FunctionsInfo.functionId)
                     {
                         t = true;
                         break;
                     }
                 }
                 if (!t)
                 {
                     new_arr.Add(_User_FunctionsInfo);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         CommonData.log.Error(ex.ToString());
     }
 }
Example #3
0
        /// <summary>
        /// sắp sếp thằng nào là con thì cho thêm 1 khoảng trắng vào
        /// </summary>
        /// <param name="arrAllFunction"></param>
        /// <param name="p_lang"></param>
        /// <returns></returns>
        private ArrayList GetChildofFunction(ArrayList arrAllFunction)
        {
            try
            {
                ArrayList new_arr = new ArrayList();
                string    _cach   = "          ";

                foreach (User_FunctionsInfo _info in arrAllFunction)
                {
                    if (_info.prid == "0")
                    {
                        new_arr.Add(_info);
                        User_FunctionsInfo _tem = new User_FunctionsInfo(_info);

                        //Lấy những function con từ function cha
                        BuidlTreeFuction(_tem, _info.functionId.ToString(), arrAllFunction, ref new_arr, _cach);
                    }
                }
                return(new_arr);
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
                return(new ArrayList());
            }
        }
Example #4
0
 private User_RightsInfo ConvertToUser_RightsInfo(User_FunctionsInfo _User_FunctionsInfo, decimal user_id)
 {
     try
     {
         User_RightsInfo _User_RightsInfo = new User_RightsInfo();
         _User_RightsInfo.userid   = user_id;
         _User_RightsInfo.funcid   = _User_FunctionsInfo.functionId;
         _User_RightsInfo.authcode = _User_FunctionsInfo.authcode;
         return(_User_RightsInfo);
     }
     catch (Exception ex)
     {
         ErrorLog.log.Error(ex.ToString());
         return(null);
     }
 }
Example #5
0
        /// <summary>
        /// sắp sếp thằng nào là con thì cho thêm 1 khoảng trắng vào
        /// </summary>
        /// <param name="arrAllFunction"></param>
        /// <param name="p_lang"></param>
        /// <returns></returns>
        private ArrayList GetChildofFunction(ArrayList arrAllFunction, string p_lang)
        {
            ArrayList new_arr = new ArrayList();
            string    _cach   = "          ";

            foreach (User_FunctionsInfo _info in arrAllFunction)
            {
                if (_info.prid == "0")
                {
                    new_arr.Add(_info);
                    User_FunctionsInfo _tem = new User_FunctionsInfo(_info);

                    //Lấy những function con từ function cha
                    BuidlTreeFuction(_tem, _info.functionId.ToString(), arrAllFunction, ref new_arr, _cach, p_lang);
                }
            }
            return(new_arr);
        }
Example #6
0
 private User_RightsInfo ConvertToUser_RightsInfo(User_FunctionsInfo _User_FunctionsInfo, decimal user_id)
 {
     try
     {
         User_RightsInfo _User_RightsInfo = new User_RightsInfo();
         _User_RightsInfo.userid       = user_id;
         _User_RightsInfo.funcid       = _User_FunctionsInfo.functionId;
         _User_RightsInfo.authcode     = _User_FunctionsInfo.right;
         _User_RightsInfo.notes        = "";
         _User_RightsInfo.deleted      = 0;
         _User_RightsInfo.created_by   = CommonData.c_Urser_Info.User_Name;
         _User_RightsInfo.created_date = DateTime.Now;
         return(_User_RightsInfo);
     }
     catch (Exception ex)
     {
         CommonData.log.Error(ex.ToString());
         return(null);
     }
 }
Example #7
0
        private User_FunctionsInfo ConvertToUser_FunctionsInfo(FunctionsInfo _FunctionsInfo)
        {
            try
            {
                User_FunctionsInfo _User_FunctionsInfo = new User_FunctionsInfo();

                _User_FunctionsInfo.functionId = _FunctionsInfo.id;
                _User_FunctionsInfo.name       = _FunctionsInfo.name;
                _User_FunctionsInfo.Name_Eng   = _FunctionsInfo.Name_Eng;
                _User_FunctionsInfo.lev        = _FunctionsInfo.lev;
                _User_FunctionsInfo.prid       = _FunctionsInfo.prid;
                _User_FunctionsInfo.last       = _FunctionsInfo.last;
                return(_User_FunctionsInfo);
            }
            catch (Exception ex)
            {
                CommonData.log.Error(ex.ToString());
                return(null);
            }
        }
Example #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="p_User_FunctionsInfo">thằng cha</param>
 /// <param name="p_type"></param>
 void Check_Is_CheckAll_Right(User_FunctionsInfo p_User_FunctionsInfo, int p_type)
 {
     try
     {
         bool _ck = true;
         foreach (User_FunctionsInfo item in c_arrFunction)
         {
             // kiểm tra all thằng con của nó
             if (item.prid == p_User_FunctionsInfo.functionId)
             {
                 if (p_type == 1 && item.view_right == 0) // view
                 {
                     _ck = false;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         CommonData.log.Error(ex.ToString());
     }
 }
Example #9
0
 /// <summary>
 /// Lấy những function con từ function cha
 /// </summary>
 private void BuidlTreeFuction(User_FunctionsInfo p_parentItem, string p_parentID, ArrayList arrAllFunction, ref ArrayList new_arr, string cach)
 {
     try
     {
         foreach (User_FunctionsInfo _info in arrAllFunction)
         {
             if (_info.prid == p_parentID)
             {
                 if (p_parentItem.authcode == 0)
                 {
                     p_parentItem.authcode = _info.authcode;
                 }
                 _info.name = cach + _info.name;
                 new_arr.Add(_info);
                 BuidlTreeFuction(_info, _info.functionId.ToString(), arrAllFunction, ref new_arr, cach + "          ");
             }
         }
     }
     catch (Exception ex)
     {
         ErrorLog.log.Error(ex.ToString());
     }
 }
Example #10
0
 /// <summary>
 /// Lấy những function con từ function cha
 /// </summary>
 private void BuidlTreeFuction(User_FunctionsInfo p_parentItem, string p_parentID, ArrayList arrAllFunction, ref ArrayList new_arr, string cach, string p_lang)
 {
     foreach (User_FunctionsInfo _info in arrAllFunction)
     {
         if (_info.prid == p_parentID)
         {
             if (p_parentItem.use_right == 0)
             {
                 p_parentItem.use_right = _info.use_right;
             }
             if (p_parentItem.view_right == 0)
             {
                 p_parentItem.view_right = _info.view_right;
             }
             if (p_parentItem.insert_right == 0)
             {
                 p_parentItem.insert_right = _info.insert_right;
             }
             if (p_parentItem.update_right == 0)
             {
                 p_parentItem.update_right = _info.update_right;
             }
             if (p_parentItem.delete_right == 0)
             {
                 p_parentItem.delete_right = _info.delete_right;
             }
             if (p_parentItem.approveInfo_right == 0)
             {
                 p_parentItem.approveInfo_right = _info.approveInfo_right;
             }
             _info.name     = cach + _info.name;
             _info.Name_Eng = cach + _info.Name_Eng;
             new_arr.Add(_info);
             BuidlTreeFuction(_info, _info.functionId.ToString(), arrAllFunction, ref new_arr, cach + "          ", p_lang);
         }
     }
 }
Example #11
0
        private void Full_Right_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int rowselect = grUser_Rights.SelectedIndex;
                User_FunctionsInfo _User_FunctionsInfo = (User_FunctionsInfo)grUser_Rights.SelectedItem;

                if (_User_FunctionsInfo.Full_Right == 0)
                {
                    _User_FunctionsInfo.use_right         = 1;
                    _User_FunctionsInfo.view_right        = 1;
                    _User_FunctionsInfo.insert_right      = 1;
                    _User_FunctionsInfo.update_right      = 1;
                    _User_FunctionsInfo.delete_right      = 1;
                    _User_FunctionsInfo.approveInfo_right = 1;
                    _User_FunctionsInfo.Full_Right        = 1;
                    grUser_Rights.EndInit();
                    grUser_Rights.Items.Refresh();
                }
                else
                {
                    chkCheckAll.IsChecked                 = false;
                    _User_FunctionsInfo.use_right         = 0;
                    _User_FunctionsInfo.view_right        = 0;
                    _User_FunctionsInfo.insert_right      = 0;
                    _User_FunctionsInfo.update_right      = 0;
                    _User_FunctionsInfo.delete_right      = 0;
                    _User_FunctionsInfo.approveInfo_right = 0;
                    _User_FunctionsInfo.Full_Right        = 0;
                    grUser_Rights.EndInit();
                    grUser_Rights.Items.Refresh();
                }

                if (_User_FunctionsInfo.last == "N") // nếu là cha
                {
                    #region nếu mà là cha
                    // duyệt tất cả thằng con của nó
                    // thì gán all theo thằng cha
                    foreach (User_FunctionsInfo ufri in c_arrFunction)
                    {
                        if (ufri.prid == _User_FunctionsInfo.functionId)
                        {
                            if (_User_FunctionsInfo.update_right == 1)
                            {
                                ufri.use_right         = 1;
                                ufri.view_right        = 1;
                                ufri.insert_right      = 1;
                                ufri.update_right      = 1;
                                ufri.delete_right      = 1;
                                ufri.approveInfo_right = 1;
                            }
                            else
                            {
                                ufri.use_right         = 0;
                                ufri.view_right        = 0;
                                ufri.insert_right      = 0;
                                ufri.update_right      = 0;
                                ufri.delete_right      = 0;
                                ufri.approveInfo_right = 0;
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    #region nếu mà là con
                    if (_User_FunctionsInfo.Full_Right == 0)
                    {
                        #region nếu bỏ chọn thì bỏ check thằng cha
                        foreach (User_FunctionsInfo ufri in c_arrFunction)
                        {
                            if (ufri.functionId == _User_FunctionsInfo.prid)
                            {
                                ufri.use_right         = 0;
                                ufri.view_right        = 0;
                                ufri.insert_right      = 0;
                                ufri.update_right      = 0;
                                ufri.delete_right      = 0;
                                ufri.approveInfo_right = 0;
                                break;
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        #region nếu mà chọn thì ktra all thằng con cùng cha vs nó nếu mà all thằng con cùng check thì,thì check thằng cha đó

                        bool _ck_all_view = true;
                        foreach (User_FunctionsInfo ufri in c_arrFunction)
                        {
                            // kiểm tra tất cả thằng con cùng cha vs nó
                            // nếu mà tick hết thì check thằng cha
                            if (ufri.prid == _User_FunctionsInfo.prid)
                            {
                                if (ufri.approveInfo_right == 0 || ufri.use_right == 0 || ufri.view_right == 0 ||
                                    ufri.insert_right == 0 || ufri.update_right == 0 || ufri.delete_right == 0)
                                {
                                    _ck_all_view = false;
                                    break;
                                }
                            }
                        }

                        if (_ck_all_view) // nếu mà tất cả thằng con cùng check thì
                        {
                            foreach (User_FunctionsInfo ufri in c_arrFunction)
                            {
                                if (ufri.functionId == _User_FunctionsInfo.prid)
                                {
                                    ufri.use_right         = 1;
                                    ufri.view_right        = 1;
                                    ufri.insert_right      = 1;
                                    ufri.update_right      = 1;
                                    ufri.delete_right      = 1;
                                    ufri.approveInfo_right = 1;
                                    break;
                                }
                            }
                        }
                        #endregion
                    }
                    #endregion
                }


                Check_Is_CheckALl();
                DataGridHelper.NVSFocus(grUser_Rights, rowselect, (grUser_Rights.CurrentColumn).DisplayIndex);

                c_change = true;
            }
            catch (Exception ex)
            {
                CommonData.log.Error(ex.ToString());
            }
        }
Example #12
0
        private void us_right_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                User_FunctionsInfo _User_FunctionsInfo = (User_FunctionsInfo)gr_Rights.SelectedItem;
                int rowselect = gr_Rights.SelectedIndex;

                if (_User_FunctionsInfo.last == "N") // nếu là cha
                {
                    #region nếu mà là cha
                    // duyệt tất cả thằng con của nó
                    // thì gán all theo thằng cha
                    foreach (User_FunctionsInfo ufri in c_arrFunction)
                    {
                        if (ufri.prid == _User_FunctionsInfo.functionId)
                        {
                            if (_User_FunctionsInfo.authcode == 0)
                            {
                                ufri.authcode = 1;
                            }
                            else
                            {
                                ufri.authcode = 0;
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    #region nếu mà là con
                    if (_User_FunctionsInfo.authcode == 1)
                    {
                        #region nếu bỏ chọn thì bỏ check thằng cha
                        foreach (User_FunctionsInfo ufri in c_arrFunction)
                        {
                            if (ufri.functionId == _User_FunctionsInfo.prid)
                            {
                                ufri.authcode = 0;
                                break;
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        #region nếu mà chọn thì check all thằng con cùng cha vs nó nếu mà all thằng con cùng check thì,thì check thằng cha đó

                        bool _ck_all_view = true;
                        foreach (User_FunctionsInfo ufri in c_arrFunction)
                        {
                            // kiểm tra tất cả thằng con cùng cha vs nó
                            // nếu mà tick hết thì check thằng cha, không kiểm tra chính thằng đang được chọn
                            if (ufri.prid == _User_FunctionsInfo.prid && ufri.functionId != _User_FunctionsInfo.functionId)
                            {
                                if (ufri.authcode == 0)
                                {
                                    _ck_all_view = false;
                                    break;
                                }
                            }
                        }

                        if (_ck_all_view)
                        {
                            foreach (User_FunctionsInfo ufri in c_arrFunction)
                            {
                                if (ufri.functionId == _User_FunctionsInfo.prid)
                                {
                                    ufri.authcode = 1;
                                    break;
                                }
                            }
                        }
                        #endregion
                    }
                    #endregion
                }

                if (_User_FunctionsInfo.authcode == 0)
                {
                    _User_FunctionsInfo.authcode = 1;
                    gr_Rights.EndInit();
                    gr_Rights.Items.Refresh();
                }
                else
                {
                    _User_FunctionsInfo.authcode = 0;
                    gr_Rights.EndInit();
                    gr_Rights.Items.Refresh();
                }
                c_change = true;
                DataGridHelper.NVSFocus(gr_Rights, rowselect, (gr_Rights.CurrentColumn).DisplayIndex);
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
            }
        }
Example #13
0
        void GetFunctionGroupAdd(ArrayList p_arr_new, Hashtable _hs_new_check)
        {
            try
            {
                #region Lấy thằng function nào đc add mới hoặc bỏ đi

                // xem những thằng nào được check thêm thì add thêm quyền cho nó
                ArrayList _funt_add       = new ArrayList();
                Hashtable _hs_funt_remove = new Hashtable();
                foreach (FunctionsInfo item in p_arr_new)
                {
                    // xem những thằng nào được check thêm thì add thêm quyền cho nó
                    FunctionsInfo _tem = new FunctionsInfo();
                    _tem = (FunctionsInfo)c_hs_UserRight_First[item.id];
                    if (_tem == null)
                    {
                        _funt_add.Add(item);
                    }
                }

                // xem những thằng nào mà lúc đầu có lúc sau ko có thì xóa quyền của nó đi
                foreach (FunctionsInfo item in c_hs_UserRight_First.Values)
                {
                    FunctionsInfo _tem = new FunctionsInfo();
                    _tem = (FunctionsInfo)_hs_new_check[item.id];
                    if (_tem == null)
                    {
                        _hs_funt_remove[item.id] = item;
                    }
                }
                #endregion

                #region Xóa quyền cho những function mới thêm vào cho all các user thuộc group đó

                if (_hs_funt_remove.Count > 0)
                {
                    foreach (User_Info item_us in DBMemory.c_hash_Users.Values)
                    {
                        ArrayList _arrRightByUser = new ArrayList();
                        if (item_us.Group_Id == c_GroupUserInfo.Id)
                        {
                            foreach (FunctionsInfo fun in _hs_funt_remove.Values)
                            {
                                _User_RightsController.Delete_User_Right_By_UserFuntion(item_us.User_Name, fun.id);
                            }
                        }
                    }
                }

                #endregion

                #region Thêm full quyền cho những function mới thêm vào cho all các user thuộc group đó
                if (_funt_add.Count > 0)
                {
                    // lấy all user thuộc nhóm đó

                    foreach (User_Info item_us in DBMemory.c_hash_Users.Values)
                    {
                        List <User_RightsInfo> _lstRightByUser = new List <User_RightsInfo>();

                        if (item_us.Group_Id == c_GroupUserInfo.Id)
                        {
                            #region Add thêm quyền vào user đó
                            // add thêm những quyền mới thêm vào user đó
                            foreach (FunctionsInfo fun in _funt_add)
                            {
                                User_FunctionsInfo _us_fun = new User_FunctionsInfo();
                                _us_fun.functionId = fun.id;
                                _us_fun.authcode   = 1;
                                User_RightsInfo _User_RightsInfo = ConvertToUser_RightsInfo(_us_fun, item_us.User_Id);
                                _User_RightsInfo.User_Name = item_us.User_Name;
                                _lstRightByUser.Add(_User_RightsInfo);
                            }

                            _User_RightsController.User_Rights_Insert_Barth(_lstRightByUser);

                            #endregion
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                ErrorLog.log.Error(ex.ToString());
            }
        }