Пример #1
0
        /// <summary>
        /// 批量删除
        /// </summary>
        /// <typeparam name="TEntity"> 要注册的类型 </typeparam>
        /// <param name="entities"> 要注册的对象集合 </param>
        public virtual OperationResult Delete <TEntity>(IEnumerable <TEntity> entities) where TEntity : EntityBase
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    foreach (TEntity entity in entities)
                    {
                        ctx.Entry(entity).State = EntityState.Deleted;
                    }
                    ctx.SaveChanges();



                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            finally
            {
                // Context.Configuration.AutoDetectChangesEnabled = true;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #2
0
 /// <summary>
 /// 创建人:张辽阔
 /// 创建时间:2016-10-26
 /// 创建记录:执行有增、删、改操作的方法并且有返回值,带事务控制
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="func"></param>
 /// <returns></returns>
 public static T ExecuteTrans <T>(Func <iCMSDbContext, T> func)
 {
     if (func != null)
     {
         using (iCMSDbContext BaseContext = new iCMSDbContext())
         {
             DbContextTransaction BaseTrans = BaseContext.Database.BeginTransaction();
             //设置EF执行存储过程超时时间
             BaseContext.Database.CommandTimeout = 5 * 60 * 1000;
             try
             {
                 T result = func(BaseContext);
                 BaseTrans.Commit();
                 return(result);
             }
             catch (Exception e)
             {
                 BaseTrans.Rollback();
                 throw e;
             }
         }
     }
     else
     {
         return(default(T));
     }
 }
Пример #3
0
 /// <summary>
 /// 查找指定主键的实体记录
 /// </summary>
 /// <param name="key"> 指定主键 </param>
 /// <returns> 符合编号的记录,不存在返回null </returns>
 public virtual TEntity GetByKey(object key)
 {
     using (iCMSDbContext ctx = new iCMSDbContext())
     {
         return(Set <TEntity>(ctx).Find(key));
     }
 }
Пример #4
0
        /// <summary>
        /// 事务操作
        /// </summary>
        /// <param name="models"></param>
        /// <returns></returns>
        public OperationResult TranMethod(Dictionary <EntityBase, EntityState> models)
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    foreach (var model in models)
                    {
                        ctx.Entry(model.Key).State = model.Value;
                    }

                    ctx.SaveChanges();

                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            finally
            {
                // Context.Configuration.AutoDetectChangesEnabled = true;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #5
0
        /// <summary>
        /// 角色添加
        /// 修改人:张辽阔
        /// 修改时间:2016-11-08
        /// 修改记录:修改IsDeault和IsShow的值
        ///
        /// 修改人:王龙杰
        /// 修改时间:2017-10-13
        /// 修改记录:添加角色同时添加角色附权
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <bool> AddRoleInfo(AddRoleParameter Parameter)
        {
            BaseResponse <bool> result = new BaseResponse <bool>();

            try
            {
                using (iCMSDbContext dataContext = new iCMSDbContext())
                {
                    Validate validate = new Validate(userRepository, roleRepository);
                    result = validate.ValidateAddRoleParams(Parameter);
                    if (!result.IsSuccessful)
                    {
                        return(result);
                    }
                    Role role = new Role()
                    {
                        AddDate  = DateTime.Now,
                        RoleName = Parameter.RoleName,
                        RoleCode = Parameter.RoleCode,
                        //张辽阔 2016-11-08 修改
                        IsDeault = Parameter.IsDeault,
                        IsShow   = Parameter.IsShow,
                    };
                    OperationResult operationResult = dataContext.Role.AddNew <Role>(dataContext, role);
                    if (operationResult.ResultType == EnumOperationResultType.Success)
                    {
                        //添加角色附权 王龙杰 2017-10-13
                        dataContext.Configuration.AutoDetectChangesEnabled = false;
                        var addRoleModuleList =
                            (from p in Parameter.Module
                             select new RoleModule
                        {
                            RoleCode = Parameter.RoleCode,
                            ModuleCode = p,
                        });
                        foreach (var item in addRoleModuleList)
                        {
                            dataContext.Entry(item).State = EntityState.Added;
                        }
                        dataContext.SaveChanges();

                        result.IsSuccessful = true;
                        return(result);
                    }
                    else
                    {
                        result.IsSuccessful = false;
                        result.Code         = "003961";
                        return(result);
                    }
                }
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.IsSuccessful = false;
                result.Code         = "003961";
                return(result);
            }
        }
Пример #6
0
        /// <summary>
        ///  add by masu 2016年3月17日09:10:11 批量更新
        /// </summary>
        /// <typeparam name="TEntity"> 要注册的类型 </typeparam>
        /// <param name="entity"> 要注册的对象 </param>
        public virtual OperationResult Update <TEntity>(IEnumerable <TEntity> entities) where TEntity : EntityBase
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    // EntityState state;
                    //不跟踪变化,提高效率
                    ctx.Configuration.AutoDetectChangesEnabled = false;
                    foreach (TEntity entity in entities)
                    {
                        if (ctx.Entry(entity).State == EntityState.Detached)
                        {
                            ctx.Entry(entity).State = EntityState.Modified;
                        }
                    }

                    ctx.SaveChanges();



                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #7
0
 /// <summary>
 ///     删除指定编号的记录
 /// </summary>
 /// <param name="id"> 实体记录编号 </param>
 /// <returns> 操作影响的行数 </returns>
 public virtual OperationResult Delete <TEntity>(int id) where TEntity : EntityBase
 {
     using (iCMSDbContext ctx = new iCMSDbContext())
     {
         TEntity entity = Set <TEntity>(ctx).Find(id);
         return(Delete <TEntity>(entity));
     }
 }
Пример #8
0
        /// <summary>
        ///     删除所有符合特定表达式的数据
        /// </summary>
        /// <param name="predicate"> 查询条件谓语表达式 </param>
        /// <returns> 操作影响的行数 </returns>
        public virtual OperationResult Delete(Expression <Func <TEntity, bool> > predicate)
        {
            using (iCMSDbContext ctx = new iCMSDbContext())
            {
                List <TEntity> entities = Set <TEntity>(ctx).Where(predicate).ToList();

                return(Delete <TEntity>(entities));
            }
        }
Пример #9
0
        /// <summary>
        /// 查询系统日志
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <SystemLogResult> QuerySystemLog(QuerySystemLogParameter Parameter)
        {
            BaseResponse <SystemLogResult> result = new BaseResponse <SystemLogResult>();
            var total                      = 0;
            var sysLogInfoList             = new List <SysLogInfo>();
            IQueryable <SysLog> sysLogList = null;

            try
            {
                ListSortDirection sortDirection = Parameter.Order.ToLower().Equals("desc") ? ListSortDirection.Descending : ListSortDirection.Ascending;
                if (Parameter.IsSuperAdmin)
                {
                    sysLogList = sysLogRepository.GetDatas <SysLog>(p => true, false);
                }
                else
                {
                    sysLogList = sysLogRepository.GetDatas <SysLog>(t => t.UserID != 1011, false);
                }

                var users = new iCMSDbContext().Users.ToList();
                var linq  =
                    from sysLog in sysLogList
                    join u in users
                    on sysLog.UserID equals u.UserID into sysLogGroups
                    from sl in sysLogGroups.DefaultIfEmpty(new User())
                    select new SysLogInfo
                {
                    SysLogID  = sysLog.SysLogID,
                    UserID    = sysLog.UserID,
                    UserName  = sl.UserName,
                    Record    = sysLog.Record,
                    AddDate   = sysLog.AddDate,
                    IsDeleted = sl.IsDeleted,
                    IPAddress = sysLog.IPAddress,
                };
                sysLogInfoList = linq.AsQueryable()
                                 .Where(Parameter.Page, Parameter.PageSize, out total, new PropertySortCondition(Parameter.Sort, sortDirection))
                                 .ToList();

                result.Result = new SystemLogResult {
                    Total = total, SysLogInfo = sysLogInfoList, Reason = ""
                };
                result.IsSuccessful = true;
                return(result);
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.IsSuccessful = false;
                result.Result       = new SystemLogResult {
                    Total = 0, SysLogInfo = new List <SysLogInfo>(), Reason = "003871"
                };
                return(result);
            }
        }
Пример #10
0
        /// <summary>
        /// 角色赋权
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <bool> RoleAuthorization(RoleAuthorizationParameter Parameter)
        {
            BaseResponse <bool> result = new BaseResponse <bool>();

            try
            {
                if (Parameter.Module == null)
                {
                    Parameter.Module = new List <string>();
                }

                Validate validate = new Validate(userRepository, roleRepository);

                result = validate.ValidateRoleAuthorizationParameter(Parameter.RoleCode);
                if (!result.IsSuccessful)
                {
                    return(result);
                }

                using (var dataContext = new iCMSDbContext())
                {
                    dataContext.Configuration.AutoDetectChangesEnabled = false;
                    var roleModuleList =
                        (from p in dataContext.RoleModule
                         where p.RoleCode == Parameter.RoleCode
                         select p);
                    foreach (var item in roleModuleList)
                    {
                        dataContext.Entry(item).State = EntityState.Deleted;
                    }
                    var addRoleModuleList =
                        (from p in Parameter.Module
                         select new RoleModule
                    {
                        RoleCode = Parameter.RoleCode,
                        ModuleCode = p,
                    });
                    foreach (var item in addRoleModuleList)
                    {
                        dataContext.Entry(item).State = EntityState.Added;
                    }
                    dataContext.SaveChanges();
                }

                result.IsSuccessful = true;
                return(result);
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.IsSuccessful = false;
                result.Code         = "004021";
                return(result);
            }
        }
Пример #11
0
 /// <summary>
 /// 创建人:张辽阔
 /// 创建时间:2016-10-27
 /// 创建记录:删除多条数据
 /// </summary>
 /// <typeparam name="TEntity"></typeparam>
 /// <param name="source"></param>
 /// <param name="entities">要删除的对象集合</param>
 /// <returns></returns>
 public static OperationResult Delete <TEntity>(this DbSet <TEntity> source, iCMSDbContext context, IEnumerable <TEntity> entities) where TEntity : EntityBase
 {
     //不跟踪变化,提高效率
     context.Configuration.AutoDetectChangesEnabled = false;
     foreach (TEntity entity in entities)
     {
         context.Entry(entity).State = EntityState.Deleted;
     }
     context.SaveChanges();
     return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
 }
Пример #12
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <typeparam name="TEntity"></typeparam>
        ///// <param name="isTracking">是否追踪</param>
        ///// <returns></returns>
        //public virtual IQueryable<TEntity> GetDatas<TEntity>(bool isTracking) where TEntity : EntityBase
        //{
        //    using (iCMSDbContext ctx = new iCMSDbContext())
        //    {
        //        return Set<TEntity>(ctx).ToList().AsQueryable();
        //    }
        //}

        //add by iLine 20160427 增加条件查询
        /// <summary>
        /// 根据条件获取数据
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="predicate"></param>
        /// <param name="isTracking"></param>
        /// <returns></returns>
        public virtual IQueryable <TEntity> GetDatas <TEntity>(Expression <Func <TEntity, bool> > predicate, bool isTracking) where TEntity : EntityBase
        {
            using (iCMSDbContext ctx = new iCMSDbContext())
            {
                if (predicate != null)
                {
                    return(ctx.Set <TEntity>().Where(predicate).ToList().AsQueryable());
                }
                else
                {
                    return(null);
                }
            }
        }
Пример #13
0
        /// <summary>
        ///  更新
        /// </summary>
        /// <typeparam name="TEntity"> 要注册的类型 </typeparam>
        /// <param name="entity"> 要注册的对象 </param>
        public virtual OperationResult Update <TEntity>(TEntity entity) where TEntity : EntityBase
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    if (ctx.Entry(entity).State == EntityState.Detached)
                    {
                        ctx.Set <TEntity>().Attach(entity);
                    }

                    ctx.Entry(entity).State = EntityState.Modified;
                    ctx.SaveChanges();


                    //try
                    //{
                    //    #region 云推送添加
                    //    BaseCloudService cloud = BaseCloudService.GetInstance();
                    //    cloud.SyncInfo(entity, EnumCloudDataOperation.Update);
                    //    #endregion
                    //}
                    //catch (Exception ex)
                    //{
                    //    LogHelper.WriteLog(ex);
                    //}
                    //finally
                    //{

                    //}


                    #region 云平台修改 Multi Thread

                    //Thread thread = new Thread(YunyiThreadHelper.YunyiUpdate);
                    //thread.Start(entity);

                    #endregion

                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #14
0
        public string GetMonitorTreeDatas(MonitorTreeDatasParameter parameter)
        {
            int pid = parameter.Pid;
            var mts = _monitorTreeRepository.GetDatas <MonitorTree>(t => t.PID == pid, false);

            using (iCMSDbContext dbContext = new iCMSDbContext())
            {
                var linq = from mt in mts.ToList()
                           join mtType in dbContext.MonitorTreeType on mt.Type equals mtType.ID into mtGroup
                           from mtg in mtGroup
                           from mtProperty in dbContext.MonitorTreeProperty.ToList()
                           where mt.MonitorTreePropertyID == mtProperty.MonitorTreePropertyID
                           select new
                {
                    MonitorTreeID = mt.MonitorTreeID,
                    PID           = mt.PID,
                    OID           = mt.OID,
                    IsDefault     = mt.IsDefault,
                    Name          = mt.Name,
                    Des           = mt.Des,
                    Type          = mt.Type,
                    TypeName      = mtg.Name,
                    ImageID       = mt.ImageID ?? -1,
                    Status        = mt.Status,
                    AddDate       = mt.AddDate.ToString(),

                    //其他属性

                    Address           = mtProperty.Address,
                    URL               = mtProperty.URL,
                    TelphoneNO        = mtProperty.TelphoneNO,
                    FaxNO             = mtProperty.FaxNO,
                    Latitude          = mtProperty.Latitude.HasValue ? mtProperty.Latitude.Value.ToString() : "",
                    Longtitude        = mtProperty.Longtitude.HasValue ? mtProperty.Longtitude.Value.ToString() : "",
                    Length            = mtProperty.Length.HasValue ? mtProperty.Length.Value.ToString() : "",
                    Width             = mtProperty.Width.HasValue ? mtProperty.Width.Value.ToString() : "",
                    Area              = mtProperty.Area.HasValue ? mtProperty.Area.Value.ToString() : "",
                    PersonInCharge    = mtProperty.PersonInCharge,
                    PersonInChargeTel = mtProperty.PersonInChargeTel,
                    Remark            = mtProperty.Remark,
                    ChildCount        = -1
                };
            }


            var monitor = _monitorTreeRepository.GetByKey(pid);

            return("");
        }
Пример #15
0
 /// <summary>
 /// 创建人:张辽阔
 /// 创建时间:2016-10-26
 /// 创建记录:执行没有增、删、改操作的方法并且没有返回值,无事务控制
 /// </summary>
 /// <param name="func"></param>
 public static void ExecuteNotTrans(Action <iCMSDbContext> func)
 {
     if (func != null)
     {
         using (iCMSDbContext BaseContext = new iCMSDbContext())
         {
             try
             {
                 func(BaseContext);
             }
             catch (Exception e)
             {
                 throw e;
             }
         }
     }
 }
Пример #16
0
        public OperationResult SqlQuery <T>(string sql, SqlParameter[] para)
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    var sqlQuery = ctx.Database.SqlQuery <T>(sql, para).ToList();
                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!", sqlQuery));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #17
0
 /// <summary>
 /// 创建人:张辽阔
 /// 创建时间:2016-10-26
 /// 创建记录:执行有增、删、改操作的方法并且没有返回值,带事务控制
 /// </summary>
 /// <param name="func"></param>
 public static void ExecuteTrans(Action <iCMSDbContext> func)
 {
     if (func != null)
     {
         using (iCMSDbContext BaseContext = new iCMSDbContext())
         {
             DbContextTransaction BaseTrans = BaseContext.Database.BeginTransaction();
             try
             {
                 func(BaseContext);
                 BaseTrans.Commit();
             }
             catch (Exception e)
             {
                 BaseTrans.Rollback();
                 throw e;
             }
         }
     }
 }
Пример #18
0
 /// <summary>
 /// 创建人:张辽阔
 /// 创建时间:2016-10-26
 /// 创建记录:执行没有增、删、改操作的方法并且有返回值,无事务控制
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="func"></param>
 /// <returns></returns>
 public static T ExecuteNotTrans <T>(Func <iCMSDbContext, T> func)
 {
     if (func != null)
     {
         using (iCMSDbContext BaseContext = new iCMSDbContext())
         {
             try
             {
                 return(func(BaseContext));
             }
             catch (Exception e)
             {
                 throw e;
             }
         }
     }
     else
     {
         return(default(T));
     }
 }
Пример #19
0
        /// <summary>
        /// 直接执行SQL
        /// </summary>
        /// <param name="sql"></param>
        public OperationResult ExecuteSqlCommand(string sql)
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    ctx.Database.ExecuteSqlCommand(sql);

                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
                //Context.Database.ExecuteSqlCommand(sql);

                //return new OperationResult(EnumOperationResultType.Success, "操作成功!");
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #20
0
        /// <summary>
        ///  删除
        /// </summary>
        /// <typeparam name="TEntity"> 要注册的类型 </typeparam>
        /// <param name="entity"> 要注册的对象 </param>
        public virtual OperationResult Delete <TEntity>(TEntity entity) where TEntity : EntityBase
        {
            string exMsg = string.Empty;

            try
            {
                using (iCMSDbContext ctx = new iCMSDbContext())
                {
                    ctx.Entry(entity).State = EntityState.Deleted;

                    ctx.SaveChanges();



                    return(new OperationResult(EnumOperationResultType.Success, "操作成功!"));
                }
            }
            catch (Exception ex)
            {
                exMsg = ex.Message;
            }
            return(new OperationResult(EnumOperationResultType.Error, exMsg));
        }
Пример #21
0
        public BaseResponse <bool> EditOfficerRecord(EditOfficerParameter parameter)
        {
            BaseResponse <bool> response = new BaseResponse <bool>();

            try
            {
                #region 输入验证
                if (string.IsNullOrEmpty(parameter.Name))
                {
                    response.IsSuccessful = false;
                    response.Reason       = "干部名称不能为空";
                    return(response);
                }
                if (string.IsNullOrEmpty(parameter.IdentifyNumber))
                {
                    response.IsSuccessful = false;
                    response.Reason       = "身份证号不能为空";
                    return(response);
                }
                if (string.IsNullOrEmpty(parameter.OnOfficeDate))
                {
                    response.IsSuccessful = false;
                    response.Reason       = "请输入任职时间";
                    return(response);
                }

                if (parameter.OrganizationID < 1)
                {
                    response.IsSuccessful = false;
                    response.Reason       = "请选择单位";
                    return(response);
                }

                //var isExisted = officerRepository.GetDatas<Officer>(t => !t.IsDeleted && !string.IsNullOrEmpty(t.Name) && t.OfficerID != parameter.OfficerID && t.Name.Equals(parameter.Name), true).Any();
                //if (isExisted)
                //{
                //    response.IsSuccessful = false;
                //    response.Reason = "干部名称已存在";
                //    return response;
                //}

                var isExisted = officerRepository.GetDatas <Officer>(t => !t.IsDeleted && !string.IsNullOrEmpty(t.IdentifyCardNumber) && t.IdentifyCardNumber.Equals(parameter.IdentifyNumber) && t.OfficerID != parameter.OfficerID, true).Any();
                if (isExisted)
                {
                    throw new Exception("身份证号码重复");
                }

                if (!Utilitys.CheckIDCard(parameter.IdentifyNumber))
                {
                    throw new Exception("请输入合法的身份证号码");
                }
                using (iCMSDbContext dbContext = new iCMSDbContext())
                {
                    var updateUser = dbContext.HBUsers.Where(t => !t.IsDeleted && t.UserID == parameter.UpdateUserID).FirstOrDefault();
                    if (updateUser == null)
                    {
                        throw new Exception("数据异常");
                    }



                    int roleID = updateUser.RoleID;
                    switch (roleID)
                    {
                    case (int)EnumRoleType.SuperAdmin:
                        //超级管理员可以编辑任意单位的干部
                        break;

                    case (int)EnumRoleType.FirstLevelAdmin:
                        //一级管理员不能够编辑干部
                        throw new Exception("请使用二级管理员登陆,然后编辑干部");
                        break;

                    case (int)EnumRoleType.SecondLevelAdmin:
                        var organ = dbContext.Organizations.Where(t => !t.IsDeleted && t.OrganID == updateUser.OrganizationID).FirstOrDefault();
                        if (organ == null)
                        {
                            throw new Exception("数据异常");
                        }

                        //二级管理员只能够添加本单位的干部
                        if (updateUser.OrganizationID != parameter.OrganizationID)
                        {
                            string msg = string.Format("只能修改本单位({0})的干部", organ.OrganFullName);
                            throw new Exception(msg);
                        }
                        break;
                    }

                    //if (updateUser.OrganizationID != parameter.OrganizationID)
                    //{
                    //    string msg = string.Format("只能修改本单位({0})的干部", organ.OrganFullName);
                    //    throw new Exception(msg);
                    //}
                }

                #endregion

                var offIndb = officerRepository.GetDatas <Officer>(t => !t.IsDeleted && t.OfficerID == parameter.OfficerID, true).FirstOrDefault();
                if (offIndb == null)
                {
                    response.IsSuccessful = false;
                    response.Reason       = "编辑干部数据异常";
                    return(response);
                }
                offIndb.Name               = parameter.Name;
                offIndb.Gender             = parameter.Gender;
                offIndb.IdentifyCardNumber = parameter.IdentifyNumber;

                var birth    = Utilitys.GetBrithdayFromIdCard(parameter.IdentifyNumber);
                var birthDay = DateTime.MinValue;
                if (DateTime.TryParse(birth, out birthDay))
                {
                    offIndb.Birthday = birthDay;
                }

                offIndb.OrganizationID = parameter.OrganizationID;
                offIndb.PositionStr    = parameter.PositionStr;
                offIndb.LevelID        = parameter.LevelID;

                var onOfficeDate = DateTime.MinValue;
                if (DateTime.TryParse(parameter.OnOfficeDate, out onOfficeDate))
                {
                    offIndb.OnOfficeDate = onOfficeDate;
                }

                offIndb.Duty = parameter.Duty;
                //offIndb.InitialScore = parameter.InitialScore;

                var res = officerRepository.Update <Officer>(offIndb);
                if (res.ResultType != EnumOperationResultType.Success)
                {
                    throw new Exception("编辑干部发生异常");
                }
                return(response);
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;

                response.Reason = e.Message;
                return(response);
            }
        }
Пример #22
0
 private IQueryable <TEntity> Set <TEntity>(iCMSDbContext ctx, Expression <Func <TEntity, bool> > predicate) where TEntity : EntityBase
 {
     return(ctx.Set <TEntity>().Where(predicate).AsQueryable());
 }
Пример #23
0
        /// <summary>
        /// 角色编辑
        /// 修改人:张辽阔
        /// 修改时间:2016-11-08
        /// 修改记录:修改IsDeault和IsShow的值
        ///
        /// 修改人:王龙杰
        /// 修改时间:2017-10-13
        /// 修改记录:编辑角色同时添加角色附权
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <bool> EditRoleInfo(EditRoleParameter Parameter)
        {
            BaseResponse <bool> result = new BaseResponse <bool>();

            try
            {
                #region 验证角色是否已经被使用,如果已经被使用,则不能进行角色隐藏  王颖辉 2018-01-18
                var role = roleRepository.GetByKey(Parameter.RoleID);
                if (role == null)
                {
                    result.IsSuccessful = false;
                    result.Code         = "010092";
                    return(result);
                }

                //如果本次修改为隐藏,而且角色被使用,则不能进行隐藏
                if (role.IsShow != Parameter.IsShow && role.IsShow == 1)
                {
                    var isExist = userRepository.GetDatas <User>(item => item.RoleID == role.RoleID, true).Any();
                    if (isExist)
                    {
                        result.IsSuccessful = false;
                        result.Code         = "010102";
                        return(result);
                    }
                }

                #endregion
                using (iCMSDbContext dataContext = new iCMSDbContext())
                {
                    Validate validate = new Validate(userRepository, roleRepository);

                    result = validate.ValidateEditRoleParams(Parameter);
                    if (!result.IsSuccessful)
                    {
                        return(result);
                    }
                    Role tempRoleObj = dataContext.Role
                                       .GetDatas <Role>(dataContext, p => p.RoleID == Parameter.RoleID)
                                       .FirstOrDefault();
                    tempRoleObj.RoleName = Parameter.RoleName;
                    //张辽阔 2016-11-08 添加
                    tempRoleObj.IsDeault = Parameter.IsDeault;
                    tempRoleObj.IsShow   = Parameter.IsShow;
                    OperationResult operationResult = dataContext.Role.Update <Role>(dataContext, tempRoleObj);
                    if (operationResult.ResultType == EnumOperationResultType.Success)
                    {
                        //修改角色附权 王龙杰 2017-10-13
                        dataContext.Configuration.AutoDetectChangesEnabled = false;
                        var roleModuleList =
                            (from p in dataContext.RoleModule
                             where p.RoleCode == tempRoleObj.RoleCode
                             select p);
                        foreach (var item in roleModuleList)
                        {
                            dataContext.Entry(item).State = EntityState.Deleted;
                        }
                        var addRoleModuleList =
                            (from p in Parameter.Module
                             select new RoleModule
                        {
                            RoleCode = tempRoleObj.RoleCode,
                            ModuleCode = p,
                        });
                        foreach (var item in addRoleModuleList)
                        {
                            dataContext.Entry(item).State = EntityState.Added;
                        }
                        dataContext.SaveChanges();

                        result.IsSuccessful = true;
                        return(result);
                    }
                    else
                    {
                        result.IsSuccessful = false;
                        result.Code         = "003971";
                        return(result);
                    }
                }
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.IsSuccessful = false;
                result.Code         = "003971";
                return(result);
            }
        }
Пример #24
0
        public BaseResponse <GetOfficerListResult> GetOfficerList(GetOfficerListParameter parameter)
        {
            BaseResponse <GetOfficerListResult> response = new BaseResponse <GetOfficerListResult>();
            GetOfficerListResult result = new GetOfficerListResult();

            if (string.IsNullOrEmpty(parameter.Sort))
            {
                parameter.Sort  = "OfficerID";
                parameter.Order = "asc";
            }
            try
            {
                using (iCMSDbContext dbContext = new iCMSDbContext())
                {
                    var officerQuerable = dbContext.Officers.Where(t => !t.IsDeleted && t.IsOnService);

                    //test
                    var temp = officerQuerable.ToList();

                    var currentUser = dbContext.HBUsers.Where(t => !t.IsDeleted && t.UserID == parameter.CurrentUserID).FirstOrDefault();
                    if (currentUser == null)
                    {
                        throw new Exception("数据异常");
                    }
                    if (currentUser.RoleID == 4)//如果是二级管理员,则只返回本单位的干部
                    {
                        officerQuerable = officerQuerable.Where(t => t.OrganizationID == currentUser.OrganizationID);
                    }

                    if (parameter.OrganizationID.HasValue && parameter.OrganizationID.Value > 0)
                    {
                        officerQuerable = officerQuerable.Where(t => t.OrganizationID == parameter.OrganizationID);
                    }
                    if (parameter.LevelID.HasValue && parameter.LevelID.Value > 0)
                    {
                        officerQuerable = officerQuerable.Where(t => t.LevelID == parameter.LevelID.Value);
                    }

                    var officerLinq = from off in officerQuerable
                                      join org in dbContext.Organizations
                                      on off.OrganizationID equals org.OrganID
                                      into group1
                                      from g1 in group1
                                      //join pos in dbContext.OfficerPositionTypes.Where(t => !t.IsDeleted) on off.PositionStr equals pos.PositionID into group2
                                      //from g2 in group2
                                      join lev in dbContext.OfficerLevelTypes.Where(t => !t.IsDeleted) on off.LevelID equals lev.LevelID into group3
                                      from g3 in group3
                                      //where org.OrganFullName.ToUpper().Contains(parameter.Keyword.ToUpper()) || org.OrganCode.ToUpper().Contains(parameter.Keyword.ToUpper())
                                      select new OfficerDetailInfo
                    {
                        OfficerID        = off.OfficerID,
                        Name             = off.Name,
                        Gender           = off.Gender,
                        Birthday         = off.Birthday,
                        OrganizationName = g1.OrganFullName,
                        PositionID       = 0,            //g2.PositionID,
                        PositionName     = off.PositionStr,
                        LevelID          = g3.LevelID,
                        LevelName        = g3.LevelName,
                        OnOfficeDate     = off.OnOfficeDate,
                        OrganizationID   = off.OrganizationID,
                        CurrentScore     = off.CurrentScore,
                        IdentifyNumber   = off.IdentifyCardNumber
                    };


                    var temp2 = officerLinq.ToList();

                    if (!string.IsNullOrEmpty(parameter.Keyword))
                    {
                        officerLinq = officerLinq.Where(t => t.Name.Contains(parameter.Keyword) || t.IdentifyNumber.Contains(parameter.Keyword) || t.OrganizationName.Contains(parameter.Keyword));
                    }
                    ListSortDirection       sortOrder = parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList  = new PropertySortCondition[]
                    {
                        new PropertySortCondition(parameter.Sort, sortOrder),
                        new PropertySortCondition("OfficerID", sortOrder),
                    };

                    officerLinq = officerLinq.OrderBy(sortList);
                    int count = officerLinq.Count();
                    if (parameter.Page > -1)
                    {
                        officerLinq = officerLinq
                                      .Skip((parameter.Page - 1) * parameter.PageSize)
                                      .Take(parameter.PageSize);
                    }

                    result.OfficerInfoList.AddRange(officerLinq.ToList());
                    result.Total    = count;
                    response.Result = result;

                    #region 操作日志
                    new LogManager().AddOperationLog(parameter.CurrentUserID, "获取积分申请详细信息", parameter.RequestIP);
                    #endregion

                    return(response);
                }
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;
                response.Reason       = "获取单位列表发生异常";

                return(response);
            }
        }
Пример #25
0
        /// <summary>
        /// 查询用户日志
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <UserLogResult> QueryUserLog(QueryUserLogParameter Parameter)
        {
            BaseResponse <UserLogResult> result = new BaseResponse <UserLogResult>();

            var total         = 0;
            var sortDirection = Parameter.Order.ToLower().Equals("desc") ? ListSortDirection.Descending : ListSortDirection.Ascending;

            try
            {
                IQueryable <UserLog> userLogs = null;
                if (Parameter.Page == -1)
                {
                    if (Parameter.IsSuperAdmin)
                    {
                        userLogs = userLogRepository.GetDatas <UserLog>(p => true, false);
                    }
                    else
                    {
                        userLogs = userLogRepository.GetDatas <UserLog>(t => t.UserID != 1011, false);
                    }
                }
                else
                {
                    if (Parameter.IsSuperAdmin)
                    {
                        userLogs = userLogRepository.GetDatas <UserLog>(p => true, false);
                    }
                    else
                    {
                        userLogs = userLogRepository.GetDatas <UserLog>(t => t.UserID != 1011, false);
                    }
                }

                var users = new iCMSDbContext().Users.ToList();
                var linq  = from log in userLogs
                            join user in users
                            on log.UserID equals user.UserID into userlogGroup
                            from ul in userlogGroup.DefaultIfEmpty(new User())
                            select new UserLogInfo
                {
                    UserLogID = log.UserLogID,
                    UserID    = log.UserID,
                    Record    = log.Record,
                    UserName  = ul.UserName,
                    AddDate   = log.AddDate,
                    IsDeleted = ul.IsDeleted,
                };

                result.Result = new UserLogResult
                {
                    UserLogInfo = linq.AsQueryable()
                                  .Where(Parameter.Page, Parameter.PageSize, out total, new PropertySortCondition(Parameter.Sort, sortDirection))
                                  .ToList(),
                    Total = total,
                };
                result.IsSuccessful = true;
                return(result);
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.Code         = "003881";
                result.IsSuccessful = false;
                result.Result       = new UserLogResult {
                    Total = 0, UserLogInfo = new List <UserLogInfo>()
                };
                return(result);
            }
        }
Пример #26
0
        /// <summary>
        /// 查询角色信息
        /// </summary>
        /// <param name="Parameter"></param>
        /// <returns></returns>
        public BaseResponse <RolesDataResult> QueryRoleInfo(QueryRolesInfoParameter Parameter)
        {
            BaseResponse <RolesDataResult> result = new BaseResponse <RolesDataResult>();

            try
            {
                Validate validate = new Validate(userRepository, roleRepository);
                result = validate.ValidateQueryRoleInfoParams(Parameter.Sort, Parameter.Order);
                if (!result.IsSuccessful)
                {
                    return(result);
                }

                int count = 0;
                if (Parameter.Page == 0)
                {
                    Parameter.Page = 1;
                }
                using (var dataContext = new iCMSDbContext())
                {
                    IQueryable <iCMS.Frameworks.Core.DB.Models.Role> roleInfoList = null;
                    ListSortDirection       sortOrder = Parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList  = new PropertySortCondition[]
                    {
                        new PropertySortCondition(Parameter.Sort, sortOrder),
                        new PropertySortCondition("RoleID", sortOrder),
                    };
                    if (Parameter.IsSuperAdmin)
                    {
                        roleInfoList = dataContext.Role.OrderBy(sortList);
                    }
                    else
                    {
                        roleInfoList = dataContext.Role.Where(t => t.IsShow == 1).OrderBy(sortList);
                    }
                    count = roleInfoList.Count();
                    if (Parameter.Page > -1)
                    {
                        roleInfoList = roleInfoList
                                       .Skip((Parameter.Page - 1) * Parameter.PageSize)
                                       .Take(Parameter.PageSize);
                    }
                    var tempRoleInfoList = roleInfoList
                                           .ToArray()
                                           .Select(role =>
                    {
                        var roleModuleObj =
                            (from roleModule in dataContext.RoleModule
                             join module in dataContext.Module on roleModule.ModuleCode equals module.Code
                             where roleModule.RoleCode == role.RoleCode && module.IsUsed == 1
                             select new
                        {
                            module.Code,
                            module.ModuleName,
                        })
                            .ToArray();
                        return(new RoleInfo
                        {
                            RoleID = role.RoleID,
                            RoleCode = role.RoleCode,
                            RoleName = role.RoleName,
                            AddDate = role.AddDate.ToString("yyyy-MM-dd HH:mm:ss"),
                            ModuleCode = string.Join("|", roleModuleObj.Select(p => p.Code)),
                            ModuleName = string.Join("|", roleModuleObj.Select(p => p.ModuleName)),
                            IsShow = role.IsShow,
                            IsDeault = role.IsDeault,    //王颖辉添加 2016-08-25
                        });
                    })
                                           .ToList();
                    result.Result = new RolesDataResult
                    {
                        Total    = count,
                        RoleInfo = tempRoleInfoList,
                    };
                    result.IsSuccessful = true;
                    return(result);
                }
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(e);
                result.IsSuccessful = false;
                result.Code         = "003951";
                result.Result       = null;
                return(result);
            }
        }
Пример #27
0
        public BaseResponse <GetUserInfoResult> GetUserInfo(GetUserInfoParameter parameter)
        {
            BaseResponse <GetUserInfoResult> response = new BaseResponse <GetUserInfoResult>();

            try
            {
                if (string.IsNullOrEmpty(parameter.Sort))
                {
                    parameter.Sort = "UserToken";
                }
                if (string.IsNullOrEmpty(parameter.Order))
                {
                    parameter.Order = "asc";
                }
                if (parameter.Page == 0)
                {
                    parameter.Page = 1;
                }
                if (parameter.PageSize == 0)
                {
                    parameter.PageSize = 10;
                }

                switch (parameter.Sort)
                {
                case "RoleID":
                    parameter.Sort = "RoleName";
                    break;
                }

                int count = 0;
                if (parameter.Page == 0)
                {
                    parameter.Page = 1;
                }
                using (var dataContext = new iCMSDbContext())
                {
                    IQueryable <HBUser>     userInfoList = dataContext.HBUsers.Where(p => p.IsDeleted == false);
                    ListSortDirection       sortOrder    = parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList     = new PropertySortCondition[]
                    {
                        new PropertySortCondition(parameter.Sort, sortOrder),
                        new PropertySortCondition("UserID", sortOrder),
                    };

                    var currentUser = dataContext.HBUsers.Where(t => t.UserID == parameter.CurrentUserID).FirstOrDefault();
                    if (currentUser == null)
                    {
                        response.IsSuccessful = false;
                        return(response);
                    }

                    int currentRoleID = currentUser.RoleID;
                    //根据当前登录用户角色来显示用户
                    switch (currentRoleID)
                    {
                    case 1:
                        //超级管理员
                        userInfoList = userInfoList.Where(t => true);
                        break;

                    case 3:
                        //一级管理员
                        userInfoList = userInfoList.Where(t => t.RoleID == 3 || t.RoleID == 4);
                        break;

                    case 4:
                        //二级管理员
                        userInfoList = userInfoList.Where(t => t.RoleID == 4);
                        break;
                    }

                    if (parameter.OrganizationID.HasValue && parameter.OrganizationID.Value > 0)
                    {
                        userInfoList = userInfoList.Where(t => t.OrganizationID == parameter.OrganizationID.Value);
                    }

                    //userInfoList = userInfoList.OrderBy(sortList);

                    count = userInfoList.Count();

                    var organArray = organRepository.GetDatas <Organization>(t => !t.IsDeleted, true).ToList();
                    //if (parameter.Page > -1)
                    //{
                    //    userInfoList = userInfoList
                    //        .Skip((parameter.Page - 1) * parameter.PageSize)
                    //        .Take(parameter.PageSize);
                    //}

                    var tempUserInfoList = userInfoList
                                           .ToArray()
                                           .Select(user =>
                    {
                        HBRole roleNameObj = dataContext.HBRoles.FirstOrDefault(role => role.RoleID == user.RoleID);
                        var organ          = organArray.Where(t => t.OrganID == user.OrganizationID).FirstOrDefault();
                        return(new HBUserInfo
                        {
                            UserID = user.UserID,
                            RoleID = user.RoleID,
                            RoleName = roleNameObj == null ? string.Empty : roleNameObj.RoleName,
                            UserToken = user.UserToken,
                            Gender = user.Gender,
                            LastUpdateUserID = user.LastUpdateUserID,
                            OrganizationID = user.OrganizationID,
                            OrganizationName = organ == null ? string.Empty : organ.OrganFullName,
                            UseStatus = user.UseStatus,
                            AddDate = user.AddDate,
                            OrganTypeID = organ == null ? 0 : organ.OrganTypeID
                        });
                    }).AsQueryable();

                    tempUserInfoList = tempUserInfoList.OrderBy(sortList);

                    if (parameter.Page > -1)
                    {
                        tempUserInfoList = tempUserInfoList
                                           .Skip((parameter.Page - 1) * parameter.PageSize)
                                           .Take(parameter.PageSize);
                    }

                    response.Result = new GetUserInfoResult
                    {
                        Total        = count,
                        UserInfoList = tempUserInfoList.ToList()
                    };

                    response.IsSuccessful = true;
                    response.Code         = null;
                    return(response);
                }
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;
                response.Code         = null;
                return(response);
            }
        }
Пример #28
0
        private void ValidateAddOfficer(iCMSDbContext dbContext, AddOfficerParameter parameter)
        {
            #region 输入验证
            if (string.IsNullOrEmpty(parameter.Name))
            {
                throw new Exception("请输入用户名");
            }
            if (string.IsNullOrEmpty(parameter.IdentifyNumber))
            {
                throw new Exception("请输入身份证号码");
            }
            if (string.IsNullOrEmpty(parameter.OnOfficeDate))
            {
                throw new Exception("请输入任职时间");
            }

            if (parameter.OrganizationID < 1)
            {
                throw new Exception("请选择单位");
            }

            //var isExisted = dbContext.Officers.Where(t => !t.IsDeleted && !string.IsNullOrEmpty(t.Name) && t.Name.Equals(parameter.Name)).Any();
            //if (isExisted)
            //{
            //    throw new Exception("干部名称已重复");
            //}

            if (!Utilitys.CheckIDCard(parameter.IdentifyNumber))
            {
                throw new Exception("请输入合法的身份证号码");
            }

            var isExisted = dbContext.Officers.Where(t => !t.IsDeleted && !string.IsNullOrEmpty(t.IdentifyCardNumber) && t.IdentifyCardNumber.Equals(parameter.IdentifyNumber)).Any();
            if (isExisted)
            {
                throw new Exception("身份证号码重复");
            }

            var addUser = dbContext.HBUsers.Where(t => !t.IsDeleted && t.UserID == parameter.AddUserID).FirstOrDefault();
            if (addUser == null)
            {
                throw new Exception("数据异常");
            }


            int roleID = addUser.RoleID;
            switch (roleID)
            {
            case (int)EnumRoleType.SuperAdmin:
                //超级管理员可以任意单位的干部
                break;

            case (int)EnumRoleType.FirstLevelAdmin:
                //一级管理员不能够添加干部
                throw new Exception("请使用二级管理员登陆,然后添加干部");
                break;

            case (int)EnumRoleType.SecondLevelAdmin:

                var organ = dbContext.Organizations.Where(t => !t.IsDeleted && t.OrganID == addUser.OrganizationID).FirstOrDefault();
                if (organ == null)
                {
                    throw new Exception("请选择干部所在单位");
                }
                //二级管理员只能够添加本单位的干部
                if (addUser.OrganizationID != parameter.OrganizationID)
                {
                    string msg = string.Format("只能添加本单位({0})的干部", organ.OrganFullName);
                    throw new Exception(msg);
                }
                break;
            }

            #endregion
        }
Пример #29
0
 /// <summary>
 ///   为指定的类型返回 System.Data.Entity.DbSet,这将允许对上下文中的给定实体执行 CRUD 操作。
 /// </summary>
 /// <typeparam name="TEntity"> 应为其返回一个集的实体类型。 </typeparam>
 /// <returns> 给定实体类型的 System.Data.Entity.DbSet 实例。 </returns>
 private DbSet <TEntity> Set <TEntity>(iCMSDbContext ctx) where TEntity : EntityBase
 {
     return(ctx.Set <TEntity>());
 }
Пример #30
0
        public BaseResponse <GetOrganListResult> GetOrganList(GetOrganInfoListParameter parameter)
        {
            BaseResponse <GetOrganListResult> response = new BaseResponse <GetOrganListResult>();
            GetOrganListResult result = new GetOrganListResult();

            if (string.IsNullOrEmpty(parameter.Sort))
            {
                parameter.Sort = "OrganCode";
            }
            if (string.IsNullOrEmpty(parameter.Order))
            {
                parameter.Order = "asc";
            }
            if (parameter.Page == 0)
            {
                parameter.Page = 1;
            }
            if (parameter.PageSize == 0)
            {
                parameter.PageSize = 10;
            }
            try
            {
                using (iCMSDbContext dbContext = new iCMSDbContext())
                {
                    var organQuerable = dbContext.Organizations.Where(t => !t.IsDeleted);
                    if (parameter.OrganTypeID.HasValue && parameter.OrganTypeID.Value > 0)
                    {
                        organQuerable = organQuerable.Where(t => t.OrganTypeID == parameter.OrganTypeID.Value);
                    }
                    if (!string.IsNullOrEmpty(parameter.Keyword))
                    {
                        string matchedWord = parameter.Keyword.ToUpper();
                        organQuerable = organQuerable.Where(t => t.OrganCode.ToUpper().Contains(matchedWord) || t.OrganFullName.ToUpper().Contains(matchedWord));
                    }

                    var organListLinq = from organ in organQuerable
                                        join organType in dbContext.MainOrganTypes.Where(t => !t.IsDeleted) on organ.OrganTypeID equals organType.OrganTypeID
                                        into group1
                                        from g1 in group1
                                        //join category in dbContext.OrganCategories.Where(t => !t.IsDeleted) on g1.CategoryID equals category.CategoryID
                                        //into group2
                                        //from g2 in group2


                                        join item in dbContext.Officers.Where(t => !t.IsDeleted && t.IsOnService).GroupBy(t => t.OrganizationID) on organ.OrganID equals item.Key

                                        into group3
                                        from g3 in group3.DefaultIfEmpty()


                                        select new OrganInfo
                    {
                        OrganID        = organ.OrganID,
                        OrganCode      = organ.OrganCode,
                        OrganFullName  = organ.OrganFullName,
                        OrganShortName = organ.OrganShortName,
                        OrganTypeID    = organ.OrganTypeID,
                        OrganTypeName  = g1.OrganTypeName,
                        //OrganCategoryID = g2.CategoryID,
                        //OrganCategoryName = g2.CategoryName,
                        OfficerQuanlity = g3.Count(),
                        AddDate         = organ.AddDate,
                        AreaID          = organ.AreaID
                    };

                    ListSortDirection       sortOrder = parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList  = new PropertySortCondition[]
                    {
                        new PropertySortCondition(parameter.Sort, sortOrder),
                        new PropertySortCondition("OrganID", sortOrder),
                    };

                    organListLinq = organListLinq.OrderBy(sortList);

                    int count = organListLinq.Count();
                    if (parameter.Page > -1)
                    {
                        organListLinq = organListLinq
                                        .Skip((parameter.Page - 1) * parameter.PageSize)
                                        .Take(parameter.PageSize);
                    }

                    result.OrganInfoList.AddRange(organListLinq.ToList());
                    result.Total    = count;
                    response.Result = result;

                    #region 操作日志
                    new LogManager().AddOperationLog(parameter.CurrentUserID, "获取部门列表", parameter.RequestIP);
                    #endregion

                    return(response);
                }
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;
                response.Reason       = e.Message;
                return(response);
            }
        }