コード例 #1
0
        /// <summary>
        /// 正常写日志;文件和数据库都写。
        /// </summary>
        /// <param name="logInfo"></param>
        public void WriteLog(sys_log logInfo, LogMsgLevel logMsgLevel)
        {
            #region logInfo参数补充
            if (logInfo == null)
            {
                logInfo = new sys_log();
            }

            logInfo.create_date = DateTime.Now;
            logInfo.modify_date = logInfo.create_date;
            logInfo.status      = 0;
            logInfo.local_ip    = GetLocalIP();
            logInfo.visitor_ip  = GetClientIP();
            #endregion

            //log4net按配置等级来写文本日志
            LogHelper.Write(JsonHelper.ToJson(logInfo), logMsgLevel);

            //判断数据库日志级别,写数据库日志

            var task = Task.Factory.StartNew(
                () =>
            {
                try
                {
                    logService.Add(logInfo);
                }
                catch (Exception ex)
                {
                    LogHelper.Write("Famliy.Finance.BLL.LogBusiness.WriteLog() error.", ex);
                }
            });
        }
コード例 #2
0
        public string InsertUseTransactionScope(bool success)
        {
            //插入数据,使用数据库事务,多连接时会命名用到MSDTC
            using (TransactionScope trans = new TransactionScope())
            {
                try
                {
                    var     service1 = IoCHelper.Resolve <ICRUDService <sys_log> >();
                    sys_log e1       = new sys_log()
                    {
                        Id         = GuidHelper.NewGuid().ToString(),
                        CreateDate = DateTime.Now
                    };
                    int i1 = service1.Insert(e1);

                    var      service2 = IoCHelper.Resolve <ICRUDService <sys_file> >();
                    string   id       = success ? GuidHelper.NewGuid().ToString() : GuidHelper.NewGuid().ToString().PadRight(100, '0');
                    sys_file e2       = new sys_file()
                    {
                        Id         = id,
                        CreateDate = DateTime.Now
                    };
                    int i2 = service2.Insert(e2);

                    trans.Complete();

                    return($"成功{i1},{i2}");
                }
                catch (Exception)
                {
                    Transaction.Current.Rollback();
                    throw;
                }
            }
        }
