TourIAm/TIAMWebApp/Shared/Interfaces/IServiceProviderDataService.cs

57 lines
2.4 KiB
C#

using TIAM.Entities.Products;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAMWebApp.Shared.Application.Interfaces
{
public interface IServiceProviderDataService
{
//17. (IServiceProviderDataService) get service providers by ownerId
public Task<Dictionary<Guid, string>?> GetPropertiesByOwnerIdAsync(Guid id);
public Task GetPropertiesByOwnerIdAsync(Guid id, Action<Dictionary<Guid, string>?> callback);
//13. delete service provider
public Task<bool> DeleteServiceProviderAsync(Guid serviceProviderId);
//14 Update service provider
public Task<Company> UpdateServiceProviderAsync(Company serviceProvider);
//15. Create service provider
public Task<Company> CreateServiceProviderAsync(Company serviceProvider);
//16. (IServiceProviderDataService) get all service providers
public Task<List<Company>> GetServiceProvidersAsync();
//18. (IServiceProviderDataService) get serviceProvider by Id
public Task<Company?> GetServiceProviderByIdAsync(Guid id);
//19. (IServiceProviderDataService) Create product
public Task<Product> CreateProductAsync(Product product);
//20. (IServiceProviderDataService) Update product
public Task<bool> UpdateProductAsync(Product product);
//21. (IServiceProviderDataService) Delete product
public Task DeleteProductAsync(Guid productId);
//22. (IServiceProviderDataService) Create userProductMapping
public Task<bool> CreateUserProductMappingAsync(UserProductMapping userProductMapping);
//23. (IServiceProviderDataService) Get Assigned Users By ProductId
public Task<List<UserProductMapping>> GetUserProductMappingsByProductIdAsync(Guid productId);
public Task<UserProductMapping> GetUserProductMappingByIdAsync(Guid productId);
//24. (IServiceProviderDataService) Remove Assigned Users from Product
public Task RemoveUserProductMappingsByContextIdAsync(Guid productId);
//25. (IServiceProviderDataService) Get QRCode by ProductId
public Task<string> GetQRCodeByProductIdAsync(Guid productId);
public Task<IEnumerable<Product>> GetProductsForServiceProviderAsync(Guid serviceProviderId);
public Task<List<Product>> GetAllProductsAsync();
public Task<Product> GetProductByIdAsync(Guid id);
}
}