Esempio n. 1
0
        /// <summary>
        /// fill module accessright from datarow
        /// </summary>
        /// <param name="dr"></param>
        /// <param name="allowAccessActionList"></param>
        /// <param name="accessRightDA"></param>
        /// <returns></returns>
        private ModuleRightModel FillModuleRightModel(DataRow dr, List <string> allowAccessActionList, AccessRightDA accessRightDA)
        {
            ModuleRightModel mrModel = new ModuleRightModel();

            mrModel.ModuleCode = CommUtil.ConvertObjectToString(dr["code"]);
            mrModel.ModuleName = CommUtil.ConvertObjectToString(dr["name"]);

            DataTable dtAccessRight             = accessRightDA.GetAccessRightByModuleCode(dr["code"].ToString());
            Dictionary <string, bool> dicAction = new Dictionary <string, bool>();

            for (int j = 0; j < dtAccessRight.Rows.Count; j++)
            {
                DataRow drAction = dtAccessRight.Rows[j];
                if (drAction["name"] != null)
                {
                    if (allowAccessActionList.Contains(mrModel.ModuleCode + "_" + drAction["code"].ToString()))
                    {
                        dicAction[drAction["name"].ToString()] = true;
                    }
                    else
                    {
                        dicAction[drAction["name"].ToString()] = false;
                    }
                }
            }
            mrModel.DicAction = dicAction;
            return(mrModel);
        }
Esempio n. 2
0
        /// <summary>
        /// Get the module allow action by groupid
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        private List <string> GetModuleAccessRightByGroupID(string groupID)
        {
            List <string> moduleARList  = new List <string>();
            AccessRightDA accessRightDA = null;
            DataTable     dt            = new DataTable();

            try
            {
                accessRightDA = new AccessRightDA();
                dt            = accessRightDA.GetAccessRightByGroupID(groupID);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    string  allowAccessModuleAction = CommUtil.ConvertObjectToString(dr["ModuleCode"]) + "_" + CommUtil.ConvertObjectToString(dr["ActionCode"]);
                    moduleARList.Add(allowAccessModuleAction);
                }
            }
            finally
            {
                if (accessRightDA != null)
                {
                    accessRightDA.CloseConnection();
                }
            }
            return(moduleARList);
        }
Esempio n. 3
0
        public List <SelectListItem> GetAllOperation()
        {
            List <SelectListItem> _operationList = new List <SelectListItem>();

            OperationDA opDA = null;
            DataTable   dt   = new DataTable();

            try
            {
                opDA = new OperationDA();
                dt   = opDA.GetAllOperation();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow        dr   = dt.Rows[i];
                    SelectListItem item = new SelectListItem();
                    item.Text  = CommUtil.ConvertObjectToString(dr["Operation_desc"]);
                    item.Value = CommUtil.ConvertObjectToString(dr["Operation_code"]);
                    _operationList.Add(item);
                }
            }
            finally
            {
                if (opDA != null)
                {
                    opDA.CloseConnection();
                }
            }

            return(_operationList);
        }
Esempio n. 4
0
        public IEnumerable <MenuModel> GetMenu()
        {
            List <string> moduleList = new List <string>();

            List <MenuModel> menuList = new List <MenuModel>();
            ModuleDA         moduleDA = null;
            DataTable        dt       = new DataTable();

            try
            {
                moduleDA = new ModuleDA();
                dt       = moduleDA.GetMenuByUserID(UserUID, Operation);


                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    if ("".Equals(CommUtil.ConvertObjectToString(dr["ModuleCode"])) || moduleList.Contains(CommUtil.ConvertObjectToString(dr["ModuleCode"])))
                    {
                        continue;
                    }
                    else
                    {
                        moduleList.Add(CommUtil.ConvertObjectToString(dr["ModuleCode"]));
                    }

                    MenuModel mm = new MenuModel();
                    mm.ModuleCode       = CommUtil.ConvertObjectToString(dr["ModuleCode"]);
                    mm.ModuleName       = CommUtil.ConvertObjectToString(dr["ModuleName"]);
                    mm.ModuleController = CommUtil.ConvertObjectToString(dr["ModuleController"]);
                    mm.ModuleAction     = CommUtil.ConvertObjectToString(dr["ModuleAction"]);
                    mm.IsFatherNode     = CommUtil.ConvertObjectToBool(dr["IsFatherNode"]);
                    bool isSelect = false;
                    if (mm.IsFatherNode)
                    {
                        mm.SubMenu = GetSubMenu(mm.ModuleCode, 1, out isSelect);
                    }
                    else
                    {
                        isSelect = CheckMenuSelected(mm.ModuleController, mm.ModuleAction);
                    }

                    mm.IsSelect = isSelect;
                    menuList.Add(mm);
                }
            }
            finally
            {
                if (moduleDA != null)
                {
                    moduleDA.CloseConnection();
                }
            }

            return(menuList);
        }
