public string GenerateUpdateStatement(ArtWork artwork) { var properties = artwork.GetType().GetProperties(); var sqlStatement = new StringBuilder(""); foreach (var property in properties) { var propertyValue = artwork.GetType().GetProperty(property.Name)?.GetValue(artwork); if (Properties.ContainsKey(property.Name) && propertyValue != null) { sqlStatement.Append($"{Properties[property.Name]} = "); switch (propertyValue) { case string _: sqlStatement.Append($"'{propertyValue}', "); break; case DateTime _: sqlStatement.Append($"'{propertyValue:MM/dd/yyyy}', "); break; case bool value: sqlStatement.Append($"{(value ? 1 : 0)}, "); break; default: sqlStatement.Append($"{propertyValue}, "); break; } } } if (sqlStatement.ToString().Contains(",")) { sqlStatement.Remove(sqlStatement.ToString().LastIndexOf(",", StringComparison.Ordinal), 1); } return($"UPDATE artwork_table " + $"SET " + sqlStatement + $"WHERE id = {artwork.Id};"); }
private string GetSqlValues(ArtWork artwork) { var properties = artwork.GetType().GetProperties(); var sqlStatement = new StringBuilder(""); foreach (var property in properties) { var propertyValue = artwork.GetType().GetProperty(property.Name)?.GetValue(artwork); if (Properties.ContainsKey(property.Name) && propertyValue != null) { switch (propertyValue) { case string _: sqlStatement.Append($"'{propertyValue}', "); break; case DateTime _: sqlStatement.Append($"'{propertyValue:MM/dd/yyyy}', "); break; case bool value: sqlStatement.Append($"{(value ? 1 : 0)}, "); break; default: sqlStatement.Append($"{propertyValue}, "); break; } } } if (sqlStatement.ToString().Contains(",")) { sqlStatement.Remove(sqlStatement.ToString().LastIndexOf(",", StringComparison.Ordinal), 2); } return(sqlStatement.ToString()); }
private string GetSqlProperties(ArtWork artwork) { var properties = artwork.GetType().GetProperties(); var sqlStatement = new StringBuilder(""); foreach (var property in properties) { var propertyValue = artwork.GetType().GetProperty(property.Name)?.GetValue(artwork); if (Properties.ContainsKey(property.Name) && propertyValue != null) { sqlStatement.Append($"{Properties[property.Name]}, "); } } if (sqlStatement.ToString().Contains(",")) { sqlStatement.Remove(sqlStatement.ToString().LastIndexOf(",", StringComparison.Ordinal), 2); } return(sqlStatement.ToString()); }