internal SqlQueryBuilder(string tableName, ISqlAdapter adapter) { TableNames.Add(tableName); Adapter = adapter; Parameters = new ExpandoObject(); CurrentParamIndex = 0; }
public FullFactorialDOEStudy(string name, string description, WorkflowComponent workflow, List <Data> factors, List <decimal> startingValues, List <decimal> stepSizes, List <int> noOfLevels, List <Data> responses) : base(name, description, workflow, factors, responses) { base.StudiedComponent = workflow; this.startingValues = startingValues; this.stepSizes = stepSizes; this.noOfLevels = noOfLevels; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < factors.Count; i++) { string columnHeader = factors[i].Name; ColumnNames.Add(columnHeader); if (factors[i] is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(((IntegerData)factors[i]).Unit); } else if (factors[i] is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)factors[i]).DecimalPlaces); ColumnUnits.Add(((DoubleData)factors[i]).Unit); } } for (int i = 0; i < responses.Count; i++) { string columnHeader = responses[i].Name; ColumnNames.Add(columnHeader); if (responses[i] is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(((IntegerData)responses[i]).Unit); } else if (responses[i] is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)responses[i]).DecimalPlaces); ColumnUnits.Add(((DoubleData)responses[i]).Unit); } } TableNames.Add(Name); Treatment = new FullFactorial("testFF", "", Project.ProjectPath + "\\DOE.sdf", workflow as Workflow, factors, startingValues, stepSizes, noOfLevels, responses); Treatment.CreateFolder(); }
public MissionStudy(string name, string description, WorkflowComponent studiedComponent, Mission mission, string parentName = "") : base(name, null, null, description, parentName) { StudiedComponent = studiedComponent; Mission = mission; SetIDColumn(); ModelDataInputs = studiedComponent.ModelDataInputs; foreach (Data input in ModelDataInputs) { SetColumn(input.Name, input); } ModelDataOutputs = studiedComponent.ModelDataOutputs; foreach (Data output in ModelDataOutputs) { SetColumn(output.Name, output); } TableNames.Add(Name); Treatment = new MissionTreatment(name, description, studiedComponent, mission); Treatment.CreateFolder(); }
public FullFactorialDOEStudySergio(string name, string description, WorkflowComponent studiedComponent, List <BoundedDesignVariableNoInitial> factors, List <Data> responses, bool createFolder, string parentName = "") : base(name, description, studiedComponent, factors.Select(f => f.Data).ToList(), responses, parentName) { base.StudiedComponent = studiedComponent; // Copy factors to avoid aliasing problems when editing studies Factors = factors.Select(f => f.Copy() as BoundedDesignVariableNoInitial).ToList(); Responses = responses; SetIDColumn(); foreach (BoundedDesignVariableNoInitial factor in Factors) { SetColumn(factor.Name, factor.Data); } foreach (Data response in Responses) { SetColumn(response.Name, response); } TableNames.Add(Name); Treatment = new FullFactorial("FullFactorial", "", studiedComponent, Factors, responses); if (createFolder) { Treatment.CreateFolder(); } }
public void Join(string originalTableName, string joinTableName, string leftField, string rightField) { var joinString = $"JOIN {Adapter.Table(joinTableName)} ON {Adapter.Field(originalTableName, leftField)} = {Adapter.Field(joinTableName, rightField)}"; TableNames.Add(joinTableName); JoinExpressions.Add(joinString); SplitColumns.Add(rightField); }
public void Join(string joinTableName, string commandText, JoinType joinType) { var join = GetJoinExpression(joinType); var joinString = $"{join} {Adapter.Table(joinTableName)} " + $"ON {commandText}"; TableNames.Add(joinTableName); JoinExpressions.Add(joinString); }
public void Join(string originalTableName, string joinTableName, string leftField, string rightField, JoinType joinType) { var join = GetJoinExpression(joinType); var joinString = $"{join} {Adapter.Table(joinTableName)} " + $"ON {Adapter.Field(originalTableName, leftField)} = {Adapter.Field(joinTableName, rightField)}"; TableNames.Add(joinTableName); JoinExpressions.Add(joinString); SplitColumns.Add(rightField); }
internal SqlQueryBuilder(string tableName, ISqlAdapter adapter, int paramCountIndex = 0) { if (adapter == null) { throw new InvalidOperationException("Set Adapter first, eg: SqlBuilder.SetAdapter(new SqlServerAdapter())"); } TableNames.Add(tableName); Adapter = adapter; Parameters = new ExpandoObject(); CurrentParamIndex = paramCountIndex; }
/// <summary> /// 映射数据同步领域上下文范围 /// </summary> /// <typeparam name="LocalEntity">本地实体</typeparam> /// <typeparam name="TService">服务器端数据同步服务对象</typeparam> static void Mapping <LocalEntity>() where LocalEntity : Pharos.Logic.LocalEntity.BaseEntity, new() { var type = typeof(LocalEntity); var key = type.ToString(); var titleAttr = Attribute.GetCustomAttribute(type, typeof(ExcelAttribute)) as ExcelAttribute; if (titleAttr != null) { TableNames.Add(key, titleAttr.Title); } Entities.Add(key, new LocalEntity()); }
public RandomDOEStudy(string name, string description, WorkflowComponent studiedComponent, List <Factor> factors, List <Data> responses, long samples, SamplingStrategy strategy, bool createFolder, string parentName = "") : base(name, description, studiedComponent, factors.Select(f => f.Data).ToList(), responses, parentName) { base.StudiedComponent = studiedComponent; // Copy factors to avoid aliasing problems when editing studies Factors = factors.Select(f => f.Copy()).ToList(); Responses = responses; Samples = samples; Strategy = strategy; SetIDColumn(); foreach (Factor factor in Factors) { SetColumn(factor.Name, factor.Data); } foreach (Data response in Responses) { SetColumn(response.Name, response); } TableNames.Add(Name); switch (strategy) { case SamplingStrategy.Random: Treatment = new RandomDoE(name, description, studiedComponent, Factors, responses, samples); break; case SamplingStrategy.LatinHypercube: Treatment = new LatinHypercube(name, description, studiedComponent, Factors, responses, samples); break; default: break; } if (createFolder) { Treatment.CreateFolder(); } }
private void SetTable() { DataSet ds = MainDAO.GetTableList(); try { foreach (DataRow x in ds.Tables[0].Rows) { if (x["TABLE_NAME"] != null) { Console.WriteLine("Table exists : " + x["TABLE_NAME"]); TableNames.Add(x["TABLE_NAME"].ToString()); } } nowtable = TableNames[0]; ExecuteTableChangeCommand(); } catch (Exception e) { Console.WriteLine(e.Message); return; } }
public RobustOptimisationStudy(string name, Treatment treatment, ExecutableComponent ec, OptimisationTemplate template, string parentName = "") : base(name, null, null, name, parentName) { Treatment = treatment; StudiedComponent = ec; var DesignVariables = template.DesignVariables.Select(v => new RobOptDesignVariable { Name = v.Name }).ToList(); var Objectives = template.Objectives.Select(o => new RobOptObjective { Name = o.Name, Type = o.Type }).ToList(); var Constraints = template.Constraints.Select(c => new RobOptConstraint { Name = c.Name, Type = c.Type, Value = c.Value }).ToList(); robOptTemplate = new RobOptTemplate() { DesignVariables = DesignVariables, Objectives = Objectives, Constraints = Constraints }; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < robOptTemplate.DesignVariables.Count(); i++) { string columnHeader = robOptTemplate.DesignVariables[i].Name; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Objectives.Count(); i++) { string columnHeader = robOptTemplate.Objectives[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Constraints.Count(); i++) { string columnHeader = robOptTemplate.Constraints[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } TableNames.Add("RobOptimAllResults"); TableNames.Add("RobOptimGenResults"); Template = template; }
public void InsertTo <TTo>() { TableNames.Add(LambdaResolver.GetTableName <TTo>()); }
public DetOptStudy(string name, string description, string parentName = "") : base(name, null, null, description, parentName) { // Create SQL statements to create tables, sqlStatement1 for OptimAllResults and sqlStatement2 for OptimGenResults sqlStatement1 = "create table OptimAllResults ("; sqlStatement2 = "create table OptimGenResults ("; sqlStatement1 += "ID int, "; sqlStatement2 += "ID int, Category int, "; #region Atif // Prepare results database foreach (var designVariable in OptimisationTemplate.DesignVariables) { string columnHeader = designVariable.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (designVariable.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (designVariable.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(designVariable.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(designVariable.Data.Unit); MinValues.Add(designVariable.LowerBound); MaxValues.Add(designVariable.UpperBound); } foreach (Objective objective in OptimisationTemplate.Objectives) { string columnHeader = objective.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (objective.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (objective.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(objective.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(objective.Data.Unit); MinValues.Add(Double.NaN); MaxValues.Add(Double.NaN); } foreach (Aircadia.ObjectModel.Treatments.Optimisers.Formulation.Constraint constraint in OptimisationTemplate.Constraints) { string columnHeader = constraint.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (constraint.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (constraint.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(constraint.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(constraint.Data.Unit); MinValues.Add(Double.NaN); MaxValues.Add(Double.NaN); } TableNames.Add("OptimAllResults"); TableNames.Add("OptimGenResults"); if (OptimisationTemplate.DesignVariables.Count() + OptimisationTemplate.Objectives.Count() + OptimisationTemplate.Constraints.Count() > 0) { sqlStatement1 = sqlStatement1.Remove(sqlStatement1.Length - 2); sqlStatement2 = sqlStatement2.Remove(sqlStatement2.Length - 2); } sqlStatement1 += ")"; sqlStatement2 += ")"; #endregion Atif }
//public DOEplusURQStudy(string name, string description, Model worflow, List<Data> factors, List<Data> responses) public DOEplusURQStudy(string name, string description, List <string> names, Treatment treatment, FullFactorial fullFactorialDOE, WorkflowComponent worflow) : base(name, description) { TreatmentURQ = treatment; this.names = names; //DOE factors Treatment = treatment; StudiedComponent = worflow; FullFactorialDOE = fullFactorialDOE; var DesignVariables = new List <RobOptDesignVariable>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[0])).GetLength(0); i++) { var designVariable = new RobOptDesignVariable { Name = ((string[, ])(Treatment.input_options.setuplist[0]))[i, 0] }; //designVariable.LowerBound = ; //designVariable.UpperBound = ; DesignVariables.Add(designVariable); } var Objectives = new List <RobOptObjective>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[1])).GetLength(0); i++) { var objective = new RobOptObjective { Name = ((string[, ])(Treatment.input_options.setuplist[1]))[i, 0] }; if (((string[, ])(Treatment.input_options.setuplist[1]))[i, 2] == "minimise") { objective.Type = ObjectiveType.Minimise; } else if (((string[, ])(Treatment.input_options.setuplist[1]))[i, 2] == "maximise") { objective.Type = ObjectiveType.Maximise; } Objectives.Add(objective); } var Constraints = new List <RobOptConstraint>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[2])).GetLength(0); i++) { var constraint = new RobOptConstraint { Name = ((string[, ])(Treatment.input_options.setuplist[2]))[i, 0] }; if (((string[, ])(Treatment.input_options.setuplist[2]))[i, 2] == "<=") { constraint.Type = ConstraintType.LessThanOrEqual; } else if (((string[, ])(Treatment.input_options.setuplist[2]))[i, 2] == ">=") { constraint.Type = ConstraintType.GreatorThanOrEqual; } constraint.Value = Convert.ToDouble(((string[, ])(Treatment.input_options.setuplist[2]))[i, 3]); Constraints.Add(constraint); } robOptTemplate = new RobOptTemplate() { DesignVariables = DesignVariables, Objectives = Objectives, Constraints = Constraints }; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < this.names.Count; i++) { string columnHeader = this.names[i]; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.DesignVariables.Count(); i++) { if (!this.names.Contains(robOptTemplate.DesignVariables[i].Name)) { string columnHeader = robOptTemplate.DesignVariables[i].Name; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } } for (int i = 0; i < robOptTemplate.Objectives.Count(); i++) { string columnHeader = robOptTemplate.Objectives[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Constraints.Count(); i++) { string columnHeader = robOptTemplate.Constraints[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } TableNames.Add("DOE"); }