internal string CreateInsertValuesList() { var propertiesWithColumnAttr = GetType().GetProperties().Where(p => p.GetCustomAttribute <IsColumn>() != null).ToArray(); var valueList = new StringBuilder(); if (propertiesWithColumnAttr.Length == 0) { throw new InvalidOperationException("There are no IsColumn attributes on this object"); } for (var index = 0; index < propertiesWithColumnAttr.Length; index++) { var property = propertiesWithColumnAttr[index]; var column = property.GetCustomAttribute <IsColumn>(); var value = property.GetValue(this); var parameterName = RQuery.AddParameter(value, column.ColumnName); valueList.Append($"@{parameterName}"); if (index + 1 < propertiesWithColumnAttr.Length) { valueList.Append(","); } } return(valueList.ToString()); }
internal string CreateUpdateValuesList(string[] columnsToUpdate) { var updateList = new StringBuilder(); var columnNames = GetColumnNames(true).Where(cn => columnsToUpdate.Length == 0 || columnsToUpdate.Any(cu => cu == cn)).ToArray(); if (columnNames.Length == 0) { throw new InvalidOperationException("Could not generate column names. If you specified a column list make sure it matches the IsColumn attributes on your object, otherwise ensure that there are IsColumn attributes applied"); } for (var index = 0; index < columnNames.Length; index++) { var columnName = columnNames[index]; var property = GetPropertyByIsColumnAttribute(columnName); if (property == null) { continue; } var value = property.GetValue(this); var parameterName = RQuery.AddParameter(value, columnName); updateList.Append($"{columnName} = {parameterName}"); if (index + 1 < columnNames.Length) { updateList.Append(","); } } return(updateList.ToString()); }
public NonQuery <T> Delete(T instance) { RQuery.DtoInstance = instance; var parameter = RQuery.AddParameter(instance.GetIdentityColumnValue(), instance.GetIdentityColumnName()); RQuery.GeneratedSql.Append($"DELETE FROM {instance.GetTableName()} WHERE {instance.GetIdentityColumnName()} = {parameter}"); return(new NonQuery <T>()); }
//public RDataSet(string name) //{ // Name = name; // Fields = new List<RDataSetField>(); // Query1 = new RQuery(); // DataSetInfo1 = new RDataSetInfo(); //} /// <summary> /// Create RDataSet from DataTable /// </summary> /// <param name="dTable"></param> public RDataSet(DataTable dTable) { if (dTable.TableName == "") { throw new Exception("Please set table name!"); } Query1 = new RQuery(); Name = GetDataSetName(dTable); DataSetInfo1 = new RDataSetInfo(dTable.TableName, dTable.DataSet.DataSetName, "", dTable.TableName); Fields = new List <RDataSetField>(); foreach (DataColumn dtCol in dTable.Columns) { RDataSetField field = new RDataSetField(dtCol.ColumnName, dtCol.DataType.ToString(), dtCol.ColumnName); Fields.Add(field); } }
public static void ProvideIsEqualTo(object value) { var parameterName = RQuery.AddParameter(value); RQuery.GeneratedSql.Append($" = {parameterName}"); }
public static void ProvideIsGreaterThan(object value) { var parameterName = RQuery.AddParameter(value); RQuery.GeneratedSql.Append($" > {parameterName}"); }