Example #1
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int DeleteMultiple(ParameterCollection pc)
        {
            int ret = 0;

            RelUsergroupPremissionModel relusergrouppremission = new RelUsergroupPremissionModel();

            ret = DbUtil.Current.DeleteMultiple(relusergrouppremission, pc);

            return(ret);
        }
Example #2
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>影响的记录行数</returns>
        public int Delete()
        {
            int ret = 0;

            RelUsergroupPremissionModel relusergrouppremission = new RelUsergroupPremissionModel();

            ret = DbUtil.Current.Delete(relusergrouppremission);

            return(ret);
        }
Example #3
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="relusergrouppremission">实体</param>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int UpdateMultiple(RelUsergroupPremissionModel relusergrouppremission, ParameterCollection pc)
        {
            int ret = 0;

            relusergrouppremission.ModifiedBy = SessionUtil.Current.UserId;
            relusergrouppremission.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.UpdateMultiple(relusergrouppremission, pc);

            return(ret);
        }
Example #4
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="relusergrouppremission">实体</param>
        /// <returns>影响的记录行数</returns>
        public int Update(RelUsergroupPremissionModel relusergrouppremission)
        {
            int ret = 0;

            relusergrouppremission.ModifiedBy = SessionUtil.Current.UserId;
            relusergrouppremission.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.Update(relusergrouppremission);

            return(ret);
        }
Example #5
0
        /// <summary>
        /// 根据主键获取实体
        /// </summary>
        /// <returns>实体</returns>
        public RelUsergroupPremissionModel Retrieve()
        {
            RelUsergroupPremissionModel relusergrouppremission = new RelUsergroupPremissionModel();

            DataTable dt = DbUtil.Current.Retrieve(relusergrouppremission);

            if (dt.Rows.Count < 1)
            {
                return(null);
            }

            relusergrouppremission.ConvertFrom(dt);

            return(relusergrouppremission);
        }
Example #6
0
        /// <summary>
        /// 根据条件获取实体集合
        /// </summary>
        /// <param name="pc">pc</param>
        /// <param name="obc">obc</param>
        /// <returns>实体</returns>
        public List <RelUsergroupPremissionModel> RetrieveMultiple(ParameterCollection pc, OrderByCollection obc)
        {
            List <RelUsergroupPremissionModel> relusergrouppremissions = new List <RelUsergroupPremissionModel>();

            RelUsergroupPremissionModel relusergrouppremission = new RelUsergroupPremissionModel();
            DataTable dt = DbUtil.Current.RetrieveMultiple(relusergrouppremission, pc, obc);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                relusergrouppremission = new RelUsergroupPremissionModel();
                relusergrouppremission.ConvertFrom(dt, i);
                relusergrouppremissions.Add(relusergrouppremission);
            }

            return(relusergrouppremissions);
        }
Example #7
0
        public UserGroupPremissionDomainModel GetUserGroupDomainByGroupIdFromDatabase(string userGroupId)
        {
            if (userGroupId == null)
            {
                return(null);
            }

            UserGroupPremissionDomainModel result = null;

            UserGroupInfoModel groupInfo = Retrieve(userGroupId);

            if (groupInfo != null)
            {
                result = new UserGroupPremissionDomainModel();
                result.WorkOrderPremissionList = new Dictionary <string, RelUsergroupPremissionModel>();
                result.UserGroupInfo           = groupInfo;

                #region 获取工单权限

                string GetWorkOrderPremissionSQL = "SELECT * FROM rel_usergroup_premission WHERE premission_type = 'WORKORDER' AND usergroup_id = $groupId$";
                ParameterCollection pc           = new ParameterCollection();
                pc.Add("groupId", userGroupId);
                DataTable WOPremissin = ExecuteDataTable(GetWorkOrderPremissionSQL, pc);
                if (WOPremissin != null && WOPremissin.Rows.Count > 0)
                {
                    RelUsergroupPremissionModel pre = null;
                    for (int i = 0; i < WOPremissin.Rows.Count; i++)
                    {
                        pre = new RelUsergroupPremissionModel();
                        ModelConvertFrom(pre, WOPremissin, i);
                        result.WorkOrderPremissionList[pre.WorkorderTypeId] = pre;
                    }
                }

                #endregion
            }

            return(result);
        }
