Esempio n. 1
0
        /// <summary>
        /// 检索异常日志
        /// </summary>
        /// <returns></returns>
        public static BaseResponseList <SysExcptionLog> searchLog(VMMsgSearchExceptionLogRequest condtion)
        {
            BaseResponseList <SysExcptionLog> result = new BaseResponseList <SysExcptionLog>();

            using (var db = new SysModelContainer()) {
                var r = (from c in db.Db_SysMsgSet.OfType <Db_SysExceptionLog>().AsEnumerable()
                         where (condtion.type == null? true :c.errorCode == condtion.type.GetHashCode()) &&
                         (condtion.beginDate == null? true :c.createdOn >= condtion.beginDate) &&
                         (condtion.endDate == null? true :c.createdOn <= condtion.endDate)
                         orderby c.Id descending
                         select c.Id
                         );
                result.total = r.Count();
                if (result.total > 0)
                {
                    if (condtion.page == 0)
                    {
                        result.rows = r.Select(p => new SysExcptionLog(p)).ToList();
                    }
                    else
                    {
                        result.rows = r.Skip(condtion.getSkip()).Take(condtion.pageSize).Select(p => new SysExcptionLog(p)).ToList();
                    }
                }
            }
            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 保存系统异常
        /// </summary>
        /// <param name="e">异常</param>
        /// <param name="request">当前信息的请求参数</param>

        private static void save(Exception e, object request = null)
        {
            string condtion = string.Empty;

            if (request != null)
            {
                condtion = JsonConvert.SerializeObject(request);
            }
            using (var db = new SysModelContainer())
            {
                Db_SysExceptionLog d = new Db_SysExceptionLog()
                {
                    condtion   = condtion,
                    createdOn  = DateTime.Now,
                    message    = e.Message,
                    msgType    = SysMessageType.异常.GetHashCode(),
                    source     = e.Source,
                    stackTrace = e.StackTrace,
                    targetSite = e.TargetSite == null ? null : e.TargetSite.ToString(),
                    errorCode  = SysExceptionType.系统.GetHashCode()
                };
                db.Db_SysMsgSet.Add(d);
                db.SaveChanges();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 验证登陆
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        public static SysManagerUser checkLogin(ViewModelLoginReqeust condtion)
        {
            SysValidata.valiData(condtion);
            using (var db = new SysModelContainer()) {
                //如果还没有用户则需要初始化一个第一个管理员
                int c = (from x in db.Db_SysUserSet.OfType <Db_ManagerUser>() select x.loginName).Count();
                if (c == 0)
                {
                    create(new ViewModelUserRegisterRequest()
                    {
                        fullName  = "管理员",
                        loginname = "admin",
                        role      = "admin"
                    });
                }

                var d = db.Db_SysUserSet.OfType <Db_ManagerUser>().SingleOrDefault(p => p.loginName.Equals(condtion.loginName) && p.passWord.ToLower().Equals(condtion.pwd.ToLower()) && !p.isDeleted && !p.isDisabled);
                if (d == null)
                {
                    throw new SysException("用户名或密码不正确", condtion);
                }
                d.lastLoginTime = DateTime.Now;
                db.SaveChanges();
                SysManagerUser user = new SysManagerUser(condtion.loginName);
                SysUserLog.saveLoginLog(user.loginName);
                return(user);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 创建新的用户
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        public static SysManagerUser create(ViewModelUserRegisterRequest condtion)
        {
            SysValidata.valiData(condtion);
            int c = getLoginNameCount(condtion.loginname);

            if (c > 0)
            {
                throw new SysException("登录名已存在", condtion);
            }
            using (var db = new SysModelContainer()) {
                Db_ManagerUser dbuser = new Db_ManagerUser()
                {
                    createdOn   = DateTime.Now,
                    fullName    = condtion.fullName,
                    isDeleted   = false,
                    isDisabled  = false,
                    jobTitle    = condtion.jobTitle,
                    loginName   = condtion.loginname,
                    mobilePhone = condtion.mobilePhone,
                    passWord    = defaultPwd,
                    role        = condtion.role
                };
                db.Db_SysUserSet.Add(dbuser);
                db.SaveChanges();
            }
            SysManagerUser newuser = new SysManagerUser(condtion.loginname);

            SysUserLog.saveLog(condtion, SysUserLogType.编辑, newuser.loginName);
            return(newuser);
        }
Esempio n. 5
0
 /// <summary>
 /// 保存系统用户日志【用户登录请不要使用该方法】
 /// </summary>
 /// <param name="message">需要保存的日志文本</param>
 /// <param name="t">类型</param>
 /// <param name="fkId">关联的ID</param>
 public static void saveLog(string message, SysUserLogType t, string fkId = null)
 {
     if (t != SysUserLogType.登陆)
     {
         string    loginname = "admin";
         IIdentity user      = HttpContext.Current.User.Identity;
         if (user.IsAuthenticated)
         {
             loginname = user.Name;
         }
         using (var db = new SysModelContainer())
         {
             Db_SysUserLog log = new Db_SysUserLog()
             {
                 createdOn            = DateTime.Now,
                 Db_SysUser_loginName = loginname,
                 fkId    = fkId,
                 logType = t.GetHashCode(),
                 msgType = SysMessageType.日志.GetHashCode(),
                 message = message,
                 ip      = HttpContext.Current.Request.UserHostAddress,
                 device  = HttpContext.Current.Request.UserAgent
             };
             db.Db_SysMsgSet.Add(log);
             db.SaveChanges();
         }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// 检索日志
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        public static BaseResponseList <SysUserLog> searchLog(ViewModelMsgSearchUserLogReqeust condtion)
        {
            BaseResponseList <SysUserLog> result = new BaseResponseList <SysUserLog>();

            using (var db = new SysModelContainer()) {
                var r = (from c in db.Db_SysMsgSet.OfType <Db_SysUserLog>().AsEnumerable()
                         where ((string.IsNullOrEmpty(condtion.loginName) && string.IsNullOrEmpty(condtion.fkid))? true :(
                                    (string.IsNullOrEmpty(condtion.loginName)?false:c.Db_SysUser_loginName == condtion.loginName) || (string.IsNullOrEmpty(condtion.fkid) ? false : c.fkId == condtion.fkid)
                                    )) &&
                         (condtion.logType == null ? true : c.logType == condtion.logType.GetHashCode())
                         orderby c.createdOn descending
                         select c.Id);
                result.total = r.Count();
                if (result.total > 0)
                {
                    if (condtion.page == 0)
                    {
                        result.rows = r.Select(p => new SysUserLog(p)).ToList();
                    }
                    else
                    {
                        result.rows = r.Skip(condtion.getSkip()).Take(condtion.pageSize).Select(p => new SysUserLog(p)).ToList();
                    }
                }
            }
            return(result);
        }
Esempio n. 7
0
        /// <summary>
        /// 检索用户
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        internal static BaseResponseList <SysManagerUser> searchUserList(ViewModelSearchUserBaseRequest condtion)
        {
            BaseResponseList <SysManagerUser> res = new BaseResponseList <SysManagerUser>();

            using (var db = new SysModelContainer()) {
                var r = (from x in db.Db_SysUserSet.OfType <Db_ManagerUser>().AsEnumerable()
                         where !x.isDeleted &&
                         (condtion.roles.Count == 0 ? true : condtion.roles.Contains(x.role)) &&
                         (condtion.loginName.Count == 0 ? true : condtion.loginName.Contains(x.loginName)) &&
                         (string.IsNullOrEmpty(condtion.q) ? true : (x.loginName.Contains(condtion.q) || x.fullName.Contains(condtion.q) || (string.IsNullOrEmpty(x.mobilePhone) ? false : x.mobilePhone.Contains(condtion.q))))
                         select new { x.loginName, x.createdOn });
                res.total = r.Count();
                if (res.total > 0)
                {
                    r = r.OrderByDescending(p => p.createdOn);
                    if (condtion.page == 0)
                    {
                        res.rows = r.Select(p => new SysManagerUser(p.loginName)).ToList();
                    }
                    else
                    {
                        res.rows = r.Skip(condtion.getSkip()).Take(condtion.pageSize).Select(p => new SysManagerUser(p.loginName)).ToList();
                    }
                }
            }
            return(res);
        }
Esempio n. 8
0
 /// <summary>
 /// 标记为删除状态
 /// </summary>
 public void delete()
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysTreeSet.Single(p => p.Id == this.Id);
         d.isDeleted = true;
         db.SaveChanges();
     }
 }
Esempio n. 9
0
 /// <summary>
 /// 获取用户信息
 /// </summary>
 /// <param name="loginname"></param>
 protected override void getInfo(string loginname)
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysUserSet.OfType <Db_ManagerUser>().Single(p => p.loginName == loginname);
         setUserInfo(d);
         base.getInfo(loginname);
     }
 }
Esempio n. 10
0
 /// <summary>
 /// 在数据库中修改密码
 /// </summary>
 protected void changePwd(string pwd)
 {
     using (var db = new SysModelContainer())
     {
         var d = db.Db_SysUserSet.Single(p => p.loginName.Equals(this.loginName));
         d.passWord = pwd;
         db.SaveChanges();
     }
 }
Esempio n. 11
0
 /// <summary>
 /// 删除用户
 /// </summary>
 /// <returns>返回被删除的用户对象</returns>
 public void delete()
 {
     using (var db = new SysModelContainer())
     {
         var d = db.Db_SysUserSet.Single(p => p.loginName == loginName);
         d.isDeleted = true;
         db.SaveChanges();
         SysUserLog.saveLog("删除用户:" + this.ToString(), SysUserLogType.除, this.loginName);
     }
 }
Esempio n. 12
0
 /// <summary>
 /// 使用ID构造消息
 /// </summary>
 /// <param name="id"></param>
 public SysMsg(long id)
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysMsgSet.Single(p => p.Id == id);
         this.Id        = d.Id;
         this.createdOn = d.createdOn;
         this.message   = d.message;
         this.msgType   = (SysMessageType)d.msgType;
     }
 }
Esempio n. 13
0
 private void setInfo()
 {
     using (var db = new SysModelContainer())
     {
         var d = db.Db_SysTreeSet.OfType <Db_CatTree>().Single(p => p.Id == Id);
         this.name = d.name;
         this.fun  = d.fun;
         this.sort = d.sort;
     }
 }
Esempio n. 14
0
 /// <summary>
 /// 保存操作
 /// </summary>
 /// <returns></returns>
 private void save()
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysTreeSet.OfType <Db_CatTree>().Single(p => p.Id == this.Id);
         d.name     = this.name;
         d.fun      = this.fun;
         d.parentId = this._parentId;
         d.sort     = this.sort;
         db.SaveChanges();
     }
 }
