IAzureCosmosDBRepository.cs 1.3 KB

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. namespace TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces
  6. {
  7. public interface IAzureCosmosDBRepository
  8. {
  9. Task<T> Save<T>(T entity) ;
  10. Task<T> Update<T>(T entity);
  11. Task<string> ReplaceObject<T>(T entity, string key);
  12. Task<string> ReplaceObject<T>(T entity, string key, string partitionKey);
  13. Task<List<T>> FindAll<T>();
  14. Task<string> DeleteAsync<T>(string id);
  15. Task<string> DeleteAsync<T>(string id, string partitionKey);
  16. Task<T> DeleteAsync<T>(T entity);
  17. Task<List<T>> FindSQL<T>(string sql);
  18. Task<List<T>> FindSQL<T>(string sql, bool isPK);
  19. Task<List<T>> FindLinq<T>(Func<IQueryable<object>, object> singleOrDefault);
  20. Task<List<T>> FindByParams<T>(Dictionary<string, object> dict);
  21. Task<List<T>> FindByDict<T>(Dictionary<string, object> dict, bool isPK);
  22. Task<List<T>> SaveAll<T>(List<T> enyites);
  23. Task<List<T>> UpdateAll<T>(Dictionary<string, object> dict, Dictionary<string, object> updateFilters, List<string> deleteKeys = null);
  24. Task<List<T>> DeleteAll<T>(Dictionary<string, object> dict);
  25. Task<IQueryable<dynamic>> FindByDict(string CollectionName, string PartitionKey, Dictionary<string, object> dict);
  26. }
  27. }