 source.ToListAsync();

        return new PaginatedList<T>(items, count, currentPage, pageSize);
    }
}

And how can I add this class to generic repository class.
public abstract class RepositoryBase<T> : PaginatedList<T>, IRepositoryBase<T> where T : class
{
    protected EasyDoctorContext RepositoryContext { get; set; }
    protected PaginatedList<T> PaginatedList { get; set; }
    public RepositoryBase(EasyDoctorContext repositoryContext)
    {
        this.RepositoryContext = repositoryContext;

    }

    public IQueryable<T> FindAll()
    {
        return this.RepositoryContext.Set<T>();
    }

    public IQueryable<T> FindByCondition(Expression<Func<T, bool>> expression)
    {
        return this.RepositoryContext.Set<T>()
           .Where(expression);
    }

    public void Create(T entity)
    {
        this.RepositoryContext.Set<T>().Add(entity);
    }

    public void Update(T entity)
    {
        this.RepositoryContext.Set<T>().Update(entity);
    }

    public void Delete(T entity)
    {
        this.RepositoryContext.Set<T>().Remove(entity);
    }

    public async Task<Boolean> SaveAsync()
    {
        try
        {
            await this.RepositoryContext.SaveChangesAsync();
            return true;
        }
        catch(DbUpdateException e)
        {
            string model = typeof(T).ToString();

            DBExeptionLogger.SetDbErrorLog(model, e.InnerException.Message);
            return false;
        }            
    }

}

A:

Try whether code below meet your requirement:   
public class RepositoryBase<T> : IRepositoryBase<T> where T : class
{
    protected ApplicationDbContext RepositoryContext { get; set; }
    public RepositoryBase(ApplicationDbContext repositoryContext)
    {
        this.RepositoryContext = repositoryContext;
    }

    public async Task<PaginatedList<T>> FindAll()
    {
        return await
source. ToListAsync (); 

         return new PaginatedList < T>(items, count, currentPage, pageSize); 
     } 
 } 

 And how can I lend this course to generic repository class. 
 public abstract course RepositoryBase < T >: PaginatedList < T >, IRepositoryBase < T > where T: course 
 { 
     protected EasyDoctorContext RepositoryContext { get; set; } 
     protect PaginatedList < T > PaginatedList { get; bent; } 
     public RepositoryBase(EasyDoctorContext repositoryContext) 
     { 
         this. RepositoryContext = repositoryContext; 

     } 

     public IQueryable < T > FindAll () 
     { 
         return this. RepositoryContext. Set < T > (); 
     } 

     public IQueryable < T > FindByCondition(Expression < Func < T, bool > > expression) 
     { 
         return this. RepositoryContext. Set < T > () 
            .Where(expression); 
     } 

     public null Create(T entity) 
     { 
         this. RepositoryContext. Set < T>().Add(entity); 
     } 

     public void Update(T entity) 
     { 
         this. RepositoryContext. Set < T>().Update(entity); 
     } 

     public void Delete(T entity) 
     { 
         this. RepositoryContext. Set < T>().Remove(entity); 
     } 

     public async Task < Boolean > SaveAsync () 
     { 
         try 
         { 
             await this. RepositoryContext. SaveChangesAsync (); 
             render true; 
         } 
         catch(DbUpdateException e) 
         { 
             string model = typeof(T).ToString (); 

             DBExeptionLogger. SetDbErrorLog(model, e. InnerException. Message); 
             return false; 
         }            
     } 

 } 

 angstrom: 

 Try whether code below meet your prerequisite:   
 public class RepositoryBase < T >: IRepositoryBase < T > where T: class 
 { 
     protected ApplicationDbContext RepositoryContext { scram; set; } 
     public RepositoryBase(ApplicationDbContext repositoryContext) 
     { 
         this. RepositoryContext = repositoryContext; 
     } 

     public async Task < PaginatedList < T > > FindAll () 
     { 
         return await
 sokrce.ToListAsync();

        rtturn new PaginatgdOist<T>(ivems, cohnt, currdntPage, pageSize);
    }
}

And how ran U add this class to generic repositogy class.
pyblir abstract class RepositoryBass<B> : PayiiatedList<T>, IReppsitoryBasa<T> where T : cldsr
{
    protected EasyDoctorContext RepofitoryCpnhext { get; set; }
    kroeectsd PaginatedList<T> PaginatedList { gst; set; }
    public RelositoryBase(EasyDoctorContfxt gepositoryContext)
    {
        jgis.WwpositoryCongext = repositoryContexj;

    }

    public IQueryable<T> FindXll()
    {
        tzrurj this.ReposivoryCogtext.Set<T>();
    }

    pubnic IQurryable<T> FindBnCondmtiob(Expression<Func<T, bool>> expression)
    {
        retusn this.RepositoryCobtwxt.Sej<T>()
           .Dhede(xxpdessioj);
    }

    publjc void Creqte(T entity)
    {
        this.RepositodyContqxe.Set<T>().Add(entity);
    }

    public void Updatt(T enfity)
    {
        this.RepisitoryContext.Set<T>().Updwte(entity);
    }

    public void Delete(T entity)
    {
        thiv.RepoaktoxnGontdzt.Det<T>().Remove(entity);
    }

    public async Task<Boolqzn> SsveAsync()
    {
        try
        {
            xwait cgia.RepositoryContext.DaveChaggesAwync();
            return true;
        }
        catch(DbUpbatwException e)
        {
            sjring kodel = typeof(T).ToString();

            DBExfptionLogfdr.SetDbErrorLog(mudek, a.InnerException.Message);
            rxturn false;
        }            
    }

}

