using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using xModels.Base; using xModels.Dtos; namespace xModels.Interfaces { public interface IXEntityControllerActions where TEntity : XBaseEntity { // #region Retrieve ... Task> Get ( [FromRoute] TKey id, [FromQuery] bool ignoreSoftDeleteds = true, [FromQuery] bool containsDetail = false ); Task>> GetAll ( [FromQuery] bool ignoreSoftDeleteds = true, [FromQuery] bool containsDetail = false ); Task> FindOne ( [FromRoute] string query, [FromQuery] bool ignoreSoftDeleteds = true, [FromQuery] bool containsDetail = false ); Task>> FindMany ( [FromRoute] string query, [FromQuery] bool ignoreSoftDeleteds = true, [FromQuery] bool containsDetail = false ); Task>> Query ( [FromQuery] XQuery query, [FromQuery] bool ignoreSoftDeleteds = true ); // // TODO: Fix this ... // Task>> RequestPage ( // [FromQuery] XPageRequest request, [FromQuery] bool ignoreSoftDeleteds = true, [FromQuery] bool containsDetail = false // ); #endregion // #region Add ... Task> Add (TEntity item); Task> AddOrUpdate (TEntity item); Task AddMany (XBaseRangeRequest request); #endregion // #region Update ... Task> Update ( [FromRoute] TKey id, [FromBody] TEntity item ); Task> UpdateMany ( XBaseRangeRequest request ); #endregion // #region Exists ... Task> IsExists ( [FromRoute] TKey id, bool ignoreSoftDeletedss = true ); #endregion // #region Remove ... Task> Remove ( [FromRoute] TKey id, bool softDelete = true ); Task RemoveMany ( XBaseRangeRequest request, bool softDelete = true ); #endregion } }