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 IRepositoryPE
    {
        int Count();

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

        void Insert(PlatnosciEcard entity);

        void Delete(PlatnosciEcard entity);

        void Update(PlatnosciEcard entity);

        PlatnosciEcard FindOne(int id);

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

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

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

        IList<PlatnosciEcard> FindAll();

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

        IQueryable<PlatnosciEcard> Find();

        IQueryable<PlatnosciEcard> Find(int id);

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