using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Comm.DBItem;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.FreeDB;
using WIDESEA_Core.ManageUser;
using WIDESEA_Entity.DomainModels;
using WIDESEA_System.IRepositories;
using WIDESEA_System.Repositories;
using WIDESEA_WCS.JobsPart.Common;
namespace WIDESEA_Comm.LogInfo
{
public enum LogState
{
[Description("信息")]
Info,
[Description("成功")]
Sucess,
[Description("失败")]
Error
}
///
/// 日志写入
///
public class WriteDBLog
{
static FreeDB freeDB = new FreeDB();
///
/// 写入数据库日志
///
public static void Error(string describe, object info, string dataFrom, string createuser = "system")
{
Write(describe, info, LogState.Error, dataFrom, createuser);
}
///
/// 写入数据库日志
///
public static void Success(string describe, object info, string dataFrom, string createuser = "system")
{
Write(describe, info, LogState.Sucess, dataFrom, createuser);
}
///
/// 写入数据库日志
///
public static void Info(string describe, object info, string dataFrom, string createuser = "system")
{
Write(describe, info, LogState.Info, dataFrom, createuser);
}
///
/// 写入数据库日志
///
public static void Sys_Error(string describe, object info, string dataFrom)
{
string createuser = UserContext.Current.UserTrueName;
Write(describe, info, LogState.Error, dataFrom, createuser);
}
///
/// 写入数据库日志
///
public static void Sys_Success(string describe, object info, string dataFrom)
{
string createuser = UserContext.Current.UserTrueName;
Write(describe, info, LogState.Sucess, dataFrom, createuser);
}
///
/// 写入数据库日志
///
public static void Sys_Info(string describe, object info, string dataFrom)
{
string createuser = UserContext.Current.UserTrueName;
Write(describe, info, LogState.Info, dataFrom, createuser);
}
///
/// 添加日志
///
public static void Write(string describe, object info, LogState logState, string dataFrom, string createuser)
{
try
{
VOLContext context = new VOLContext();
Idt_log_pcsRepository pcsRepository = new dt_log_pcsRepository(context);
//dt_log log = new dt_log();
dt_log_pcs log = new dt_log_pcs();
log.id = Guid.NewGuid();
log.createtime = DateTime.Now;
log.dataForm = dataFrom;
log.describe = describe;
log.createuser = createuser;
log.status = logState.ToString();
if (info.GetType() == typeof(string))
{
log.info = (string)info;
}
else
{
log.info = JsonConvert.SerializeObject(info);
}
//StoredProcedure.Main(log, MethodName.Add);
//var data = pcsRepository.Find(x => x.dataForm == log.dataForm && x.describe == log.describe && x.status == log.status && x.info == log.info).FirstOrDefault();
//if (data == null)
StoredProcedure.EXECAdd(log, MethodName.Add);
//else
//{
// data.createtime = DateTime.Now;
// pcsRepository.Update(data, true);
//}
//freeDB.Add(log);
}
catch (Exception ex)
{
}
}
}
}