BExIS.Web.Shell.Areas.DDM.Helpers.SearchUIHelper.ConvertStructuredDataStructureToDataTable C# (CSharp) Method

ConvertStructuredDataStructureToDataTable() public static method

public static ConvertStructuredDataStructureToDataTable ( StructuredDataStructure sds ) : DataTable
sds BExIS.Dlm.Entities.DataStructure.StructuredDataStructure
return System.Data.DataTable
        public static DataTable ConvertStructuredDataStructureToDataTable(StructuredDataStructure sds)
        {
            DataTable dt = new DataTable();

            dt.TableName = "DataStruture";
            dt.Columns.Add("VariableName");
            dt.Columns.Add("Optional");
            dt.Columns.Add("VariableId");
            dt.Columns.Add("ShortName");
            //dt.Columns.Add("Parameters");
            dt.Columns.Add("Description");
            dt.Columns.Add("Unit");
            dt.Columns.Add("DataType");

            DataStructureManager dsm = new DataStructureManager();
            StructuredDataStructure datastructure = dsm.StructuredDataStructureRepo.Get(sds.Id);
            if (datastructure != null)
            {
                List<Variable> variables =  SortVariablesOnDatastructure(datastructure.Variables.ToList(), datastructure);

                foreach (Variable var in variables)
                {
                    Variable sdvu = dsm.VariableRepo.Get(var.Id);

                    DataRow dr = dt.NewRow();
                    if (sdvu.Label != null)
                        dr["VariableName"] = sdvu.Label;
                    else
                        dr["VariableName"] = "n/a";

                    dr["Optional"] = sdvu.IsValueOptional.ToString();

                    if (sdvu.Label != null)
                        dr["VariableId"] = sdvu.Id;
                    else
                        dr["VariableId"] = "n/a";

                    if (sdvu.DataAttribute.DataType != null)
                        dr["ShortName"] = sdvu.DataAttribute.ShortName;
                    else
                        dr["ShortName"] = "n/a";

                    //if (sdvu.Parameters.Count > 0) dr["Parameters"] = "current not shown";
                    //else dr["Parameters"] = "n/a";

                    if (sdvu.Description != null || sdvu.Description != "")
                        dr["Description"] = sdvu.Description;
                    else
                        dr["Description"] = "n/a";

                    if (sdvu.Unit != null)
                        dr["Unit"] = sdvu.Unit.Name;
                    else
                        dr["Unit"] = "n/a";

                    if (sdvu.DataAttribute.DataType != null)
                        dr["DataType"] = sdvu.DataAttribute.DataType.Name;
                    else
                        dr["DataType"] = "n/a";

                    dt.Rows.Add(dr);
                }
            }
            return dt;
        }