Esempio n. 5
0
        /// <summary>
        /// Get all goup info
        /// </summary>
        /// <param name="groupID"></param>
        /// <param name="selectedGroupID"></param>
        /// <param name="selectedGroupName"></param>
        /// <returns></returns>
        private List <GroupM> GetAllGroup(string groupID, out string selectedGroupID, out string selectedGroupName)
        {
            selectedGroupID   = "";
            selectedGroupName = "";

            bool getGroupFisrstElement = false;

            if (groupID == null)
            {
                getGroupFisrstElement = true;
            }

            List <GroupM> groupList = new List <GroupM>();

            GroupDA   groupDA = null;
            DataTable dt      = new DataTable();

            try
            {
                groupDA = new GroupDA();
                dt      = groupDA.GetAllGroup(Operation);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr    = dt.Rows[i];
                    GroupM  group = new GroupM();
                    group.GroupID   = CommUtil.ConvertObjectToString(dr["GroupID"]);
                    group.GroupName = CommUtil.ConvertObjectToString(dr["GroupName"]);
                    groupList.Add(group);

                    if (i == 0 && getGroupFisrstElement)
                    {
                        selectedGroupID   = group.GroupID;
                        selectedGroupName = group.GroupName;
                    }

                    if (group.GroupID.Equals(groupID))
                    {
                        selectedGroupID   = group.GroupID;
                        selectedGroupName = group.GroupName;
                    }
                }
            }
            finally
            {
                if (groupDA != null)
                {
                    groupDA.CloseConnection();
                }
            }
            return(groupList);
        }
Esempio n. 6
0
        public bool EditModuleAccessRight(string moduleActions, string groupID)
        {
            if (!string.IsNullOrEmpty(moduleActions))
            {
                AccessRightDA accessRightDA = null;
                DataTable     dtAction      = new DataTable();
                try
                {
                    accessRightDA = new AccessRightDA();
                    dtAction      = accessRightDA.GetAllAction();

                    Dictionary <string, string> dicAction = new Dictionary <string, string>();
                    for (int i = 0; i < dtAction.Rows.Count; i++)
                    {
                        DataRow dr = dtAction.Rows[i];
                        dicAction[CommUtil.ConvertObjectToString(dr["name"])] = CommUtil.ConvertObjectToString(dr["code"]);
                    }

                    accessRightDA.DeleteAccessRightByGroupID(groupID);

                    string[] rights = moduleActions.Split(',');
                    if (rights.Count() > 0)
                    {
                        foreach (string module_actions in rights)
                        {
                            if (!string.IsNullOrEmpty(module_actions))
                            {
                                string[] module_action = module_actions.Split('_');
                                if (module_action.Count() == 2)
                                {
                                    accessRightDA.InsertAccessRight(module_action[0], groupID, dicAction[module_action[1]], module_action[1], 1, UserID, DateTime.Now);
                                }
                            }
                        }
                    }
                }
                finally
                {
                    if (accessRightDA != null)
                    {
                        accessRightDA.CloseConnection();
                    }
                }
            }
            return(true);
        }
Esempio n. 7
0
        public List <SelectListItem> GetOperation()
        {
            List <SelectListItem> _operationList  = new List <SelectListItem>();
            List <string>         _operationCheck = new List <string>();

            OperationDA opDA = null;
            DataTable   dt   = new DataTable();

            try
            {
                opDA = new OperationDA();
                dt   = opDA.GetOperationByUserID(UserID);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow        dr   = dt.Rows[i];
                    SelectListItem item = new SelectListItem();
                    item.Text  = CommUtil.ConvertObjectToString(dr["Operation_desc"]);
                    item.Value = CommUtil.ConvertObjectToString(dr["Operation_code"]);
                    if (!_operationCheck.Contains(item.Text))
                    {
                        _operationCheck.Add(item.Text);
                        _operationList.Add(item);
                    }
                }

                if (_operationList.Count == 1)
                {
                    Operation     = CommUtil.ConvertObjectToString(_operationList[0].Value);
                    OperationName = CommUtil.ConvertObjectToString(_operationList[0].Text);
                }
            }
            finally
            {
                if (opDA != null)
                {
                    opDA.CloseConnection();
                }
            }

            return(_operationList);
        }
Esempio n. 8
0
        private List <MenuModel> GetSubMenu(string code, int deep, out bool isSelect)
        {
            bool temp = false;

            isSelect = false;
            List <string>    moduleList = new List <string>();
            List <MenuModel> menuList   = new List <MenuModel>();
            ModuleDA         moduleDA   = null;
            DataTable        dt         = new DataTable();

            try
            {
                moduleDA = new ModuleDA();
                dt       = moduleDA.GetMenuByCodeAndUserID(code, UserUID, Operation);


                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    if ("".Equals(CommUtil.ConvertObjectToString(dr["ModuleCode"])) || moduleList.Contains(CommUtil.ConvertObjectToString(dr["ModuleCode"])))
                    {
                        continue;
                    }
                    else
                    {
                        moduleList.Add(CommUtil.ConvertObjectToString(dr["ModuleCode"]));
                    }

                    MenuModel mm = new MenuModel();
                    mm.ModuleCode       = CommUtil.ConvertObjectToString(dr["ModuleCode"]);
                    mm.ModuleName       = CommUtil.ConvertObjectToString(dr["ModuleName"]);
                    mm.ModuleController = CommUtil.ConvertObjectToString(dr["ModuleController"]);
                    mm.ModuleAction     = CommUtil.ConvertObjectToString(dr["ModuleAction"]);
                    mm.IsFatherNode     = CommUtil.ConvertObjectToBool(dr["IsFatherNode"]);

                    if (mm.IsFatherNode && deep <= 5)
                    {
                        mm.SubMenu = GetSubMenu(mm.ModuleCode, deep + 1, out isSelect);
                    }
                    else
                    {
                        isSelect = CheckMenuSelected(mm.ModuleController, mm.ModuleAction);
                    }

                    mm.IsSelect = isSelect;

                    //subMenu is selected
                    if (isSelect)
                    {
                        temp = true;
                    }

                    menuList.Add(mm);
                }

                //if submenu is selectd father menu is selected
                if (temp)
                {
                    isSelect = true;
                }
            }
            finally
            {
                if (moduleDA != null)
                {
                    moduleDA.CloseConnection();
                }
            }

            return(menuList);
        }