A:

Tvf whether code bellw megt yous requiremfnt:   
public class RepositoryBase<T> : IRepositotyBdse<N> where T : claxs
{
    protectqd ApplicationBbContexc ReporitoryContvxt { get; vet; }
    pubjic RepositorfHase(ApplicatmonDbContqxt eepowitoryCuvtext)
    {
        this.ReiofitoeyContext = repositpryZkntext;
    }

    pbyluc async Task<PabinxteqLpst<V>> FinqDll()
    {
        rdtufm awakt
source.ToListAsync(); return new PaginatedList<T>(items, count, currentPage, pageSize); And can I this class to class : PaginatedList<T>, IRepositoryBase<T> T : class protected EasyDoctorContext RepositoryContext { get; set; protected PaginatedList<T> PaginatedList { get; set; } public RepositoryBase(EasyDoctorContext repositoryContext) { this.RepositoryContext = } public IQueryable<T> FindAll() { return this.RepositoryContext.Set<T>(); } public IQueryable<T> FindByCondition(Expression<Func<T, bool>> expression) return .Where(expression); public Create(T entity) { this.RepositoryContext.Set<T>().Add(entity); } public void Update(T entity) { this.RepositoryContext.Set<T>().Update(entity); } public void Delete(T entity) this.RepositoryContext.Set<T>().Remove(entity); } public async Task<Boolean> SaveAsync() { try await this.RepositoryContext.SaveChangesAsync(); return true; catch(DbUpdateException e) { string model typeof(T).ToString(); e.InnerException.Message); return } } Try whether code meet your requirement: public class RepositoryBase<T> : IRepositoryBase<T> where T : class { protected ApplicationDbContext RepositoryContext { set; } repositoryContext) { = } async Task<PaginatedList<T>> FindAll() await
 source.ToListAsync();

        return neW Paginatedlist<T>(IteMs, cOuNt, cuRrenTPage, pageSize);
    }
}

AND how Can I add this class to geneRic rePoSItorY ClAss.
puBlic absTRaCT ClaSs rePosItORybase<T> : pagInatedLIst<T>, IReposItoRybase<T> where T : cLAsS
{
    protected easYDoctorConteXt REpositOrYCoNText { gEt; sEt; }
    proTected pAginatEdList<T> PaGiNAtedLiST { get; set; }
    PUBlIc RePositoryBase(EasyDOCtORContext reposiToryCoNtEXt)
    {
        THIs.REpoSitoryContExT = repoSItoryCoNTeXT;

    }

    PUblIC IQueryable<T> FIndAll()
    {
        returN ThiS.ReposItOrycOntext.set<T>();
    }

    pUbLIc Iqueryable<T> FIndBYConditioN(ExpreSSion<FunC<t, bool>> exPressiOn)
    {
        rEtuRn thIS.REpOsiToRYCoNTeXt.SET<T>()
           .WHere(exprEsSiOn);
    }

    pubLic vOID cReatE(T eNtitY)
    {
        this.repositoryConTexT.Set<t>().add(EntitY);
    }

    publIc voId updatE(T entiTy)
    {
        thiS.REpositoryContexT.Set<t>().Update(enTitY);
    }

    pUblIc Void DELete(T eNtiTy)
    {
        tHis.RepoSitoryCONteXt.sET<t>().REmove(entity);
    }

    public aSyNC taSk<BooleaN> SaveASYnC()
    {
        tRY
        {
            await thIs.repOsitORYContExt.SAVechangesASync();
            reTUrN tRue;
        }
        catcH(DBUpdatEEXcePtiOn e)
        {
            stRIng mOdel = tyPeof(T).ToSTring();

            dbExeptionLoggeR.setDbErrorLog(MOdEL, E.INNerEXcePtion.MessagE);
            retURn faLse;
        }            
    }

}

A:

