NHSubscribersRepository.cs 1.66 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ControlPanel.Interfaces.Reposytorys;
using ControlPanel.Models;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Tool.hbm2ddl;
using FluentNHibernate.Cfg.Db;
using FluentNHibernate.Automapping;
using ControlPanel.Interfaces.Reposytorys;

namespace ControlPanel.NHInplimentRepository
{
    public class NHSubscribersRepository : NHMainRepository<Subscribers>, ISubscribersRepository
    {


        int ISubscribersRepository.Count()
        {
            int count = 0;

            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();
                var rowCount = session.CreateCriteria(typeof(Subscribers))
                     .SetProjection(Projections.RowCount()).FutureValue<Int32>();
                try
                {
                    count = rowCount.Value;
                }
                catch (Exception)
                {
                }
                session.Transaction.Commit();
            }
            return count;

        }


        IList<Subscribers> ISubscribersRepository.GetLog(int start, int limit)
        {
            IList<Subscribers> list;
            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();

                list = session.CreateCriteria(typeof(Subscribers))
                        .SetFirstResult(start)
                        .SetMaxResults(limit - start + 1)
                        .List<Subscribers>();
                session.Transaction.Commit();

            }
            return list;
        }
    }
}