public void Deploy(BtomicDB db, int processRevisionId) { int iToAct; if (ToActivity.Indicator == 99) { iToAct = 0; } else { var toAct = (from a in db.Model_BTActivityModel join t in db.Model_BTSubProcess on a.SubProcessId equals t.SubProcessId where a.ActivityGuid == ToActivity.Guid && t.ProcessRevisionId == processRevisionId select a).SingleOrDefault(); iToAct = toAct.ActivityModelId; } var fromAct = (from a in db.Model_BTActivityModel join t in db.Model_BTSubProcess on a.SubProcessId equals t.SubProcessId where a.ActivityGuid == FromActivity && t.ProcessRevisionId == processRevisionId select a).SingleOrDefault(); db.Model_BTFlowModelCreate(Guid, processRevisionId, fromAct.ActivityModelId, Outcome, iToAct, OptimalFlow, NegativeFlow, Storyline); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns>-1 = Prompt input, 0 = No Change, 1 = Silent /// </returns> public int CompareTo(object obj) { int dt = 0; if (obj is Model_BTFlowModel) { var db = new BtomicDB(); Model_BTFlowModel f2 = (Model_BTFlowModel)obj; var flow = (from f in db.Model_BTFlowModel join fromAct in db.Model_BTActivityModel on f.FromActivityModelId equals fromAct.ActivityModelId join toAct in db.Model_BTActivityModel on f.ToActivityModelId equals toAct.ActivityModelId where f.FlowModelId == f2.FlowModelId select new { f.Outcome, f.Storyline, FromActGuid = fromAct.ActivityGuid, ToActGuid = toAct.ActivityGuid, ToActModelId = toAct.ActivityModelId }).SingleOrDefault(); if (Outcome != flow.Outcome || Storyline != flow.Storyline || FromActivity != flow.FromActGuid || (ToActivity.Indicator == 99 ? flow.ToActModelId != 0 : ToActivity.Guid != flow.ToActGuid)) { if (dt != -1) dt = 1; } } else throw new ArgumentException("Object is not a Model_BTFlowModel."); return dt; }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns>-1 = Prompt input, 0 = No Change, 1 = Silent /// </returns> public int CompareTo(object obj) { int dt = 0; if (obj is Model_BTProcessRevision) { Model_BTProcessRevision p2 = (Model_BTProcessRevision)obj; BtomicDB db = new BtomicDB(); var p = (from pm in db.Model_BTProcessModel join pr in db.Model_BTProcessRevision on pm.ProcessModelId equals pr.ProcessModelId where pm.ProcessModelId == p2.ProcessModelId && pr.ProcessRevisionId == p2.ProcessRevisionId select pm).SingleOrDefault(); var t = from tm in db.Model_BTActivityModel where tm.ProcessRevisionId == p2.ProcessRevisionId select tm; if (Name != p.ProcessName || EntityName != p.TableName || EntityField != p.KeyField) { if (dt != -1) dt = 1; } if (Activities.Count() > t.Count()) { if (dt != -1) dt = 1; } foreach (Model_BTActivityModel tt in t) { string activity = null; /*(from tk in Tasks where tk.Guid == tt.TaskGuid select tk).SingleOrDefault();*/ if (activity != null) { int i = activity.CompareTo(tt); if (i == -1) { dt = i; return dt; } if (i == 1 && dt == 0) dt = i; if (dt == -1) return dt; } else { dt = -1; return dt; } } } else throw new ArgumentException("Object is not a Model_BTProcessRevision."); return dt; }
public void DeployLive(BtomicDB db, int systemModuleId) { db.Model_BTProcessModelDeploy(Guid, systemModuleId); }
public void Deploy(BtomicDB db, int userId, string checksum) { int processModelId; var proc = (from pm in db.Model_BTProcessModel where pm.ProcessGuid == Guid select pm).SingleOrDefault(); if (proc == null) processModelId = db.Model_BTProcessModelCreate(Guid, Name, EntityName, EntityField); else processModelId = proc.ProcessModelId; int processRevisionId = db.Model_BTProcessRevisionCreate(processModelId, checksum, userId, DateTime.Now); foreach (Activity a in Activities) { a.Deploy(db, SubProcessID, processRevisionId); } foreach (Activity a in Activities) foreach (Flow f in a.OutFlows) f.Deploy(db, processRevisionId); }