Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        /// <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;
        }
Exemplo n.º 4
0
 public void DeployLive(BtomicDB db, int systemModuleId)
 {
     db.Model_BTProcessModelDeploy(Guid, systemModuleId);
 }
Exemplo n.º 5
0
        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);
        }