Exemple #1
0
        private void Init(ActivityConfig.ACSeriesRow acsr)
        {
            this.SuspendLayout();
            //flowLayoutPanel1.Controls.Clear();
            if (myRF != null)
            {
                myRF.Dispose();
            }
            myRF                 = null;
            MyACE                = new ACEngine(FM);
            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;
            MyACE.DoRelFields();
            MyACE.DoStep(ACEngine.Step.RelatedFields0, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields1, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields2, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields3, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields4, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields5, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields6, true);

            BuildForm(acsr);
            if (first)
            {
                foreach (DataView dv in MyACE.relTables.Values)
                {
                    DataTable dt = dv.Table;
                    dt.ColumnChanged += new DataColumnChangeEventHandler(dt_ColumnChanged);
                    atLogic.ObjectBE obe = FM.GetBEFromTable(dt);
                    obe.OnUpdate += new atLogic.UpdateEventHandler(ucSSTCase_OnUpdate);
                }
                first = false;
            }
            this.ResumeLayout();
        }
Exemple #2
0
        public string A5JSON(int fileId, int acSeriesId)
        {
            atriumManager myAtmng = Helper.Atmng();
            FileManager   fm      = myAtmng.GetFile(fileId);

            lmDatasets.ActivityConfig.ACSeriesRow acsr = fm.AtMng.acMng.DB.ACSeries.FindByACSeriesId(acSeriesId);

            atriumBE.ACEngine MyACE = new ACEngine(fm);
            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;
            MyACE.DoRelFields();
            MyACE.DoStep(ACEngine.Step.RelatedFields0, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields1, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields2, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields3, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields4, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields5, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields6, true);

            string curobj = "";
            string json   = "{";

            foreach (ActivityConfig.ActivityFieldRow arf in fm.AtMng.acMng.DB.ActivityField.Select("ACSeriesId=" + acSeriesId.ToString() + " and TaskType in ('F','T')", "objectalias,fieldname"))
            {
                if (curobj != arf.ObjectAlias)
                {
                    //start new row
                    curobj = arf.ObjectAlias;
                    json  += "'" + arf.ObjectAlias + "':[";

                    foreach (DataRowView dvr in MyACE.relTables[curobj])
                    {
                        json += "{";
                        json += "'atrid':" + Newtonsoft.Json.JsonConvert.ToString(dvr.Row[dvr.Row.Table.PrimaryKey[0]]) + ",";
                        foreach (ActivityConfig.ActivityFieldRow arfRow in fm.AtMng.acMng.DB.ActivityField.Select("ObjectAlias='" + curobj + "' and ACSeriesId=" + acSeriesId.ToString() + " and TaskType in ('F','T')", "objectalias,fieldname"))
                        {
                            json += "'" + arfRow.FieldName + "':" + Newtonsoft.Json.JsonConvert.ToString(dvr.Row[arfRow.DBFieldName]) + ",";
                        }
                        json  = json.TrimEnd(',');
                        json += "},";
                    }
                    json  = json.TrimEnd(',');
                    json += "]";
                }
                else
                {
                }
            }
            return(json + "}");
            // DataSet ds = new DataSet();
            // foreach(DataView dv in MyACE.relTables.Values)
            // {
            //     ds.Tables.Add(dv.ToTable());
            // }

            // return Newtonsoft.Json.JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
            //// return Json(ds,JsonRequestBehavior.AllowGet);
        }
