using System.Linq.Expressions;
using salesbook.Shared.Core.Dto;
using salesbook.Shared.Core.Dto.Activity;
using salesbook.Shared.Core.Dto.Contact;
using salesbook.Shared.Core.Entity;
using salesbook.Shared.Core.Interface;

namespace salesbook.Web.Core.Services;

public class ManageDataService : IManageDataService
{
    public Task<List<T>> GetTable<T>(Expression<Func<T, bool>>? whereCond = null) where T : new()
    {
        throw new NotImplementedException();
    }

    public Task<List<AnagClie>> GetClienti(WhereCondContact? whereCond = null)
    {
        throw new NotImplementedException();
    }

    public Task<List<PtbPros>> GetProspect(WhereCondContact? whereCond = null)
    {
        throw new NotImplementedException();
    }

    public Task<List<ContactDTO>> GetContact(WhereCondContact whereCond, DateTime? lastSync = null)
    {
        throw new NotImplementedException();
    }

    public Task<ContactDTO?> GetSpecificContact(string codAnag, bool IsContact)
    {
        throw new NotImplementedException();
    }

    public Task<List<ActivityDTO>> GetActivityTryLocalDb(WhereCondActivity whereCond)
    {
        throw new NotImplementedException();
    }

    public Task<List<ActivityDTO>> GetActivity(WhereCondActivity whereCond, bool useLocalDb = false)
    {
        throw new NotImplementedException();
    }

    public Task InsertOrUpdate<T>(T objectToSave)
    {
        throw new NotImplementedException();
    }

    public Task InsertOrUpdate<T>(List<T> listToSave)
    {
        throw new NotImplementedException();
    }

    public Task DeleteProspect(string codPpro)
    {
        throw new NotImplementedException();
    }

    public Task Delete<T>(T objectToDelete)
    {
        throw new NotImplementedException();
    }

    public Task DeleteActivity(ActivityDTO activity)
    {
        throw new NotImplementedException();
    }

    public Task<List<ActivityDTO>> MapActivity(List<StbActivity>? activities)
    {
        throw new NotImplementedException();
    }

    public Task ClearDb()
    {
        throw new NotImplementedException();
    }
}