SzsController.cs 4.66 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Newtonsoft.Json.Linq;
using ControlPanel.Models.Szs;
using ControlPanel.LogicLayers;
using ControlPanel.Models;
using System.IO;


namespace ControlPanel.Controllers
{
    public class SzsController : ApiController
    {




        public JObject GetLog(int page, int start, int limit, string date,string regkey )
        {
           
            List<MsgLog> buffer = new List<MsgLog>();
            List<MsgLog> result = new List<MsgLog>();

            DateTime dt1 = DateTime.Now;
            DateTime dt2 = DateTime.Now;
            try
            {
               buffer = LogicSzs.instance.GetLog(page, start, limit, date,regkey);
            }
            catch (Exception)
            {
            }

            JObject res = JObject.FromObject(new
            {
               total = LogicSzs.instance.Count(date,regkey),
               msglog = buffer

            });

            return res;
        }



        public void Confirm(string levelriver, string RegKey, string id_webapi_message, string id_agk  )
        {     try 
                 {
        
                        LogicEvents.instance.Confirm(id_webapi_message.ToString(),id_agk.ToString(), RegKey.ToString());
                 }
                    catch(Exception)
                 {

                 }
        }

      




        /// <summary>
        ///  данные для диалога
        /// </summary>
        /// <returns></returns>
        public JObject GetDataDialog(string regkey)
        {
            List<ExtLevelRiver> res = new List<ExtLevelRiver>();
            try
            {
          //  var RegKey = data["RegKey"];
            //string regkey= RegKey.ToString();

                res = LogicSzs.instance.GetLevelsNotConfirm(regkey);

                res.Sort(delegate(ExtLevelRiver obj1, ExtLevelRiver obj2)
                { return obj2.titledatetimedevice.CompareTo(obj1.titledatetimedevice); });

                // Сортировка  по статусу
                res.Sort(delegate(ExtLevelRiver obj1, ExtLevelRiver obj2)
                { return obj1.id_causeevent.CompareTo(obj2.id_causeevent); });

            }
            catch (Exception)
            {

            }





            JObject result = JObject.FromObject(new { data = res });

            return result;
        }

        /// <summary>
        /// Получаем текущие сообщения для СЗС  
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public JObject GetDataCurrentTable(string data)
        {
            List<ExtLevelRiver> lstExtLevelsRivers = new List<ExtLevelRiver>();

            try
            {
               // var RegKey = data["RegKey"];
                //string regkey = RegKey.ToString();

                lstExtLevelsRivers = LogicSzs.instance.GetLastExtLevelRiver(data);

                lstExtLevelsRivers.Sort(delegate(ExtLevelRiver obj1, ExtLevelRiver obj2)
                { return obj2.titledatetimedevice.CompareTo(obj1.titledatetimedevice); });

                // Сортировка  по статусу
                lstExtLevelsRivers.Sort(delegate(ExtLevelRiver obj1, ExtLevelRiver obj2)
                { return obj2.id_causeevent.CompareTo(obj1.id_causeevent); });



            }
            catch (Exception)
            {


            }

            JObject result = JObject.FromObject(new { data = lstExtLevelsRivers });

            return result;

        }


        /// <summary>
        ///  Получаем название подписчика
        /// </summary>
        /// <param name="regkey"></param>
        /// <returns></returns>
        public JObject GetNameSubByregKey(string regkey)
        {
            string name = "";
            try
            {

                List<Subscribers> lstSubscribers = LogicSubscribers.instance.GetSubByRegKey(regkey);


            }
            catch (Exception)
            {

            }

            JObject result = JObject.FromObject(new { data = name });

            return result;
        }


        /// <summary>
        /// Получаем текущию дату и время
        /// </summary>
        /// <returns></returns>
        public JObject GetDateTime()
        {
            string datetime="";
            try 
            {
                datetime=DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");

            }
            catch(Exception) 
            {

            }
             JObject result = JObject.FromObject(new { data = datetime });

            return result;

        }


       



    }
}