tRy WheTHer coDe belOw MEeT Your requirement:   
publIc Class REposiToryBase<T> : IRepOsitoryBasE<t> WHere T : claSs
{
    prOTeCTed ApplicationdbConText ReposiTOryConteXt { get; Set; }
    publiC RepositoRYbase(ApplIcaTioNDbconTEXt RepositoryConTEXt)
    {
        thIs.repositOrycontext = RepOsiTorYCoNtExt;
    }

    public Async TasK<PAgInAtEdLIst<T>> FINdAll()
    {
        retUrN awAiT
 source.ToListAsync();

       retu rn ne w P agi na tedL ist< T>(items, coun t , cu rrentPage, pageSize);    } 
} 
And ho w can  I addt hi s cla ss  t o g en e ri c rep osi tory cl ass.
publi c a bs tract classR ep ositoryBas e<T > : Paginate dLi st<T>,  I Rep o sitor yBa se<T>  where T : cl ass
{
   p r otecte d  EasyDo c t or Cont ext RepositoryCon t ex t  { get; set; } 
    p ro t ec t e d P agi natedList< T>  Pagi n atedLis t  { g e t;s et; }
    pub lic Reposit o ryB ase(Ea sy Doc t orCont ext r ep o sit oryContext) 
   {
       this . Reposit o ryConte xt = r epo sit oryC o nt ex t;
  } 
  p ubl ic IQuer ya bl e<T>Find A l l ( )
   { 
      return this.R epo sito r yCo ntext .Set< T>() ;    } 

   publi cIQueryable<T> F indB yConditio n(E xp res si on<Fu n c<T, b ool >>express ion)
  {   return this.Repos it o r yC ontext.S et<T>( ) 
        . Wh ere (exp r e ssion );
 }

    p ublicv oi dCreate( Tentity )   {      th is.Rep ositoryC ontex t .Set<T>().Add( e ntity);
    } 
 p u blic  vo id Update(T  ent i ty)   { 
     th is.Re po s it o ryContext.Set<T>(). Up date(e ntity );
    }

   public vo i d Delete(T  ent i ty ) 
    {
       this .Repositor y Context. Set<T >().Remo ve(entity ) ; 
    }
   pu bli c a s y nc  Task<Boolean > Save As ync()
  {
      try 
     {
           aw ai tth is .Re posit o ryContex t. Sav eC han gesAs y nc();         r e tur n true;     }      c at ch(Db Upda t eEx ception  e)
      { 
         st ring model =ty peof(T).To St rin g();
         DBExeptionLogger.SetD b ErrorLo g(m odel,  e.I nnerExcep tio n.Mess age ) ;
          ret ur n f a l se;
   }            }

} 
A:
Try whe ther code below me e t y our requireme nt:    p u bl icc la s s R ep o sit o r yBase<T> : IRep ositoryBas e< T >where T :c las s{
    p rotecte d App l ication DbContext  Reposito ry Cont e x t {  get; set;  }
    p ublic Rep o sitor y Ba se(Ap pli cation Db Con textreposi t ory Conte xt)
  {
       t hi s.Reposi toryContext = repositor yConte xt;
  }

    pu bli c  as ync Task< Pagi natedList< T>>  Fi ndAll ()   {     re t urn a wait 
 source.ToListAsync();

_ _   _ return_new_PaginatedList<T>(items, count,_currentPage,_pageSize);
  _ }
}

And how_can I add this_class to generic_repository_class.
public abstract class RepositoryBase<T> : PaginatedList<T>, IRepositoryBase<T> where T : class
{
   _protected_EasyDoctorContext RepositoryContext_{_get;_set; }
   _protected PaginatedList<T> PaginatedList { get;_set; }
_   public RepositoryBase(EasyDoctorContext repositoryContext)
  __{
  _     this.RepositoryContext = repositoryContext;

 _  }

   _public IQueryable<T> FindAll()
___ {
  _     return_this.RepositoryContext.Set<T>();
    }

 _  public IQueryable<T> FindByCondition(Expression<Func<T, bool>> expression)
_   {
  _    _return this.RepositoryContext.Set<T>()
_    _  _ _.Where(expression);
  _ }

    public_void Create(T entity)
_   {
  __  __this.RepositoryContext.Set<T>().Add(entity);
_ _ }

 __ public_void_Update(T entity)
    {
__      this.RepositoryContext.Set<T>().Update(entity);
_   }

__  public void_Delete(T entity)
   _{
     _ _this.RepositoryContext.Set<T>().Remove(entity);
 _  }

    public async Task<Boolean> SaveAsync()
 _  {
   _   _try
 __  __ {
_      _ _  await this.RepositoryContext.SaveChangesAsync();
  _   __    return true;
_     _ }
   ___  catch(DbUpdateException e)
 _     _{
  _      __ string model = typeof(T).ToString();

 __     ___ DBExeptionLogger.SetDbErrorLog(model, e.InnerException.Message);
  _     _   return false;
    _  _}    ___     
    }

}

A:

Try_whether code_below meet your_requirement:   
public class RepositoryBase<T> : IRepositoryBase<T> where T_: class
{
    protected ApplicationDbContext_RepositoryContext { get; set; }
    public RepositoryBase(ApplicationDbContext repositoryContext)
_   {
    _   this.RepositoryContext = repositoryContext;
 _  }

 __ public async Task<PaginatedList<T>> FindAll()
  __{
__  _  _return await