NHLivesSubscribersRepository.cs 2.31 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;

namespace ControlPanel.NHInplimentRepository
{
    public class NHLivesSubscribersRepository: NHMainRepository<LiveSubscribers>, ILivesSubscribersRepository
    {

        IList<LiveSubscribers> ILivesSubscribersRepository.GetLog()
        {
            IList<LiveSubscribers> list;
            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();

                list = session.CreateCriteria(typeof(LiveSubscribers))
                        .List<LiveSubscribers>();
                session.Transaction.Commit();
            }
            return list;
        }

     

        
        
        int ILivesSubscribersRepository.Count()
        {

            int count = 0;

            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();

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

        }
        
        
        LiveSubscribers ILivesSubscribersRepository.GetBySubscriber(Subscribers subscriber)
        {
            LiveSubscribers result = null;

            IList<LiveSubscribers> list = null;

            using (ISession session = GetNHBSession())
            {
                session.BeginTransaction();

                list = session.CreateCriteria(typeof(LiveSubscribers))
                     .Add(Restrictions.Eq("RefLiveSzsSzs", subscriber)).List<LiveSubscribers>();
                if (list.Count != 0)
                    result = list[0];

                session.Transaction.Commit();
            }
            return result;


        }

        
        

    }
}