Example #1
0
        private void GenerateConnectors(string connectionString)
        {
            var db = new Data1.CloudCoreDB(connectionString);

            var connectors = (from f in db.Cloudcoremodel_FlowModel
                              join fa in db.Cloudcoremodel_ActivityModel on f.FromActivityModelId equals fa.ActivityModelId
                              join t in db.Cloudcoremodel_SubProcess on fa.SubProcessId equals t.SubProcessId
                              join p in db.Cloudcoremodel_ProcessRevision on t.ProcessRevisionId equals p.ProcessRevisionId
                              where RevisionId == p.ProcessRevisionId
                              select new
                              {
                                  Title = f.Outcome == "-" ? String.Empty : f.Outcome,
                                  FromId = f.FromActivityModelId,
                                  ToId = f.ToActivityModelId,
                                  OptimalFlow = f.OptimalFlow,
                                  NegativeFlow = f.NegativeFlow,
                                  HasTrigger = (bool)db.Cloudcore_FlowHasTrigger(f.FlowGuid)
                              }).Distinct();

            foreach (var connector in connectors)
            {
                var con = new Connector()
                {
                    Title = connector.Title,
                    FromActivityId = connector.FromId,
                    ToActivityId = connector.ToId
                };
                if (connector.OptimalFlow)
                {
                    con.AddProperty(ConnectorProperties.Optimal);
                }
                if (connector.NegativeFlow)
                {
                    con.AddProperty(ConnectorProperties.Negative);
                }
                if (connector.HasTrigger)
                {
                    con.AddProperty(ConnectorProperties.Trigger);
                }

                Connectors.Add(con);
            }
        }