public void ValidateWF(lmDatasets.ActivityConfig.SeriesRow sr) { Clear(); foreach (lmDatasets.ActivityConfig.ACSeriesRow acsr in acMng.DB.ACSeries.Select("seriesid=" + sr.SeriesId)) { if (acMng.GetACSeries().IsStart(acsr)) { //put rules that apply to start steps here StartTypeRule(acsr); } if (acMng.GetACSeries().IsFinish(acsr)) { //put rules that apply to finish steps here FinishTypeRule(acsr); } //put rules that test individual related field records here RelatedFieldsVerify(acsr); ConnectorRules(acsr); //put general rules here TemplateRule(acsr); InternalDecisionRule(acsr); } }
public ActivityConfig.SeriesRow Clone(ActivityConfig.SeriesRow oldSeries) { //copy series row ActivityConfig.SeriesRow newSeries = mySeriesDT.NewSeriesRow(); newSeries.ItemArray = oldSeries.ItemArray; mySeriesDT.AddSeriesRow(newSeries); newSeries.CreatesFile = oldSeries.CreatesFile; newSeries.OncePerFile = oldSeries.OncePerFile; newSeries.ConfirmMultipleInstance = oldSeries.ConfirmMultipleInstance; newSeries.SingleInstancePerFile = oldSeries.SingleInstancePerFile; newSeries.Obsolete = oldSeries.Obsolete; newSeries.ContainerFileId = 0; newSeries.SeriesDescEng = "Copy of " + newSeries.SeriesDescEng; newSeries.SeriesDescFre = "Copie de " + newSeries.SeriesDescFre; System.Collections.Generic.Dictionary <int, int> concordance = new System.Collections.Generic.Dictionary <int, int>(); //copy acseries rows foreach (ActivityConfig.ACSeriesRow acsr in oldSeries.GetACSeriesRows()) { ActivityConfig.ACSeriesRow newAcsr = myA.DB.ACSeries.NewACSeriesRow(); newAcsr.ItemArray = acsr.ItemArray; newAcsr.SeriesId = newSeries.SeriesId; myA.DB.ACSeries.AddACSeriesRow(newAcsr); concordance.Add(acsr.ACSeriesId, newAcsr.ACSeriesId); newAcsr.Finish = acsr.Finish; newAcsr.Start = acsr.Start; newAcsr.OnceOnly = acsr.OnceOnly; newAcsr.Seq = acsr.Seq; newAcsr.InitialStep = acsr.InitialStep; newAcsr.StepType = acsr.StepType; myA.GetACSeries().ReplaceRelFields(newAcsr, acsr, true); //foreach (ActivityConfig.ACConvertRow accr in acsr.GetACConvertRowsByACSeries_ACConvert()) //{ // lmDatasets.ActivityConfig.ACConvertRow newAcc = myA.DB.ACConvert.NewACConvertRow(); // newAcc.ItemArray = accr.ItemArray; // newAcc.ACSeriesId = accr.ACSeriesId; // myA.DB.ACConvert.AddACConvertRow(newAcc); //} } foreach (ActivityConfig.ACSeriesRow acsr in oldSeries.GetACSeriesRows()) { foreach (ActivityConfig.ACDependencyRow acdr in acsr.GetACDependencyRowsByNextSteps()) { lmDatasets.ActivityConfig.ACDependencyRow newAcd = myA.DB.ACDependency.NewACDependencyRow(); newAcd.ItemArray = acdr.ItemArray; newAcd.CurrentStepId = concordance[acdr.CurrentStepId]; if (concordance.ContainsKey(acdr.NextStepId)) { newAcd.NextStepId = concordance[acdr.NextStepId]; } else { newAcd.NextStepId = acdr.NextStepId; } myA.DB.ACDependency.AddACDependencyRow(newAcd); newAcd.LinkType = acdr.LinkType; if (!acdr.IsDescEngNull()) { newAcd.DescEng = acdr.DescEng; } if (!acdr.IsDescFreNull()) { newAcd.DescFre = acdr.DescFre; } } } return(newSeries); }