public static List<SimpleFormulaModel> GetFormulaForUser(int userId) { var formulas = new List<SimpleFormulaModel>(); var sql = "SELECT * FROM " + TblFormulas; if (CurrentDbIsShared) { sql += " WHERE UserId= " + userId; } var reader = GetReader(sql); if (reader != null) { try { while (reader.Read()) { var formula = new SimpleFormulaModel { FormulaId = reader.GetInt32(0), UserId = reader.GetInt32(1), IsSnapShot = reader.GetBoolean(2), Name = reader.GetString(3), Formula = reader.GetString(4), UsedColumns = reader.GetString(5).Split(',').ToList(), }; if (formula.UsedColumns.Count == 1 && formula.UsedColumns[0] == "") { formula.UsedColumns.Clear(); } var elements = reader.GetString(6).Split('@'); formula.Elements = new List<ElementStructure>(); foreach (var element in elements) { ElementType type; if (Enum.TryParse(element.Split('^')[0], out type)) { var value = element.Split('^')[1]; var elementStruc = new ElementStructure { Type = type, Value = value }; formula.Elements.Add(elementStruc); } } formulas.Add(formula); } } finally { reader.Close(); } } return formulas; }
public static List<SimpleFormulaModel> GetFormulaForTimeSlice(int tsId) { var formulas = new List<SimpleFormulaModel>(); var sql = "SELECT * FROM " + TblFormulaTsRelations + " LEFT JOIN " + TblFormulas + " ON " + TblFormulaTsRelations + ".FormulaID = " + TblFormulas + ".ID" + " WHERE " + TblFormulaTsRelations + ".TsID = '" + tsId + "' AND " + TblFormulas + ".SSorTS = false ;"; var reader = GetReader(sql); if (reader != null) { try { while (reader.Read()) { var formula = new SimpleFormulaModel { FormulaId = reader.GetInt32(3), UserId = reader.GetInt32(4), IsSnapShot = reader.GetBoolean(5), Name = reader.GetString(6), Formula = reader.GetString(7), UsedColumns = reader.GetString(8).Split(',').ToList(), }; if (formula.UsedColumns.Count == 1 && formula.UsedColumns[0]=="") { formula.UsedColumns.Clear(); } var elements = reader.GetString(9).Split('@'); formula.Elements = new List<ElementStructure>(); foreach (var element in elements) { ElementType type; if (Enum.TryParse(element.Split('^')[0], out type)) { var value = element.Split('^')[1]; var elementStruc = new ElementStructure { Type = type, Value = value }; formula.Elements.Add(elementStruc); } } formulas.Add(formula); } } finally { reader.Close(); } } return formulas; }