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 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();
            }
        }