private static void Crud() { var petaPoco = new PetaPoco.Database("Chinook"); var customer = new Customer { FirstName = "Ian", LastName = "Russell", Email = "*****@*****.**" }; petaPoco.Insert(customer); var id = customer.CustomerId; customer = petaPoco.Single <Customer>(id); ObjectDumper.Write(customer); customer.Country = "United Kingdom"; petaPoco.Update(customer); customer = petaPoco.Single <Customer>(id); ObjectDumper.Write(customer); petaPoco.Delete <Customer>(id); customer = petaPoco.SingleOrDefault <Customer>(id); ObjectDumper.Write(customer); }
private static void Crud() { var petaPoco = new PetaPoco.Database("Chinook"); var customer = new Customer { FirstName = "Ian", LastName = "Russell", Email = "*****@*****.**" }; petaPoco.Insert(customer); var id = customer.CustomerId; customer = petaPoco.Single<Customer>(id); ObjectDumper.Write(customer); customer.Country = "United Kingdom"; petaPoco.Update(customer); customer = petaPoco.Single<Customer>(id); ObjectDumper.Write(customer); petaPoco.Delete<Customer>(id); customer = petaPoco.SingleOrDefault<Customer>(id); ObjectDumper.Write(customer); }
public ActionResult details(int id) { var dataContext = new PetaPoco.Database("sqladdress"); var details = dataContext.Single <Contacts>("SELECT * FROM contacts WHERE id=@0", id); return(View(details)); }
public static void StopAll() { var db = new PetaPoco.Database("LocalSQLite"); // stop all running threads\monitors foreach (MonitorClass mc in _monitorRunPool) { // stop the Timer if (!mc.DisableTimer()) { log.WarnFormat("Unable to disable the timer for Monitor ID: {0}", mc.MonitorID); } // TODO: Does the thread need joining back?? // change the monitor state try { Model.Monitor monitor = db.Single <Model.Monitor>("Select * from Monitor WHERE MonitorID = @monitorID", new { monitorID = mc.MonitorID }); monitor.State = Model.MonitorState.Idle.ToString(); db.Update(monitor); } catch (Exception ex) { log.WarnFormat("Unable to set the monitor state to Idle for monitor ID: {0}", mc.MonitorID); log.ErrorFormat(ex.ToString()); } } }
public bool DeleteValueItem(int id) { string msg = ""; var it = db.Single <ValueItem>(id); if (it == null) { throw new Exception("项目不存在!"); } it.IsDelete = true; db.Save(it); return(true); }
public RunMonitor() : base("/run/monitor") { this.RequiresAuthentication(); // TODO: need to change to have run claims this.RequiresAnyClaim(new[] { "editMonitor", "admin" }); var db = new PetaPoco.Database("LocalSQLite"); Get["/{id}"] = parameters => { try { int monitorID = (int)parameters.id; Model.Monitor monitor = db.Single <Model.Monitor>("Select * from Monitor WHERE MonitorID = @monitorID", new { monitorID = monitorID }); // check the monitor should run if (monitor.State == Model.MonitorState.Running.ToString() && monitor.RunMultiple == 0) { log.InfoFormat("Monitor [{0}] is in a running state - not running a multiple version (initiated from web request)", monitor.MonitorID); return(Response.AsJson(new { success = false, message = "Monitor is already running and is configured not to run multiple versions." })); } // should check id is an int and the state of the monitor //Thread thread = new Thread(App.Monitor.Run(monitor)); // maybe change to a task factory or thread pool //http://stackoverflow.com/questions/8014037/c-sharp-call-a-method-in-a-new-thread Thread thread = new Thread(() => App.Monitor.Run(monitor)); thread.Start(); return(Response.AsJson(new { success = true, message = "Running the monitor" }));; } catch (Exception ex) { // Log error on the server - maybe should have ID in the URL so it can be part of the exception log.WarnFormat("Error whilst trying to run monitor. Exception: {0}", ex.ToString()); // TODO: alert? return(Response.AsJson(new { success = false, message = ex.ToString() })); } }; }
public void Handle(AccountCreditedEvent domainEvent) { // Update the Read database Console.WriteLine("Updating account record {0}", domainEvent.Amount.ToString("C")); using (var db = new PetaPoco.Database("DemoConnectionString")) { var account = db.Single <BankAccountReadModel>(domainEvent.Id); account.CurrentBalance += domainEvent.Amount; db.Update(account); } }
public static void Run(object input) { var db = new PetaPoco.Database("LocalSQLite"); // cast the input object //Model.Monitor monitor = input as Model.Monitor; int monitorID = (int)input; Model.Monitor monitor = db.Single <Model.Monitor>("Select * from Monitor WHERE MonitorID = @monitorID", new { monitorID = monitorID }); Run(monitor); }
public Job() : base("/Job") { this.RequiresAuthentication(); // db reference var db = new PetaPoco.Database("LocalSQLite"); // datatable functions Get["/dt"] = parameters => { var jobs = db.Query <Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID;"); return(Response.AsJson(new { aaData = jobs })); }; Get["/dt/{id}"] = parameters => { Model.JobView j = db.Single <Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Batch, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID AND JobID = @JobID", new { JobID = parameters.id }); return(Response.AsJson(new { aaData = j })); }; Get["/dt/{type}/{id}"] = parameters => { string MonitorType = parameters.type.ToString(); switch (MonitorType.ToUpper()) { case "EVENTVWR": //TODO: limited to 50 to avoid generating too much data - needs to be paged IEnumerable <Model.Eventvwr> Eventvwrdata = db.Query <Model.Eventvwr>("select * from Eventvwr WHERE JobID = @JobID", new { JobID = parameters.id }); return(Response.AsJson(new { aaData = Eventvwrdata })); case "IIS": //TODO: limited to 50 to avoid generating too much data - needs to be paged IEnumerable <Model.IIS> IISdata = db.Query <Model.IIS>("select * from IIS WHERE JobID = @JobID limit 50", new { JobID = parameters.id }); return(Response.AsJson(new { aaData = IISdata })); default: log.WarnFormat("Type ({0}) not supported in Nancy Module for Job", MonitorType); break; } var jobs = db.Query <Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID AND j.JobId=@id;", new { id = parameters.id }); return(Response.AsJson(new { aaData = jobs })); }; Get["/vanilla"] = parameters => { var jobs = db.Query <Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID;"); return(View["Web\\Views\\Job-vanilla.html", new { jobs = jobs }]); }; Get["/"] = parameters => { return(View["Web\\Views\\Job.html", baseModel]); }; Get["/{id}"] = parameters => { /* * IEnumerable<Model.JobView> jobs = db.Query<Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID AND j.JobId=@id;",new { id = parameters.id }); * Model.JobView job = jobs.FirstOrDefault(); */ Model.JobView jobView = db.Single <Model.JobView>("select j.JobID, j.MonitorID, m.Name, m.Type, j.StartTime, j.EndTime, j.FinalState, j.Batch, j.Info from Job J, Monitor m WHERE j.MonitorID = m.MonitorID AND j.JobId=@id;", new { id = parameters.id }); if (jobView.Batch == 1) { baseModel.jobs = jobView; return(View["Web\\Views\\JobBatch.html", baseModel]); } else { // switch on the type of monitor switch (jobView.Type.ToUpper()) { case "EVENTVWR": IEnumerable <Model.Eventvwr> Eventvwrdata = db.Query <Model.Eventvwr>("select * from Eventvwr WHERE JobID = @JobID", jobView); baseModel.jobs = jobView; baseModel.Results = Eventvwrdata; return(View["Web\\Views\\JobEventvwr.html", baseModel]); // new { jobs = job, Results = Eventvwrdata }]; case "IIS": IEnumerable <Model.IIS> IISdata = db.Query <Model.IIS>("select * from IIS WHERE JobID = @JobID", jobView); baseModel.jobs = jobView; baseModel.Results = IISdata; return(View["Web\\Views\\JobIIS.html", baseModel]); // new { jobs = job, Results = IISdata }]; default: log.WarnFormat("Type ({0}) not supported in Nancy Module for Job", jobView.Type); break; } } return("ah, didn't expect you to be here!"); }; }
public ValueSet GetValueSetByID(int id) { var vs = _db.Single <ValueSet>(id); return(vs); }