using System; using System.Net.Http; using Kreta.BusinessLogic.Interfaces; using Kreta.Client.CoreApi; using Kreta.Naplo.BusinessLogic.V3.Naplo; using Kreta.Naplo.Domain.V3.Common; using Kreta.Naplo.Domain.V3.HaziFeladat; namespace Kreta.Naplo.BusinessLogic.V3.HaziFeladat { public class HaziFeladatFacade : NaploFacade { private readonly IFileServiceHelper _fileServiceHelper; private readonly ICoreApiClient _coreApiClient; public HaziFeladatFacade(MobileUser mobileUser) : base(mobileUser) { } public HaziFeladatFacade(MobileUser mobileUser, IFileServiceHelper fileServiceHelper) : base(mobileUser) { _fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper)); } public HaziFeladatFacade(MobileUser mobileUser, ICoreApiClient coreApiClient) : base(mobileUser) { _coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient)); } public HaziFeladatFacade(MobileUser mobileUser, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(mobileUser) { _fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper)); _coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient)); } public HaziFeladatResponse GetHaziFeladat(int id) => RunSubquery(() => HaziFeladatSubqueries.GetHaziFeladat(id, DefaultConnectionParameters)); public int SaveHaziFeladat(HaziFeladatCreateRequest request) => RunSubquery(() => HaziFeladatSubqueries.SaveHaziFeladat(request, DefaultConnectionParameters, _fileServiceHelper, _coreApiClient)); public void UpdateHaziFeladat(int id, HaziFeladatUpdateRequest request) => RunSubquery(() => HaziFeladatSubqueries.UpdateHaziFeladat(id, request, DefaultConnectionParameters, _fileServiceHelper, _coreApiClient)); public void DeleteHaziFeladat(int id) => RunSubquery(() => HaziFeladatSubqueries.DeleteHaziFeladat(id, DefaultConnectionParameters, _coreApiClient)); public void HaziFeladatCsatolmanyTorles(int id) => RunSubquery(() => HaziFeladatSubqueries.HaziFeladatCsatolmanyTorles(id, DefaultConnectionParameters, _fileServiceHelper)); } }