public void AddLog(EJ.DB.easyjob db, int userid, int databaseid) { var log = new EJ.SysLog(); log.DatabaseId = databaseid; log.Content = this.ToJsonString(); log.UserId = userid; log.Type = this.GetType().Name; log.Time = DateTime.Now; db.Insert(log); }
public object Save(EJ.DB.easyjob db, int databaseid) { BeforeSave(); var action = new EntityDB.CustomDataItem("__action", "id", null); action.SetValue("type", this.GetType().Name); action.SetValue("databaseid", databaseid); action.SetValue("content", this.ToJsonString()); db.Insert(action); return(action.GetValue("id")); }
public object Save(EJ.DB.easyjob db, int databaseid) { BeforeSave(); var action = new EJ.DesignHistory(); action.Type = this.GetType().Name; action.DatabaseId = databaseid; action.Content = this.ToJsonString(); var actionObject = IDDict.GetOrAdd(databaseid, new ActionIdObject()); lock (actionObject) { if (actionObject.ActionId == 0) { actionObject.ActionId = db.DesignHistory.Where(m => m.DatabaseId == databaseid).Max(m => m.ActionId).GetValueOrDefault(); } } action.ActionId = System.Threading.Interlocked.Increment(ref actionObject.ActionId); db.Insert(action); return(action.ActionId); }
public static void Main(string[] args) { HttpServer server = null; try { Console.OutputEncoding = System.Text.Encoding.UTF8; int port = 6068; if (args != null && args.Length > 0) { port = Convert.ToInt32(args[0]); } Console.WriteLine($"server starting at port:{port}..."); var webroot = $"{AppDomain.CurrentDomain.BaseDirectory}Port{port}"; if (!System.IO.Directory.Exists(webroot)) { System.IO.Directory.CreateDirectory(webroot); } if (System.IO.File.Exists($"{webroot}/main.html") == false) { System.IO.File.WriteAllText($"{webroot}/main.html", "<html><body controller=\"Way.EJServer.MainController\"></body></html>"); } server = new HttpServer(new int[] { port }, webroot); Console.WriteLine($"Root:{server.Root}"); server.RegisterHandler(new DownLoadCodeHandler()); server.RegisterHandler(new DownLoadSimpleCodeHandler()); server.RegisterHandler(new DownloadTableDataHandler()); server.RegisterHandler(new ImportDataHandler()); server.RegisterHandler(new ImportCSFileHandler()); server.UseHttps(new X509Certificate2(Way.Lib.PlatformHelper.GetAppDirectory() + "EJServerCert.pfx", "123456"), true); Console.WriteLine($"use ssl EJServerCert.pfx"); server.SessionTimeout = 60 * 24; //copy action table data //复制action表 using (var db = new EJ.DB.easyjob($"Data Source=\"{webroot}/EasyJob.db\"", DatabaseType.Sqlite)) { if (db.DesignHistory.Count() == 0) { db.BeginTransaction(); try { db.Database.ExecuteReader((reader) => { db.Insert(new DesignHistory() { ActionId = Convert.ToInt32(reader["id"]), Type = (string)reader["type"], Content = (string)reader["content"], DatabaseId = Convert.ToInt32(reader["databaseid"]), }); return(true); }, "select * from __action", null); db.CommitTransaction(); } catch (Exception) { db.RollbackTransaction(); throw; } } } server.Start(); } catch (Exception ex) { Console.WriteLine(ex.Message); } while (true) { Console.Write("Web>"); var line = Console.ReadLine(); if (line == null) { //是在后台运行的 while (true) { System.Threading.Thread.Sleep(10000000); } } else if (line == "exit") { break; } } server?.Stop(); System.Diagnostics.Process.GetCurrentProcess().Kill(); }