Exemple #3
0
        public string A5JSONUpdate(int fileId, int acSeriesId, string json)
        {
            atriumManager myAtmng = Helper.Atmng();
            FileManager   fm      = myAtmng.GetFile(fileId);

            lmDatasets.ActivityConfig.ACSeriesRow acsr = fm.AtMng.acMng.DB.ACSeries.FindByACSeriesId(acSeriesId);

            atriumBE.ACEngine MyACE = new ACEngine(fm);
            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;
            MyACE.DoRelFields();
            MyACE.DoStep(ACEngine.Step.RelatedFields0, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields1, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields2, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields3, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields4, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields5, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields6, true);



            Newtonsoft.Json.Linq.JObject data = Newtonsoft.Json.Linq.JObject.Parse(json);



            //foreach (ActivityConfig.ActivityFieldRow arf in fm.AtMng.acMng.DB.ActivityField.Select("ACSeriesId=" + acSeriesId.ToString() + " and TaskType in ('F','T')", "objectalias,fieldname"))
            foreach (string curobj in MyACE.relTables.Keys)
            {
                var table = data[curobj].Children().ToList();
                MyACE.relTables[curobj].Sort = MyACE.relTables[curobj].Table.PrimaryKey[0].ColumnName;
                foreach (var row in table)
                {
                    int         rid = (int)row["atrid"];
                    int         pos = MyACE.relTables[curobj].Find(row["atrid"]);
                    DataRowView dvr = MyACE.relTables[curobj][pos];
                    //need to match up rows
                    foreach (ActivityConfig.ActivityFieldRow arfRow in fm.AtMng.acMng.DB.ActivityField.Select("ObjectAlias='" + curobj + "' and ACSeriesId=" + acSeriesId.ToString() + " and TaskType in ('F','T')", "objectalias,fieldname"))
                    {
                        System.Diagnostics.Debug.WriteLine("{0}, {1}", dvr.Row[arfRow.DBFieldName], data[curobj][0][arfRow.FieldName]);
                    }
                }
            }
            return(null);
        }
Exemple #4
0
        //rules
        public void EvaluateRule(FileManager fm, appDB.ddRuleRow ddrr, DataRow dr2Validate)
        {
            ActivityConfig.ACSeriesRow acsr = fm.AtMng.acMng.DB.ACSeries.FindByACSeriesId(ddrr.ACSeriesId);

            //we need to endedit on the current record so that it can be evaluated by datatable.select operations
            dr2Validate.EndEdit();

            ACEngine MyACE = new ACEngine(fm);

            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;

            MyACE.AddToRelTables(dr2Validate, "CONTEXT");

            //MyACE.LoadDataForStep(-10, acsr.ACSeriesId);
            MyACE.DoRelFields();
            //consider the blocks as short-circuited or's
            //eg  A || B || C
            //we succeed on the first successful block


            if (MyACE.HasRel0)
            {
                MyACE.LoadDataForStep(0, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }
            if (MyACE.HasRel1)
            {
                MyACE.LoadDataForStep(1, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }
            if (MyACE.HasRel2)
            {
                MyACE.LoadDataForStep(2, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }
            if (MyACE.HasRel3)
            {
                MyACE.LoadDataForStep(3, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }
            if (MyACE.HasRel4)
            {
                MyACE.LoadDataForStep(4, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }
            if (MyACE.HasRel5)
            {
                MyACE.LoadDataForStep(5, acsr.ACSeriesId);
                if (!MyACE.skipBlock)
                {
                    return;
                }
            }

            //rule failed

            string msg = myA.acMng.DB.ACDocumentation.FindByACDocId(ddrr.MsgId)[myA.Translate("TextEng")].ToString();

            throw new AtriumException(msg);
        }
Exemple #5
0
        public void ExecuteAction(FileManager fm, DataRow dr2Validate, ActivityConfig.ACSeriesRow acsr)
        {
            dr2Validate.EndEdit();

            ACEngine MyACE = new ACEngine(fm);

            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;

            MyACE.AddToRelTables(dr2Validate, "CONTEXT");

            MyACE.DoRelFields();
            if (MyACE.HasRel0)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields0, true);
            }
            if (MyACE.HasRel1)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields1, true);
            }
            if (MyACE.HasRel2)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields2, true);
            }
            if (MyACE.HasRel3)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields3, true);
            }
            if (MyACE.HasRel4)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields4, true);
            }
            if (MyACE.HasRel5)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields5, true);
            }
            if (MyACE.HasRel6)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields6, true);
            }
            if (MyACE.HasRel7)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields7, true);
            }
            if (MyACE.HasRel8)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields8, true);
            }
            if (MyACE.HasRel9)
            {
                MyACE.DoStep(ACEngine.Step.RelatedFields9, true);
            }
            if (MyACE.HasTimeline)
            {
                MyACE.DoStep(ACEngine.Step.Timeline, true);
            }
            //if (MyACE.HasDoc)
            //{
            //    docDB.DocumentRow dr = (docDB.DocumentRow)MyACE.relTables["Document0"][0].Row;

            //    MyACE.DocumentDefaults(0 != 0);

            //}
            if (MyACE.HasBilling)
            {
                MyACE.DoStep(ACEngine.Step.Billing, true);
            }
        }