using System.Collections.Generic; using System.Threading.Tasks; using System; using Datamodels.BusinessModels; using Datamodels.DatabaseModels; using Datamodels.SearchModels; using System.Linq.Expressions; namespace Repositories.Interfaces { public interface IFwMariaSearchRepo { Task>> GetAllAddresses(); /// /// Get Filtered Data from DB Provider without sorting /// /// Object describing filters /// From row /// To Row (-1 for all rows) /// Table- and FieldDefinitions to load from /// Result Object with Result information and list of DataObjects Task>> GetFilteredData (List expressions, long skip = 0, long take = -1) where T: IEntityClass; /// /// Get all Data from query field definition sorted by sortModel /// /// Table and Field Descriptions to Query from /// Sorting Definitions /// Result Object with Result information and list of DataObjects Task GetAllSortedData (TableModel queryFieldDef, List sortModel); /// /// Get filtered and sorted DB Provider with given range of records /// /// Table- and Field Description to Query from /// Object describing filter /// Sorting Definitions /// From Row /// To Row (-1) for all rows /// Result Object with Result information and list of DataObjects Task GetDataFilteredAndSorted(List filter, List sortModel, long skip=0, long take=-1); /// /// Get Blob String from specific Field in specific Table - works only with id long fields /// /// Name of Table /// Name of Field /// id value of Record /// String with Blob data Task GetBlobData(string tableName, string fieldName, long id); } }