using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using Platnosci.Core.Interface;
using Platnosci.Core.Linq;

namespace Platnosci.Core.Interface
{
    public interface IRepositoryPT
    {
        int Count();

        int Count(Expression<Func<PotwierdzeniaEcard, bool>> expression);

        void Insert(PotwierdzeniaEcard entity);

        void Delete(PotwierdzeniaEcard entity);

        void Update(PotwierdzeniaEcard entity);

        PotwierdzeniaEcard FindOne(int id);

        PotwierdzeniaEcard FindOne(Expression<Func<PotwierdzeniaEcard, bool>> expression);

        bool TryFindOne(Expression<Func<PotwierdzeniaEcard, bool>> expression, out PotwierdzeniaEcard entity);

        bool Exists(Expression<Func<PotwierdzeniaEcard, bool>> expression);

        IList<PotwierdzeniaEcard> FindAll();

        IList<PotwierdzeniaEcard> FindAll(Expression<Func<PotwierdzeniaEcard, bool>> expression);

        IQueryable<PotwierdzeniaEcard> Find();

        IQueryable<PotwierdzeniaEcard> Find(int id);

        IQueryable<PotwierdzeniaEcard> Find(Expression<Func<PotwierdzeniaEcard, bool>> expression);
    }
}
