// *********************************************************************** // Assembly : Inno.Lib // Author : FH // Created : 03-10-2015 // // Last Modified By : FH // Last Modified On : 02-24-2022 // *********************************************************************** // // Copyright (C) 2022 FCS Frede's Computer Services. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see [https://www.gnu.org/licenses] // // // *********************************************************************** using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; namespace FCS.Lib.Utility { /// /// Interface IRepositoryAsync /// /// The type of the t entity. public interface IAsyncReadonlyRepo where TEntity : class { /// /// Alls this instance. /// /// IQueryable<TEntity>. IQueryable All(); /// /// Alls the asynchronous. /// /// The predicate. /// Task<IList<TEntity>>. Task> AllAsync(Expression> predicate); /// /// Anies the asynchronous. /// /// The predicate. /// Task<System.Boolean>. Task AnyAsync(Expression> predicate); /// /// Finds the asynchronous. /// /// The predicate. /// Task<TEntity>. Task FindAsync(Expression> predicate); /// /// Firsts the asynchronous. /// /// The predicate. /// Task<TEntity>. Task FirstAsync(Expression> predicate); /// /// Firsts the or default asynchronous. /// /// The predicate. /// Task<TEntity>. Task FirstOrDefaultAsync(Expression> predicate); /// /// Anies the specified predicate. /// /// The predicate. /// true if XXXX, false otherwise. bool Any(Expression> predicate); /// /// Gets the by identifier. /// /// The identifier. /// TEntity. TEntity GetById(string id); } }