ConvertLevelRiverForSzsDialog.cs 3.24 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ControlPanel.Interfaces.Strategys;
using ControlPanel.Models;
using ControlPanel.Models.Szs;
using ControlPanel.Interfaces.Reposytorys;
using ControlPanel.ImplimentStrateges;
using ControlPanel.NHInplimentRepository;

namespace ControlPanel.ImplimentStrategys
{
    public class ConvertLevelRiverForSzsDialog<T> : IConvertToExt<T>
    {
      

        private ExtLevelRiver msgext;

        private IAgkRepository _agkrepository;

        public object New(T message) 
        {
            ExtLevelRiver msgext = null;
          
              LevelRiver  msg = message as LevelRiver;

              try
              {
                  msgext=new ExtLevelRiver();

                  if(_agkrepository == null ) 
                      _agkrepository=new NHAgkRepository();

                  Agk agk=_agkrepository.GetByID(msg.RefMessageAgk.id);

                       msgext.id=msg.id;
                       msgext.titleagk = " АГК-" + agk.number + " " + agk.river; 
                       msgext.titledatetimedevice=msg.datetimedevice.ToString("yyyy-MM-dd HH:mm:ss");   
                       msgext.datetimeveracity =msg.datetimeveracity; 
                       msgext.titledatetimeserver=msg.datetimeserver.ToString("yyyy-MM-dd HH:mm:ss");   
                       msgext.latitude =msg.latitude; 
                       msgext.longitude=msg.longitude;  
                       msgext.coordveracity=msg.coordveracity;  
                       msgext.installplace =msg.installplace;
 
                  double val=Math.Round(msg.levelbsv,2);
                       msgext.levelbsv=(float) val;  
                       msgext.levelpointsuspen=msg.levelpointsuspen;  
                       msgext.levelzeropost =msg.levelzeropost; 
                       msgext.causeevent=msg.causeevent;

                           switch (msg.causeevent)
                           {
                               case "норм":
                                       msgext.img_causeevent="green.png";
                                       msgext.style_status_dialog = "norm-box";
                                       msgext.titlecauseevent = "НОРМ";
                                       msgext.id_causeevent = 0;
                                   break;
                               case "ня":
                                       msgext.img_causeevent="yellow.png";
                                       msgext.style_status_dialog = "info-box";
                                       msgext.titlecauseevent ="НЯ";
                                       msgext.id_causeevent = 1;
                                   break;
                               case "оя":
                                       msgext.img_causeevent="red.png";
                                       msgext.style_status_dialog = "warning-box";
                                       msgext.titlecauseevent = "ОЯ";
                                       msgext.id_causeevent = 2;
                                   break;
                           };
              }
              catch (Exception ex)
              {
                 
              }

          

          
            return msgext;
        }

    }
}