コード例 #3
0
        public async Task <ActionResult> _login(string username, string password)
        {
            sys_log logEntity = new sys_log();

            logEntity.moduleName = "AuthenticationController - login";
            logEntity.type       = DbLogType.Login.ToString();
            User         dao           = new User();
            var          resul         = dao.Login(username);
            MessageLogin systemMessage = new MessageLogin();

            password = Encrypt.MD5Hash(password.Trim(), 16);

            if (resul == null)
            {
                systemMessage.IsSuccess = false;
                systemMessage.Message   = SystemMessageConst.AccountNotExist;
                logEntity.result        = false;
                logEntity.description   = "Lỗi đăng nhập," + systemMessage.Message;
            }
            else
            {
                if (resul.password != password)
                {
                    systemMessage.IsSuccess = false;
                    systemMessage.Message   = SystemMessageConst.PasswordNotCorrect;
                    logEntity.result        = false;
                    logEntity.description   = "Lỗi đăng nhập," + systemMessage.Message;
                }
                else
                {
                    var         center      = db.sys_center.FirstOrDefault(x => x.id == resul.id_center);
                    var         department  = db.sys_department.FirstOrDefault(x => x.id == resul.id_department);
                    var         postion     = db.sys_param.FirstOrDefault(x => x.code == resul.postion.ToString() && x.type == "Postion");
                    SessionUser sessionUser = new SessionUser();
                    sessionUser.id              = resul.id;
                    sessionUser.username        = resul.username;
                    sessionUser.avartar         = resul.avartar;
                    sessionUser.id_center       = resul.id_center;
                    sessionUser.name_center     = center.name;
                    sessionUser.name_department = department.name;
                    sessionUser.fullname        = resul.fullname;
                    Session["session"]          = sessionUser;
                    systemMessage.IsSuccess     = true;
                    systemMessage.Message       = "/Home/Index";

                    logEntity.account     = resul.username;
                    logEntity.result      = true;
                    logEntity.description = "Đăng nhập thành công";
                    new LogApp().WriteDbLog(logEntity);
                }
            }
            var t_result = await Task.FromResult(systemMessage);

            return(Json(new
            {
                result = t_result
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
 public void WriteDbLog(sys_log entiSysLog)
 {
     entiSysLog.date          = DateTime.Now;
     entiSysLog.account       = Env.GetUserInfo("name");
     entiSysLog.ipAddress     = Common.Common.Net.Ip;
     entiSysLog.creatorTime   = DateTime.Now;
     entiSysLog.creatorUserId = Convert.ToInt32(Env.GetUserInfo("userid"));
     Insert(entiSysLog);
 }
コード例 #5
0
ファイル: ViperLogServiceImp.cs プロジェクト: wenfeifei/Viper
        private sys_log builderSysLog(object message, string traceId, string uName, LogType logType, string title = null)
        {
            sys_log log = new sys_log();

            log.LogType = (int)logType;
            log.Content = LogMsg(message);
            log.AppName = Const.SettingService.AppName;
            log.Title   = title;
            log.Uname   = uName;
            log.TraceId = traceId;
            return(log);
        }
コード例 #6
0
        public void WriteLog(LogType logtype, string logmsg, LogState logstate)
        {
            sys_log log = new sys_log();

            log.id        = IdWorkerHelper.NewId();
            log.operation = UserCookie.AccountName;
            log.logtime   = DateTime.Now;
            log.logtype   = logtype.ToString();
            log.logmsg    = logmsg;
            log.loglevel  = logstate.ToString();
            log.logip     = "127.0.0.1"; //TODO
            Sqldb.Insertable(log).ExecuteCommand();
        }
コード例 #7
0
        public void WriteLog(LogType logtype, string logmsg, LogState logstate)
        {
            sys_log log = new sys_log();

            log.id        = IdWorkerHelper.NewId();
            log.operation = UserCookie.AccountName;
            log.logtime   = DateTime.Now;
            log.logtype   = logtype.ToString();
            log.logmsg    = logmsg;
            log.loglevel  = logstate.ToString();
            log.logip     = UserCookie.IP;
            _syslogRepository.Insert(log);
        }
コード例 #8
0
ファイル: LogApp.cs プロジェクト: kaka1102/SHOP-TON
        public void WriteDbLog(bool result, string resultLog)
        {
            sys_log logEntity = new sys_log();

            logEntity.id   = Common.GuId();
            logEntity.date = Common.ConvertToTimestamp(DateTime.Now);
            //       logEntity.account = Env.GetUserInfo("name");
            logEntity.result      = result;
            logEntity.description = resultLog;
            logEntity.ipAddress   = Net.Ip;
            logEntity.creatorTime = DateTime.Now;
            //   logEntity.creatorUserId = Convert.ToInt32(Env.GetUserInfo("userid"));
            Insert(logEntity);
        }
コード例 #9
0
ファイル: public_method.cs プロジェクト: DeanNode/monitor
        /// <summary>
        /// 传递一个sys_log对象进行插入数据库
        /// </summary>
        /// <param name="sys_log"></param>
        /// <returns></returns>
        public static int saveLog(sys_log sys_log)
        {
            int iReturn = 0;

            try
            {
                sqlHelper       sh = new sqlHelper();
                ISqlSugarClient db = sh.dbClient();
                sys_log.createDate = System.DateTime.Now;
                iReturn            = db.Insertable(sys_log).ExecuteCommand();
            }
            catch (Exception ex) {
            }
            return(iReturn);
        }
コード例 #10
0
 public static void Error(string ApplicationName, string FunctionName, string Detail)
 {
     using (sartas3 db = new sartas3())
     {
         sys_log l = new sys_log();
         l.LogID           = Guid.NewGuid().ToString();
         l.ApplicationName = ApplicationName;
         l.FunctionName    = FunctionName;
         l.Detail          = Detail;
         l.OpTime          = DateTime.Now;
         l.State           = "异常";
         db.sys_log.Add(l);
         db.SaveChanges();
     }
 }
コード例 #11
0
    /// <summary>
    /// 后台管理人员操作日志
    /// </summary>
    /// <param name="sys_log_ip"></param>
    /// <param name="sys_log_content"></param>
    /// <param name="sys_admin_name"></param>
    public static void LogTxt(string sys_log_content, string sys_admin_name)
    {
        D8MallEntities db = new D8MallEntities();

        sys_log log = new sys_log();

        log.sys_log_id      = Guid.NewGuid().ToString("N");
        log.sys_log_ip      = GetIP();
        log.sys_log_name    = "LOG" + DateTime.Now.ToFileTime().ToString();
        log.sys_log_content = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒") + sys_admin_name + sys_log_content;
        log.sys_admin_id    = sys_admin_name;
        log.sys_log_adddate = DateTime.Now;
        db.sys_log.Add(log);
        db.SaveChanges();
    }
コード例 #12
0
        public static void ReturnCheckRuleAndSaveLog(string typeLog, bool stutus, string data)
        {
            var entity = new DB_CSEntities1();

            string controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();

            var menu = entity.Menu.FirstOrDefault(m => m.MenuURL == controllerName);

            if (menu != null)
            {
                sys_log logEntity = new sys_log();
                logEntity.moduleName  = controllerName;
                logEntity.type        = typeLog;
                logEntity.result      = stutus;
                logEntity.description = data;

                new LogApp().WriteDbLog(logEntity);
            }
        }
コード例 #13
0
ファイル: LogFilter.cs プロジェクト: 503945930/MvcRead
 public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
 {
     //HttpContext.Current
     if (HttpContext.Current.Session != null && HttpContext.Current.Session.Count > 0)
     {
         sys_log log = new sys_log()
         {
             IP = GetIp.getIp(),
             UserName = HttpContext.Current.Session["UserName"].ToString(),
             Target = Target,
             Date = DateTime.Now
         };
         logFactory.CreatLogService().AddLog(log);
     }
     else
     {
         HttpContext.Current.Response.Redirect("/admin/error");
     }
     base.OnActionExecuted(actionExecutedContext);
 }
コード例 #14
0
ファイル: LogService.cs プロジェクト: 503945930/MvcRead
        /// <summary>
        /// 添加日志
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public dynamic AddLog(sys_log log)
        {
            try
            {
                //user.IsEnable = true;
                db.BeginTransaction();
                // var sql = String.Format(@"insert sys_role(RoleName,Description) values (@0,@1)  ");
                //  int result = (int)db.Insert("sys_role", "role.RoleName,", role.RoleName, role.Description);
                var result = (int)db.Insert(log);

                db.CompleteTransaction();
                return true;

            }
            catch (Exception)
            {

                return false;
            }

            return false;
        }
コード例 #15
0
        public string Insert(bool success)
        {
            //插入数据
            var     service1 = IoCHelper.Resolve <ICRUDService <sys_log> >();
            sys_log e1       = new sys_log()
            {
                Id         = GuidHelper.NewGuid().ToString(),
                CreateDate = DateTime.Now
            };
            int i1 = service1.Insert(e1);

            var      service2 = IoCHelper.Resolve <ICRUDService <sys_file> >();
            string   id       = success ? GuidHelper.NewGuid().ToString() : GuidHelper.NewGuid().ToString().PadRight(100, '0');
            sys_file e2       = new sys_file()
            {
                Id         = id,
                CreateDate = DateTime.Now
            };
            int i2 = service2.Insert(e2);

            return($"成功{i1},{i2}");
        }
コード例 #16
0
        public string InsertUseDbContextTransaction(bool success)
        {
            //插入数据,使用数据库事务,不支持多连接。
            var dbContext = IoCHelper.Resolve <IDbContextCore>();

            using (IDbContextTransaction trans = dbContext.BeginTransaction())
            {
                try
                {
                    var service1 = IoCHelper.Resolve <ICRUDService <sys_log> >();
                    service1.Use(dbContext);
                    sys_log e1 = new sys_log()
                    {
                        Id         = GuidHelper.NewGuid().ToString(),
                        CreateDate = DateTime.Now
                    };
                    int i1 = service1.Insert(e1);

                    var service2 = IoCHelper.Resolve <ICRUDService <sys_file> >();
                    service2.Use(dbContext);
                    string   id = success ? GuidHelper.NewGuid().ToString() : GuidHelper.NewGuid().ToString().PadRight(100, '0');
                    sys_file e2 = new sys_file()
                    {
                        Id         = id,
                        CreateDate = DateTime.Now
                    };
                    int i2 = service2.Insert(e2);

                    trans.Commit();

                    return($"成功{i1},{i2}");
                }
                catch (Exception)
                {
                    trans.Rollback();
                    throw;
                }
            }
        }
コード例 #17
0
ファイル: LogService.cs プロジェクト: devide023/MESWebApi
        public sys_log EntityFields <T>(T entity)
        {
            sys_log slog = new sys_log();
            Dictionary <string, object> fields = new Dictionary <string, object>();
            Type type = entity.GetType();

            slog.tablename = type.Name;
            PropertyInfo[] proinfos = type.GetProperties();
            foreach (var item in proinfos)
            {
                string colname = string.Empty;
                object colval  = null;
                var    attrs   = item.GetCustomAttributes(typeof(DbFieldAttribute));
                if (attrs.Count() > 0)
                {
                    DbFieldAttribute attr = attrs.First() as DbFieldAttribute;
                    colname = attr.FieldName;
                    colval  = item.GetValue(entity);
                    fields.Add(colname, colval);
                }
            }
            slog.fields = fields.Where(t => t.Value != null).ToDictionary(t => t.Key, t => t.Value);
            StringBuilder cols = new StringBuilder();
            StringBuilder vals = new StringBuilder();

            slog.fields.ToList().ForEach(t => cols.Append(t.Key + ","));
            slog.fields.ToList().ForEach(t => vals.Append($"'{t.Value}',"));
            StringBuilder sql = new StringBuilder();

            sql.Append("select ");
            sql.Append(cols.ToString().Substring(0, cols.Length - 1));
            sql.Append($" from {slog.tablename} where id = :id ");
            slog.querysql  = sql.ToString();
            slog.insertsql = $"insert into {slog.tablename} ({cols.ToString().Substring(0, cols.Length - 1)}) values ({vals.ToString().Substring(0, vals.Length - 1)})";
            return(slog);
        }
コード例 #18
0
ファイル: AdminController.cs プロジェクト: 503945930/MvcRead
 /// <summary>
 /// 退出
 /// </summary>
 /// <returns></returns>
 public ActionResult LoginOut()
 {
     ILogFactory logFactory=new LogFactory();
         sys_log log = new sys_log()
         {
             IP = GetIp.getIp(),
             UserName = Session["UserName"].ToString(),
             Target = "退出",
             Date = DateTime.Now
         };
        logFactory.CreatLogService().AddLog(log);
        Session.RemoveAll();
        return RedirectToAction("index", "Home");
 }
コード例 #19
0
        public returnR resetPsw(JObject userObj)
        {
            returnR r = new returnR();

            r.code = (int)sysEnum.还没有执行;
            if (userObj == null)
            {
                r.code = (int)sysEnum.参数必填;
                return(r);
            }
            //这里执行
            try
            {
                #region 判断用户
                string userId = userObj["userId"].ToString();
                if (string.IsNullOrEmpty(userId))
                {
                    r.code = (int)sysEnum.参数必填;
                    r.msg  = "userId必填";
                    return(r);
                }

                string pwd = userObj["psw"].ToString();
                if (string.IsNullOrEmpty(pwd))
                {
                    r.code = (int)sysEnum.参数必填;
                    r.msg  = "用户密码必填";
                    return(r);
                }

                sqlHelper       sh = new sqlHelper();
                ISqlSugarClient db = sh.dbClient();

                #endregion

                sysLoginInCls si = public_method.getLoginInObject();

                pwd = DES_En_De.UserMd5(pwd);//这里进行加密

                int iReturn = db.Updateable <sys_user>()
                              .SetColumns(it => new sys_user()
                {
                    pwd = pwd
                    ,
                    updateUserId = si.loginUserId
                    ,
                    updateDate = DateTime.Now
                })
                              .Where(it => it.userId.ToString() == userId).ExecuteCommand();
                if (iReturn > 0)
                {
                    r.code = (int)sysEnum.操作成功;
                    r.msg  = "重置密码成功";
                    #region //写日志
                    sys_log sys_log = new sys_log();
                    sys_log.logType      = "重置";
                    sys_log.logText      = "重置用户id[" + userId + "]密码成功";
                    sys_log.createUserId = si.loginUserId;
                    public_method.saveLog(sys_log);
                    #endregion
                    return(r);
                }
                else
                {
                    r.code = (int)sysEnum.执行数据库失败;
                    r.msg  = "重置密码失败";
                    return(r);
                }
            }
            catch (Exception ex)
            {
                r.code = (int)sysEnum.发生异常;
                r.msg  = ex.Message;
            }

            return(r);
        }
コード例 #20
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(sys_log log)
        {
            string connStr = string.Empty;

            logService.Add(log);
        }
コード例 #21
0
        public void ProcessRequest(HttpContext context)
        {
            SessionModel sm         = new SessionModel();
            string       token      = "";
            string       sid        = "";
            string       sysuid     = "0";
            string       sysflag    = "";
            string       onecaruser = "******";

            SysService.LogModel logmodel = new SysService.LogModel();
            //写入操作日志
            sys_log           slog   = new sys_log();
            ResponseAppResult Result = null;

            context.Response.ContentType = "text/plain";
            try
            {
                Dictionary <string, string> inparams = GetParams(context);
                if (inparams == null || inparams.Count == 0)
                {
                    Result = new ResponseAppResult(ResState.ParamsImperfect, "参数错误!格式为JSON格式数据,详见服务接口文档。", null);
                }
                else
                {
                    if (BaseParamsCheck(inparams, out Result))
                    {
                        if (inparams.ContainsKey("sysflag"))
                        {
                            inparams["sysflag"] = WebProc.GetAppSysflagKey(inparams["sysflag"]);
                            sysflag             = inparams["sysflag"];
                        }
                        sid              = inparams["sid"];
                        sysuid           = inparams.Keys.Contains(sysuid) ? inparams["sysuid"] : "0";
                        logmodel.LogType = (int)SysService.LogType.LogTypeEnum.AppWebService;
                        AlarmProess ap    = new AlarmProess();
                        AppProess   app   = new AppProess();
                        AppvdProess appvd = new AppvdProess();
                        ExtYQWL     ey    = new ExtYQWL();
                        switch (sid)
                        {
                            #region APP基本公共接口
                        case "app-car-getallonline":
                            Result = app.AppGetAllOnline(inparams);
                            break;

                        case "app-user-register":
                            Result = app.AppUserRegister(inparams);
                            break;

                        case "app-user-smscheckcode":           //获取短信验证码
                            Result = app.AppSMSCode(inparams);
                            break;

                        case "app-user-login":
                            Result = app.AppUserLogin(inparams);
                            break;

                        case "app-user-login2":
                            Result = app.AppUserLogin2(inparams);
                            break;

                        case "app-user-changepwd":
                            Result = app.AppUserChangePwd(inparams);
                            break;

                        case "app-car-bind":
                            Result = app.AppUserCarBind(inparams);      //用户车辆绑定
                            break;

                        case "app-user-update":
                            Result = app.AppUserUpdate(inparams);
                            break;

                        case "app-car-usercars":
                            Result = app.AppGetUserCars(inparams);
                            break;

                        case "app-car-seachusercars":
                            Result = app.AppSeachUserCars(inparams);        //获取车辆列表
                            break;

                        case "app-car-unwrap":
                            Result = app.AppUnwrapUserCars(inparams);
                            break;

                        case "app-car-lasttrack":
                            Result = app.AppGetCarLastTrack(inparams);
                            break;

                        case "app-car-track":
                            Result = app.AppGetCarTrack(inparams);
                            break;

                        case "app-user-resetpwd":            //重置密码
                            Result = app.AppUserResetPwd(inparams);
                            break;

                        case "app-car-seachforpages":            //用户车辆检索 带分页
                            Result = app.AppSeachForPages(inparams);
                            break;

                        case "app-car-onlinecount":            //用户车辆在线状态统计
                            Result = app.AppCarOnlineCount(inparams);
                            break;

                            #endregion
                            #region 报警器专用接口
                        case "alarm-car-track":
                            Result = ap.AlarmGetCarTrack(inparams);
                            break;

                        case "alarm-car-find":
                            Result = ap.AppSendFindCar(inparams);
                            break;

                        case "alarm-car-status":
                            Result = ap.AppGetCarStatues(inparams);
                            break;

                        case "alarm-car-remotecontrol":
                            Result = ap.AppSendControl(inparams);
                            break;

                        case "alarm-car-alertview":
                            Result = ap.AppGetAppAlarmAlert(inparams);
                            break;

                        case "alarm-obd-sendobddiagn":
                            Result = ap.AppSendOBDDiagn(inparams);
                            break;

                        case "alarm-obd-sendobddriver":
                            Result = ap.AppSendOBDDriver(inparams);
                            break;

                        case "alarm-obd-getobddiagn":
                            Result = ap.AppGetOBDDiagnResult(inparams);
                            break;

                        case "alarm-obd-getobddriver":
                            Result = ap.AppGetOBDDriverResult(inparams);
                            break;

                            #endregion
                            #region 外部专用接口
                        case "ext-yqwl-vinupload":
                            Result = ey.AppVINUpload(inparams);
                            break;

                        case "ext-yqwl-carowner":
                            Result = ey.AppGetCarInfoByCarno(inparams);
                            break;

                            #endregion
                            #region APP应用端接口
                        case "appvd-user-register":         //用户注册
                            Result = appvd.AppvdUserRegister(inparams);
                            break;

                        case "appvd-user-login":            //用户登录
                            Result = appvd.AppUserLogin(inparams);
                            break;

                        case "appvd-user-update":           //用户修改信息
                            Result = appvd.AppvdUserUpdate(inparams);
                            break;

                        case "appvd-apk-version":            //获取APK指定版本
                            Result = appvd.AppvdGetApkVersion(inparams);
                            break;
                            #endregion
                        }
                    }
                    else
                    {
                        Result = new ResponseAppResult(ResState.ParamsImperfect, "参数错误!参数不完整,详见服务接口文档。", null);
                    }
                    Result.sid  = inparams.Keys.Contains("sid") ? inparams["sid"] : "";
                    Result.sequ = inparams.Keys.Contains("sequ") ? inparams["sequ"] : "";
                    //定位监控定时取最新轨迹不记录日志,因操作太频繁
                    if (sid != "" && !sid.Equals("alarm-car-lasttrack") && sysflag != "")
                    {
                        logmodel.SysFlag = sysflag;
                        logmodel.SysName = "AppService";
                        logmodel.UserId  = Int32.Parse(sysuid);
                        if ((ResState)Result.state == ResState.Success)
                        {
                            logmodel.LogResult  = "成功";
                            logmodel.LogContent = "操作成功";
                        }
                        else
                        {
                            logmodel.LogResult  = "失败";
                            logmodel.LogContent = ((ResState)Result.state).ToString() + "-" + Result.msg;
                        }
                        logmodel.OneCarUser = onecaruser;
                        slog.WriteSysLog(logmodel);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteError("执行异常:", ex);
                Result = new ResponseAppResult(ResState.OperationFailed, ex.Message, "");

                //logmodel.LogContent = LogType.GetEnumName(LogType.LogTypeEnum.excepetion) + ex.Message;
                if (!string.IsNullOrEmpty(sysuid))
                {
                    logmodel.UserId = Int32.Parse(sysuid);
                }
                else
                {
                    logmodel.UserId = -1;
                }
                logmodel.SysFlag    = sysflag;
                logmodel.SysName    = "WebGISAppService";
                logmodel.LogContent = ((ResState)Result.state).ToString() + "-" + ex.Message;
                logmodel.LogResult  = "失败";
                logmodel.OneCarUser = onecaruser;
                //slog.WriteSysLog(logmodel);
            }

            Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter();

            timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
            Result.msg = Result.msg.Replace("\"", "");
            string strRes = JsonConvert.SerializeObject(Result, timeConverter);
            if (Result.state != 200)
            {
                LogHelper.WriteInfo("AppService Response:" + strRes);
            }
            context.Response.Write(strRes.Replace("null", "\"\""));
        }
コード例 #22
0
ファイル: LogService.cs プロジェクト: devide023/MESWebApi
        public void UpdateLog <T>(T entity, T orginalobj)
        {
            if (!islog)
            {
                return;
            }
            object        id   = 0;
            StringBuilder txt  = new StringBuilder();
            sys_log       slog = EntityFields <T>(entity);

            slog.fields.TryGetValue("id", out id);
            sys_user user = CacheManager.Instance().Current_User;

            txt.Append($"[{user.name}]更新{slog.tablename},");
            var  cnames  = slog.fields.Select(t => t.Key);
            Type orgtype = orginalobj.GetType();

            PropertyInfo[] orgproinfos = orgtype.GetProperties().Where(t => cnames.Contains(t.Name)).ToArray();
            foreach (var item in orgproinfos)
            {
                string fn       = string.Empty;
                object fv       = null;
                object fvnew    = null;
                var    orgattrs = item.GetCustomAttributes(typeof(DbFieldAttribute));
                if (orgattrs.Count() > 0)
                {
                    DbFieldAttribute attr = orgattrs.First() as DbFieldAttribute;
                    fn = attr.FieldName;
                    fv = item.GetValue(orginalobj);
                    string coltype = item.PropertyType.Name;
                    slog.fields.TryGetValue(fn, out fvnew);
                    switch (coltype)
                    {
                    case "Int32":
                        if (Convert.ToInt32(fv) != Convert.ToInt32(fvnew ?? 0))
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    case "String":
                        if (fv.ToString() != (fvnew ?? "").ToString())
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    case "DateTime":
                        if (Convert.ToDateTime(fv) != Convert.ToDateTime(fvnew))
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    case "Double":
                        if (Convert.ToDouble(fv) != Convert.ToDouble(fvnew ?? 0))
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    case "Float":
                        if (Convert.ToSingle(fv) != Convert.ToSingle(fvnew ?? 0))
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    case "Decimal":
                        if (Convert.ToDecimal(fv) != Convert.ToDecimal(fvnew ?? 0))
                        {
                            txt.Append($"[{attr.Label}]:{fv}->{fvnew},");
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
            log.Info(txt.ToString());
        }
コード例 #23
0
        public returnR userDel(JObject passJson)
        {
            returnR r = new returnR();

            r.code = (int)sysEnum.还没有执行;
            if (passJson == null)
            {
                r.code = (int)sysEnum.参数必填;
                return(r);
            }
            //这里执行

            try
            {
                sysLoginInCls si = public_method.getLoginInObject();

                string userIdList = passJson["userIdList"].ToString();

                sqlHelper       sh = new sqlHelper();
                ISqlSugarClient db = sh.dbClient();

                string[]      useridArray = userIdList.Split(',');
                List <string> list        = new List <string>();
                for (int i = 0; i < useridArray.Length; i++)
                {
                    list.Add(useridArray[i]);
                }

                int iReturn = db.Updateable <sys_user>()
                              .SetColumns(it => new sys_user()
                {
                    flag           = (int)sysEnum.数据被删除
                    , updateUserId = si.loginUserId
                    , updateDate   = DateTime.Now
                })
                              .Where(it => list.Contains(it.userId.ToString())).ExecuteCommand();
                if (iReturn > 0)
                {
                    r.code = (int)sysEnum.操作成功;
                    r.msg  = "成功删除用户";
                    #region //写日志
                    sys_log sys_log = new sys_log();
                    sys_log.logType      = "删除";
                    sys_log.logText      = "删除用户id[" + userIdList + "]";
                    sys_log.createUserId = si.loginUserId;
                    public_method.saveLog(sys_log);
                    #endregion
                    return(r);
                }
                else
                {
                    r.code = (int)sysEnum.执行数据库失败;
                    r.msg  = "删除用户失败";
                    return(r);
                }
            }
            catch (Exception ex)
            {
                r.code = (int)sysEnum.发生异常;
                r.msg  = ex.Message;
            }

            return(r);
        }
コード例 #24
0
ファイル: LogApp.cs プロジェクト: kaka1102/SHOP-TON
 private void Insert(sys_log entiSysLog)
 {
     db.Entry(entiSysLog).State = EntityState.Added;
     db.SaveChanges();
 }
コード例 #25
0
        public returnR userUpdate(JObject userObj)
        {
            returnR r = new returnR();

            r.code = (int)sysEnum.还没有执行;
            if (userObj == null)
            {
                r.code = (int)sysEnum.参数必填;
                return(r);
            }
            //这里执行
            try
            {
                #region 判断用户
                string userId = userObj["userId"].ToString();
                if (string.IsNullOrEmpty(userId))
                {
                    r.code = (int)sysEnum.参数必填;
                    r.msg  = "userId必填";
                    return(r);
                }
                string username = userObj["userName"].ToString();
                if (string.IsNullOrEmpty(username))
                {
                    r.code = (int)sysEnum.参数必填;
                    r.msg  = "用户名称必填";
                    return(r);
                }

                sqlHelper       sh = new sqlHelper();
                ISqlSugarClient db = sh.dbClient();


                var dataList = db.Queryable <sys_user>()
                               .Where(it => it.userName == username && it.flag == 1 && it.userId.ToString() != userId).ToList();
                if (dataList.Count > 0)
                {
                    r.code = (int)sysEnum.数据库中已经存在;
                    r.msg  = "数据库中已存在[" + username + "]";
                    return(r);
                }
                #endregion

                sysLoginInCls si = public_method.getLoginInObject();

                string realName = userObj["realName"].ToString();

                sys_user sys_user = new sys_user();
                sys_user.userId       = int.Parse(userId);
                sys_user.userName     = username;
                sys_user.realName     = realName;
                sys_user.roleId       = int.Parse(userObj["roleId"].ToString());
                sys_user.dataRoleId   = int.Parse(userObj["dataRoleId"].ToString());
                sys_user.phone        = userObj["phone"].ToString();
                sys_user.email        = userObj["email"].ToString();
                sys_user.remarks      = userObj["remarks"].ToString();
                sys_user.updateUserId = si.loginUserId;      //更新人
                sys_user.updateDate   = System.DateTime.Now; //更新时间
                sys_user.flag         = 1;                   //默认开启
                //这里转换一下
                int iReturn = db.Updateable(sys_user)
                              .IgnoreColumns(it => new { it.createDate, it.createUserId, it.pwd }).ExecuteCommand();
                if (iReturn > 0)
                {
                    r.code = (int)sysEnum.操作成功;
                    r.msg  = "更新[" + username + "]成功";
                    #region //写日志
                    sys_log sys_log = new sys_log();
                    sys_log.logType      = "更新";
                    sys_log.logText      = Newtonsoft.Json.JsonConvert.SerializeObject(sys_user);
                    sys_log.createUserId = si.loginUserId;
                    public_method.saveLog(sys_log);
                    #endregion
                    return(r);
                }
                else
                {
                    r.code = (int)sysEnum.执行数据库失败;
                    r.msg  = "更新[" + username + "]失败";
                    return(r);
                }
            }
            catch (Exception ex)
            {
                r.code = (int)sysEnum.发生异常;
                r.msg  = ex.Message;
            }

            return(r);
        }