Esempio n. 15
0
 /// <summary>
 /// 使用ID构造消息
 /// </summary>
 /// <param name="id"></param>
 public SysExcptionLog(long id) : base(id)
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysMsgSet.OfType <Db_SysExceptionLog>().Single(p => p.Id == id);
         this.errorType  = (SysExceptionType)d.errorCode.GetHashCode();
         this.condtion   = d.condtion;
         this.source     = d.source;
         this.stackTrace = d.stackTrace;
         this.targetSite = d.targetSite;
     }
 }
Esempio n. 16
0
 /// <summary>
 /// 使用ID构造消息
 /// </summary>
 /// <param name="id"></param>
 public SysUserLog(long id) : base(id)
 {
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysMsgSet.OfType <Db_SysUserLog>().Single(p => p.Id == id);
         this.device    = d.device;
         this.ip        = d.ip;
         this.fkId      = d.fkId;
         this.logType   = (SysUserLogType)d.logType;
         this.loginName = d.Db_SysUser_loginName;
     }
     this.userInfo = new SysUser(this.loginName);
 }
Esempio n. 17
0
 /// <summary>
 /// 禁用或者恢复禁用
 /// </summary>
 /// <param name="condtion"></param>
 public void setDisable(ViewModelSetUserDisable condtion)
 {
     using (var db = new SysModelContainer()) {
         var user = db.Db_SysUserSet.Single(p => p.loginName.Equals(this.loginName));
         user.isDisabled = condtion.isDisabled;
         db.SaveChanges();
         StringBuilder sb = new StringBuilder();
         sb.Append(condtion.isDisabled ? "设置禁用:" : "恢复禁用:");
         sb.AppendFormat("{0}[备注:{1}]", this.ToString(), condtion.describe);
         SysUserLog.saveLog(sb.ToString(), SysUserLogType.编辑, this.loginName);
     }
 }
