/// <summary> /// creates a new <see cref="DatabaseTaskService"/> /// </summary> /// <param name="database">access to database</param> public DatabaseTaskService(IEntityManager database) { this.database = database; database.UpdateSchema <TaskDb>(); insert = database.Insert <TaskDb>().Columns(t => t.Id, t => t.Type, t => t.WorkableId, t => t.WorkableRevision, t => t.WorkableName, t => t.Parameters, t => t.Started, t => t.Finished, t => t.Status, t => t.Result, t => t.Log).Prepare(); loadtask = database.Load <TaskDb>().Where(t => t.Id == DBParameter.Guid).Prepare(); }
/// <summary> /// creates a new <see cref="DatabaseArchiveService"/> /// </summary> /// <param name="database">access to database</param> public DatabaseArchiveService(IEntityManager database) { this.database = database; database.UpdateSchema <ArchivedObject>(); insert = database.Insert <ArchivedObject>().Columns(o => o.Type, o => o.ObjectId, o => o.Revision, o => o.Data).Prepare(); load = database.Load <ArchivedObject>().Where(o => o.Type == DBParameter.String && o.ObjectId == DBParameter.Int64 && o.Revision == DBParameter.Int32).Prepare(); }
/// <summary> /// creates a new <see cref="DatabaseWorkflowService"/> /// </summary> /// <param name="database">access to database</param> /// <param name="archiveservice">access to data archives</param> public DatabaseWorkflowService(IEntityManager database, IArchiveService archiveservice) { this.database = database; this.archiveservice = archiveservice; database.UpdateSchema <Workflow>(); database.UpdateSchema <WorkflowNode>(); database.UpdateSchema <WorkflowTransition>(); insertworkflow = database.Insert <Workflow>().Columns(w => w.Revision, w => w.Name, w => w.Language) .ReturnID() .Prepare(); updateworkflow = database.Update <Workflow>() .Set(w => w.Revision == w.Revision + 1, w => w.Name == DBParameter.String, w => w.Language == DBParameter <ScriptLanguage?> .Value) .Where(w => w.Id == DBParameter.Int64) .Prepare(); deletetransitions = database.Delete <WorkflowTransition>().Where(t => t.WorkflowId == DBParameter.Int64).Prepare(); deletenodes = database.Delete <WorkflowNode>().Where(n => n.WorkflowId == DBParameter.Int64).Prepare(); deleteworkflow = database.Delete <Workflow>().Where(w => w.Id == DBParameter.Int64).Prepare(); loadworkflowbyid = database.Load <Workflow>().Where(w => w.Id == DBParameter.Int64).Prepare(); loadworkflowbyname = database.Load <Workflow>().Where(w => w.Name == DBParameter.String).Prepare(); loadnodes = database.Load <WorkflowNode>(n => n.Id, n => n.Name, n => n.Group, n => n.Type, n => n.Parameters, n => n.Variable).Where(n => n.WorkflowId == DBParameter.Int64).Prepare(); loadtransitions = database.Load <WorkflowTransition>(t => t.OriginId, t => t.TargetId, t => t.Condition, t => t.Type, t => t.Log).Where(t => t.WorkflowId == DBParameter.Int64).Prepare(); insertnode = database.Insert <WorkflowNode>().Columns(n => n.Id, n => n.WorkflowId, n => n.Name, n => n.Type, n => n.Parameters, n => n.Group, n => n.Variable).Prepare(); inserttransition = database.Insert <WorkflowTransition>().Columns(t => t.WorkflowId, t => t.OriginId, t => t.TargetId, t => t.Condition, t => t.Type, t => t.Log).Prepare(); }
/// <summary> /// creates a new <see cref="DatabaseScriptService"/> /// </summary> /// <param name="database">access to database</param> /// <param name="archiveservice">access to object archive</param> public DatabaseScriptService(IEntityManager database, IArchiveService archiveservice) { this.database = database; this.archiveservice = archiveservice; database.UpdateSchema <Script>(); insertscript = database.Insert <Script>().Columns(s => s.Revision, s => s.Name, s => s.Code, s => s.Language).ReturnID().Prepare(); getscript = database.Load <Script>().Where(s => s.Id == DBParameter.Int64).Prepare(); getscriptbyname = database.Load <Script>().Where(s => s.Name == DBParameter.String).Prepare(); deletescript = database.Delete <Script>().Where(s => s.Id == DBParameter.Int64).Prepare(); }
/// <summary> /// creates a new <see cref="DatabaseScheduledTaskService"/> /// </summary> /// <param name="database"></param> public DatabaseScheduledTaskService(IEntityManager database) { this.database = database; database.UpdateSchema <ScheduledTask>(); insert = database.Insert <ScheduledTask>().Columns(t => t.Name, t => t.WorkableType, t => t.WorkableName, t => t.WorkableRevision, t => t.Target, t => t.Days, t => t.Interval).Prepare(); delete = database.Delete <ScheduledTask>().Where(t => t.Id == DBParameter.Int64).Prepare(); loadbyid = database.Load <ScheduledTask>().Where(t => t.Id == DBParameter.Int64).Prepare(); updatescheduletime = database.Update <ScheduledTask>().Set(t => t.Target == DBParameter <DateTime?> .Value).Where(t => t.Id == DBParameter.Int64).Prepare(); updateexecution = database.Update <ScheduledTask>().Set(t => t.LastExecution == DBParameter <DateTime?> .Value, t => t.Target == DBParameter <DateTime?> .Value).Where(t => t.Id == DBParameter.Int64).Prepare(); }