Example #8
0
        public bool UpdateUserGroupInfo(UserGroupInfoModel groupInfo, List <string> premissionList, out string message)
        {
            bool result = false;

            message = "操作失败,请与管理员联系";

            if (groupInfo == null)
            {
                message = "参数错误,请与管理员联系";
                return(false);
            }

            Dictionary <string, UserGroupInfoModel> groupList = GetUserGroupList(false);

            if (groupList.ContainsKey(groupInfo.UserGroupId) == false)
            {
                message = "操作失败,不存在的用户组ID";
                return(false);
            }

            try
            {
                BeginTransaction();

                if (Update(groupInfo) == 1)
                {
                    string[] preArr = null;

                    #region 生成工单权限实体列表

                    Dictionary <string, WorkorderTypeInfoModel>      WorkOrderTypeList       = WorkorderTypeInfoService.Instance.GetWorkOrderDictionary(false);
                    Dictionary <string, RelUsergroupPremissionModel> WorkOrderPremissionList = new Dictionary <string, RelUsergroupPremissionModel>();
                    foreach (WorkorderTypeInfoModel item in WorkOrderTypeList.Values)
                    {
                        RelUsergroupPremissionModel pre = new RelUsergroupPremissionModel();
                        pre.UsergroupId     = groupInfo.UserGroupId;
                        pre.WorkorderTypeId = item.WorkorderTypeId;
                        pre.PremissionType  = "WORKORDER";
                        pre.Status          = 0;
                        pre.CanSelect       = 1;
                        pre.CanProcess      = 1;
                        pre.CanClose        = 1;
                        pre.CanDelete       = 1;
                        pre.IsManage        = 1;

                        WorkOrderPremissionList[pre.WorkorderTypeId] = pre;
                    }

                    #endregion

                    foreach (string premission in premissionList)
                    {
                        preArr = premission.Split('_');

                        #region 处理工单权限

                        if (preArr[0].ToUpper() == "WORKORDER")
                        {
                            switch (preArr[2])
                            {
                            case "SELECT":
                                WorkOrderPremissionList[preArr[1]].CanSelect = 0;
                                break;

                            case "PROCESS":
                                WorkOrderPremissionList[preArr[1]].CanProcess = 0;
                                break;

                            case "CLOSE":
                                WorkOrderPremissionList[preArr[1]].CanClose = 0;
                                break;

                            case "DELETE":
                                WorkOrderPremissionList[preArr[1]].CanDelete = 0;
                                break;

                            case "MANAGE":
                                WorkOrderPremissionList[preArr[1]].IsManage = 0;
                                break;

                            default:
                                break;
                            }
                        }

                        #endregion
                    }


                    #region 更新工单权限至数据库

                    string DeleteWorkOrderPremissionSQL = "DELETE FROM rel_usergroup_premission WHERE usergroup_id = $usergroup_id$ AND premission_type = $premission_type$";
                    ParameterCollection pc = new ParameterCollection();
                    pc.Add("usergroup_id", groupInfo.UserGroupId);
                    pc.Add("premission_type", "WORKORDER");

                    if (ExecuteNonQuery(DeleteWorkOrderPremissionSQL, pc) >= 0)
                    {
                        foreach (RelUsergroupPremissionModel item in WorkOrderPremissionList.Values)
                        {
                            if (RelUsergroupPremissionService.Instance.Create(item) != 1)
                            {
                                RollbackTransaction();
                                message = "更新工单权限信息失败";
                                return(false);
                            }
                        }
                    }
                    #endregion

                    CommitTransaction();
                    GetUserGroupList(true);
                    GetUserGroupDomainByGroupId(groupInfo.UserGroupId, true);
                    message = "成功更新用户组信息";
                    result  = true;
                }
                else
                {
                    RollbackTransaction();
                    message = "更新用户组基本信息失败";
                    result  = false;
                }
            }
            catch (Exception ex)
            {
                RollbackTransaction();
                LogUtil.Error("更新用户组信息异常", ex);
                throw ex;
            }

            return(result);
        }