Esempio n. 18
0
 /// <summary>
 /// 获取当前的路径
 /// </summary>
 private void getNodePath(string pId)
 {
     if (!string.IsNullOrEmpty(pId))
     {
         this.rootId = pId;
         using (var db = new SysModelContainer()) {
             var d = db.Db_SysTreeSet.Single(p => p.Id == pId);
             this.path = "/" + d.Id + this.path;
             getNodePath(d.parentId);
         }
     }
 }
Esempio n. 19
0
        /// <summary>
        /// 根据系统功能标示获取分类树集合(树形)
        /// </summary>
        /// <param name="fun">系统功能名称</param>
        /// <returns></returns>
        public static List <SysCatTree> getTreeList(string fun)
        {
            List <SysCatTree> result = new List <SysCatTree>();

            using (var db = new SysModelContainer()) {
                result = (from c in db.Db_SysTreeSet.OfType <Db_CatTree>().AsEnumerable()
                          where (c.parentId == null || c.parentId == "") &&
                          (c.fun == fun) &&
                          (!c.isDeleted)
                          orderby c.sort descending, c.name ascending
                          select new SysCatTree(c.Id, true)
                          ).ToList();
            }
            return(result);
        }
Esempio n. 20
0
 /// <summary>
 /// 修改后台用户的信息
 /// </summary>
 /// <param name="condtion"></param>
 public SysManagerUser saveInfo(ViewModelUserEditReqeust condtion)
 {
     SysValidata.valiData(condtion);
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysUserSet.OfType <Db_ManagerUser>().Single(p => p.loginName.Equals(this.loginName));
         d.fullName    = condtion.fullName;
         d.jobTitle    = condtion.jobTitle;
         d.mobilePhone = condtion.mobilePhone;
         d.role        = condtion.role;
         db.SaveChanges();
     }
     SysUserLog.saveLog(condtion, SysUserLogType.编辑, this.loginName);
     getInfo(this.loginName);
     return(this);
 }
