public static ODataQuerier <T> Create(string name, XElement schema = null, string dataConverter = null, string dateFormatter = null, string format = null) { Database database = new DatabaseManufacturer().Create(name); XElement xSchema = schema ?? new PrimarySchemaProvider().GetSchema(name); string sConverter; if (string.IsNullOrWhiteSpace(dataConverter)) { if (typeof(T) == typeof(XElement)) { sConverter = "xml"; } else if (typeof(T) == typeof(string)) { sConverter = "json"; } else { throw new NotSupportedException(typeof(T).ToString()); } } else { sConverter = dataConverter; } DataConverter <T> oDataConverter = new DataConverterManufacturer().Create <T>(sConverter); DateFormatter formatter; if (string.IsNullOrWhiteSpace(dateFormatter)) { if (oDataConverter is DataConverter <XElement> ) { formatter = new DotNETDateFormatter(); } else if (oDataConverter is DataConverter <string> ) { formatter = new JsonNETFormatter() { TimezoneOffset = schema.GetTimezoneOffset() }; } else { throw new ArgumentNullException("dateFormatter"); } } else { formatter = new DateFormatterManufacturer().Create(dateFormatter, schema.GetTimezoneOffset(), format); } oDataConverter.DateFormatter = formatter; return(new ODataQuerier <T>(database, xSchema, oDataConverter)); }
protected static int Count(string name, XElement schema, string entity, string filter, object parameterValues) { ParameterCollection parameterCollection = new ParameterCollection(); Query query = new Query(entity, null, filter, null, schema, parameterCollection); SetParameterValues(parameterCollection, parameterValues); Database database = new DatabaseManufacturer().Create(name); return(database.Count(query)); }
public static DateTime GetUtcNow(string name) { Database database = new DatabaseManufacturer().Create(name); return(database.GetUtcNow()); }