ConvertLiveSubscribersToExt.cs 1.85 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ControlPanel.Interfaces.Strategys;
using ControlPanel.Models;
using ControlPanel.Models.Extend;

using ControlPanel.Interfaces.Reposytorys;
using ControlPanel.NHInplimentRepository;

namespace ControlPanel.ImplimentStrateges
{
    public class ConvertLiveSzsToExt<T> : IConvertToExt<T>
    {
      

        private ExtLiveSubscribers _extliveszs;
        private ISubscribersRepository _szsrepository;

        public object New(T obj)
        {
            _extliveszs = null;
            try
            {
                LiveSubscribers szslive = obj as LiveSubscribers;

                try
                {
                    _extliveszs = new ExtLiveSubscribers();

                    _extliveszs.id = szslive.id;
                    _extliveszs.dt = szslive.dt.ToString("yyyy-MM-dd HH:mm:ss");

                   if (_szsrepository == null)
                       _szsrepository=new NHSubscribersRepository();

                   Subscribers szs = _szsrepository.GetByID(szslive.RefLiveSzsSzs.Id);
                   _extliveszs.titleszs = szs.Name;

                   DateTime begin = szslive.dt;
                   DateTime end = DateTime.Now;
                   TimeSpan rez = end - begin;
              
                   if (rez.TotalMinutes > 2)
                       szslive.online = false;
                   else
                       szslive.online = true;

                            _extliveszs.status = szslive.online;
                            _extliveszs.softversion = szslive.softversion;
              
  

                }
                catch (Exception ex)
                {
                  

                }

            }

            catch (Exception ex)
            {
            
            }

            return _extliveszs;
        }


    }
}