Esempio n. 21
0
 /// <summary>
 /// 设置一个新密码
 /// </summary>
 public void reSetNewPwd(ViewModelChangePwdRequest condtion)
 {
     SysValidata.valiData(condtion);
     using (var db = new SysModelContainer()) {
         var d = db.Db_SysUserSet.Single(p => p.loginName.Equals(this.loginName));
         if (d.passWord.ToLower().Equals(condtion.oldPwd.ToLower()))
         {
             changePwd(condtion.newPwd);
             SysUserLog.saveLog("用户设置了新的密码", SysUserLogType.编辑);
         }
         else
         {
             throw new SysException("旧密码不正确", condtion);
         }
     }
 }
Esempio n. 22
0
 /// <summary>
 /// 保存用户登录日志
 /// </summary>
 /// <param name="loginName"></param>
 public static void saveLoginLog(string loginName)
 {
     using (var db = new SysModelContainer())
     {
         Db_SysUserLog log = new Db_SysUserLog()
         {
             createdOn            = DateTime.Now,
             Db_SysUser_loginName = loginName,
             logType = SysUserLogType.登陆.GetHashCode(),
             msgType = SysMessageType.日志.GetHashCode(),
             message = "用户登录",
             ip      = HttpContext.Current.Request.UserHostAddress,
             device  = HttpContext.Current.Request.UserAgent
         };
         db.Db_SysMsgSet.Add(log);
         db.SaveChanges();
     }
 }
Esempio n. 23
0
 /// <summary>
 /// 保存自定义的异常
 /// </summary>
 private void save()
 {
     using (var db = new SysModelContainer()) {
         Db_SysExceptionLog d = new Db_SysExceptionLog()
         {
             condtion   = this.condtion,
             createdOn  = DateTime.Now,
             message    = this.Message,
             msgType    = SysMessageType.异常.GetHashCode(),
             source     = this.Source,
             stackTrace = this.StackTrace,
             targetSite = this.TargetSite == null? null :this.TargetSite.ToString(),
             errorCode  = SysExceptionType.自定义.GetHashCode()
         };
         db.Db_SysMsgSet.Add(d);
         db.SaveChanges();
     }
 }
Esempio n. 24
0
        /// <summary>
        /// 创建/编辑
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        public static SysCatTree edit(VMTreeEditCatTreeRequest condtion)
        {
            SysValidata.valiData(condtion);//验证请求

            //自定义验证当添加根节点时 参数中的 fun必填
            if (string.IsNullOrEmpty(condtion._parentId) && string.IsNullOrEmpty(condtion.fun))
            {
                throw new SysException("添加/编辑根节点时,参数fun必填", condtion);
            }

            if (string.IsNullOrEmpty(condtion.Id))
            {
                //新增
                using (var db = new SysModelContainer())
                {
                    Db_CatTree d = new Db_CatTree()
                    {
                        fun       = condtion.fun,
                        createdOn = DateTime.Now,
                        Id        = SysHelp.getNewId(),
                        name      = condtion.name,
                        parentId  = condtion._parentId,
                        isDeleted = false,
                        sort      = condtion.sort
                    };
                    Db_SysTree newrow = db.Db_SysTreeSet.Add(d);
                    db.SaveChanges();
                    SysCatTree newtree = new SysCatTree(newrow.Id);
                    return(newtree);
                }
            }
            else
            {
                //编辑
                SysCatTree tree = new SysCatTree(condtion.Id, false);
                tree.name      = condtion.name;
                tree._parentId = condtion._parentId;
                tree.fun       = condtion.fun;
                tree.sort      = condtion.sort;
                tree.save();
                tree = new SysCatTree(condtion.Id, false);
                return(tree);
            }
        }
