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?> GetPropertiesByOwnerIdAsync(Guid id); public Task GetPropertiesByOwnerIdAsync(Guid id, Action?> callback); //13. delete service provider public Task DeleteServiceProviderAsync(Guid serviceProviderId); //14 Update service provider public Task UpdateServiceProviderAsync(Company serviceProvider); //15. Create service provider public Task CreateServiceProviderAsync(Company serviceProvider); //16. (IServiceProviderDataService) get all service providers public Task> GetServiceProvidersAsync(); //18. (IServiceProviderDataService) get serviceProvider by Id public Task GetServiceProviderByIdAsync(Guid id); //19. (IServiceProviderDataService) Create product public Task CreateProductAsync(Product product); //20. (IServiceProviderDataService) Update product public Task UpdateProductAsync(Product product); //21. (IServiceProviderDataService) Delete product public Task DeleteProductAsync(Guid productId); //22. (IServiceProviderDataService) Create userProductMapping public Task CreateUserProductMappingAsync(UserProductMapping userProductMapping); //23. (IServiceProviderDataService) Get Assigned Users By ProductId public Task> GetUserProductMappingsByProductIdAsync(Guid productId); public Task GetUserProductMappingByIdAsync(Guid productId); //24. (IServiceProviderDataService) Remove Assigned Users from Product public Task RemoveUserProductMappingsByContextIdAsync(Guid productId); //25. (IServiceProviderDataService) Get QRCode by ProductId public Task GetQRCodeByProductIdAsync(Guid productId); public Task GetQRCodeByProductIdAndOwnerAffiliateIdAsync(Guid[] Ids); public Task> GetProductsForServiceProviderAsync(Guid serviceProviderId); public Task> GetAllProductsAsync(); public Task GetProductByIdAsync(Guid id); } }