Esempio n. 25
0
 private void setInfo()
 {
     using (var db = new SysModelContainer())
     {
         var d = db.Db_SysTreeSet.Single(p => p.Id == Id);
         this.Id        = d.Id;
         this._parentId = d.parentId;
         this.createOn  = d.createdOn;
         this.isDeleted = d.isDeleted;
     }
     if (!string.IsNullOrEmpty(this._parentId))
     {
         this.parent = getParent(this);
     }
     //设置当前节点的路径表达形式
     this.path   = "/" + this.Id + this.path;
     this.rootId = this.Id;
     getNodePath(this._parentId);
 }
Esempio n. 26
0
 /// <summary>
 /// 递归获取子节点
 /// </summary>
 /// <param name="tree">父节点</param>
 /// <returns></returns>
 protected override List <SysCatTree> getChild(SysTree <SysCatTree> tree)
 {
     if (nodeDep < maxDep || maxDep == 0)
     {
         int dep = nodeDep + 1;
         using (var db = new SysModelContainer())
         {
             List <SysCatTree> child = (from c in db.Db_SysTreeSet.OfType <Db_CatTree>().AsEnumerable()
                                        where (c.parentId == tree.Id) &&
                                        (!c.isDeleted)
                                        orderby c.sort descending, c.name ascending
                                        select new SysCatTree(c.Id, maxDep, dep)).ToList();
             return(child);
         }
     }
     else
     {
         return(new List <SysCatTree>());
     }
 }
Esempio n. 27
0
 /// <summary>
 /// 递归获取子节点ID的集合
 /// </summary>
 /// <param name="pId">父ID</param>
 /// <param name="dep">当前递归深度</param>
 private void getChildIdList(string pId, int dep)
 {
     if (dep < maxDep || maxDep == 0)
     {
         using (var db = new SysModelContainer())
         {
             var crows = (from c in db.Db_SysTreeSet
                          where c.parentId == pId
                          select c.Id
                          ).ToList();
             if (crows.Count > 0)
             {
                 int d = dep + 1;
                 this.childrenIdList.AddRange(crows);
                 foreach (string row in crows)
                 {
                     getChildIdList(row, d);
                 }
             }
         }
     }
 }
Esempio n. 28
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="loginname"></param>
        protected virtual void getInfo(string loginname)
        {
            using (var db = new SysModelContainer())
            {
                var d = db.Db_SysUserSet.Single(p => p.loginName == loginname);
                setUserInfo(d);
                //获取角色
                this.roleInfo = SysRoles.sysRoles.Single(p => p.role.Equals(d.role));

                SysRoles userrole = SysRoles.sysRoles.Single(p => p.role.Equals(this.role));
                string   showName = string.Empty;
                if (userrole.cat == 0)
                {
                    //后台

                    showName = db.Db_SysUserSet.OfType <Db_ManagerUser>().Single(p => p.loginName == this.loginName).fullName;
                }
                else
                {
                    //其他,会员
                }
                this.showName = string.Format("{0}[{1},{2}]", showName, this.roleInfo.name, this.loginName);
            }
        }
Esempio n. 29
0
        /// <summary>
        /// 检索系统消息
        /// </summary>
        /// <param name="condtion"></param>
        /// <returns></returns>
        public static BaseResponseList <SysMsg> searchLog(VMMsgSearchMsgRequest condtion)
        {
            BaseResponseList <SysMsg> result = new BaseResponseList <SysMsg>();

            using (var db = new SysModelContainer()) {
                var r = (from c in db.Db_SysMsgSet.AsEnumerable()
                         where (condtion.msgType.Count == 0 ? true : condtion.msgType.Contains(c.msgType))
                         orderby c.Id descending
                         select c.Id);
                result.total = r.Count();
                if (result.total > 0)
                {
                    if (condtion.page == 0)
                    {
                        result.rows = r.Select(p => new SysMsg(p)).ToList();
                    }
                    else
                    {
                        result.rows = r.Skip(condtion.getSkip()).Take(condtion.pageSize).Select(p => new SysMsg(p)).ToList();
                    }
                }
            }
            return(result);
        }
Esempio n. 30
0
 /// <summary>
 /// 获取登录名在数据库中出现的次数
 /// </summary>
 /// <param name="lgname"></param>
 /// <returns></returns>
 public static int getLoginNameCount(string lgname)
 {
     using (var db = new SysModelContainer()) {
         return((from c in db.Db_SysUserSet where c.loginName.Equals(lgname) select c.loginName).Count());
     }
 }