示例#1
0
 public ReferenciaGeografica GetReferenciaGeografica(TipoReferenciaGeografica tipoReferencia, ReferenciaGeografica geoRef, Empresa empresa, Linea linea, string codigo, string descripcion, int radio, DateTime?vigenciaDesde, DateTime?vigenciaHasta, string calle, int altura, string esquina, string partido, string provincia)
 {
     if (geoRef.Direccion == null)
     {
         var nomencladas = NomenclarByCalle(calle, altura, esquina, partido, provincia);
         SetDireccion(geoRef, nomencladas, radio);
     }
     return(geoRef);
 }
示例#2
0
 public ReferenciaGeografica GetReferenciaGeografica(TipoReferenciaGeografica tipoReferencia, ReferenciaGeografica geoRef, Empresa empresa, Linea linea, string codigo, string descripcion, int radio, DateTime?vigenciaDesde, DateTime?vigenciaHasta, string direccion)
 {
     if (geoRef.Direccion == null)
     {
         var nomencladas = NomenclarByDireccion(direccion);
         SetDireccion(geoRef, nomencladas, radio);
     }
     return(geoRef);
 }
示例#3
0
 public ReferenciaGeografica GetReferenciaGeografica(TipoReferenciaGeografica tipoReferencia, ReferenciaGeografica geoRef, Empresa empresa, Linea linea, string codigo, string descripcion, int radio, DateTime?vigenciaDesde, DateTime?vigenciaHasta, double latitud, double longitud)
 {
     if (geoRef.Direccion == null || Math.Abs(geoRef.Direccion.Latitud - latitud) > 0.00005 || Math.Abs(geoRef.Direccion.Longitud - longitud) > 0.00005)
     {
         var nomencladas = NomenclarByLatLon(latitud, longitud);
         SetDireccion(geoRef, nomencladas, radio);
     }
     return(geoRef);
 }
示例#4
0
        public TipoReferenciaGeograficaVo(TipoReferenciaGeografica tipoGeoref)
        {
            Id          = tipoGeoref.Id;
            IconUrl     = tipoGeoref.Icono != null ? tipoGeoref.Icono.PathIcono : string.Empty;
            Codigo      = tipoGeoref.Codigo;
            Descripcion = tipoGeoref.Descripcion;
            Empresa     = tipoGeoref.Empresa != null ? tipoGeoref.Empresa.RazonSocial : tipoGeoref.Linea != null ? tipoGeoref.Linea.Empresa.RazonSocial : string.Empty;
            Linea       = tipoGeoref.Linea != null ? tipoGeoref.Linea.Descripcion : string.Empty;

            Color = tipoGeoref.Color != null ? tipoGeoref.Color.HexValue : string.Empty;
        }
示例#5
0
        public ReferenciaGeografica GetReferenciaGeografica(TipoReferenciaGeografica tipoReferencia, ReferenciaGeografica geoRef, Empresa empresa, Linea linea, string codigo, string descripcion, DateTime?vigenciaDesde, DateTime?vigenciaHasta, double latitud, double longitud)
        {
            geoRef = GetReferenciaGeografica(tipoReferencia, geoRef, empresa, linea, codigo, descripcion, vigenciaDesde, vigenciaHasta);

            if (geoRef.Direccion == null)
            {
                var nomencladas = NomenclarByLatLon(latitud, longitud);
                SetDireccion(geoRef, nomencladas);
            }
            return(geoRef);
        }
示例#6
0
        public ReferenciaGeografica GetReferenciaGeografica(TipoReferenciaGeografica tipoReferencia, ReferenciaGeografica geoRef, Empresa empresa, Linea linea, string codigo, string descripcion, DateTime?vigenciaDesde, DateTime?vigenciaHasta)
        {
            if (geoRef == null)
            {
                geoRef = new ReferenciaGeografica
                {
                    Codigo                   = codigo,
                    Empresa                  = empresa,
                    Linea                    = linea,
                    EsFin                    = tipoReferencia.EsFin,
                    EsInicio                 = tipoReferencia.EsInicio,
                    EsIntermedio             = tipoReferencia.EsIntermedio,
                    Icono                    = tipoReferencia.Icono,
                    InhibeAlarma             = tipoReferencia.InhibeAlarma,
                    TipoReferenciaGeografica = tipoReferencia,
                    Color                    = tipoReferencia.Color
                };
                foreach (TipoReferenciaVelocidad maxima in tipoReferencia.VelocidadesMaximas)
                {
                    geoRef.VelocidadesMaximas.Add(new ReferenciaVelocidad
                    {
                        ReferenciaGeografica = geoRef,
                        TipoVehiculo         = maxima.TipoVehiculo,
                        VelocidadMaxima      = maxima.VelocidadMaxima
                    });
                }
            }

            geoRef.Baja          = false;
            geoRef.Descripcion   = descripcion;
            geoRef.Observaciones = string.Empty;

            UpdateVigencia(geoRef, vigenciaDesde, vigenciaHasta);

            return(geoRef);
        }
示例#7
0
        private ReferenciaGeografica CreateGeoRef(String codigo, String descripcion, DireccionVO dir, Linea lin, TipoReferenciaGeografica tipoGeoRef)
        {
            var posicion = new Direccion
            {
                Altura       = dir.Altura,
                IdMapa       = (short)dir.IdMapaUrbano,
                Provincia    = dir.Provincia,
                IdCalle      = -1,
                IdEsquina    = dir.IdEsquina,
                IdEntrecalle = dir.IdEsquina,
                Latitud      = dir.Latitud,
                Longitud     = dir.Longitud,
                Partido      = dir.Partido,
                Pais         = string.Empty,
                Calle        = dir.Calle,
                Descripcion  = dir.Direccion,
                Vigencia     = new Vigencia {
                    Inicio = DateTime.UtcNow
                }
            };

            var poligono = new Poligono
            {
                Radio    = 50,
                Vigencia = new Vigencia {
                    Inicio = DateTime.UtcNow
                }
            };

            poligono.AddPoints(new [] { new PointF((float)posicion.Longitud, (float)posicion.Latitud) });


            //Constructs the point.
            var puntoDeInteres = new ReferenciaGeografica
            {
                Codigo                   = codigo,
                Descripcion              = Trunc(descripcion, 128),
                Empresa                  = lin.Empresa,
                Linea                    = lin,
                EsFin                    = tipoGeoRef.EsFin,
                EsInicio                 = tipoGeoRef.EsInicio,
                EsIntermedio             = tipoGeoRef.EsIntermedio,
                InhibeAlarma             = tipoGeoRef.InhibeAlarma,
                TipoReferenciaGeografica = tipoGeoRef,
                Vigencia                 = new Vigencia {
                    Inicio = DateTime.UtcNow
                },
                Icono = tipoGeoRef.Icono
            };

            puntoDeInteres.Historia.Add(new HistoriaGeoRef
            {
                ReferenciaGeografica = puntoDeInteres,
                Direccion            = posicion,
                Poligono             = poligono,
                Vigencia             = new Vigencia {
                    Inicio = DateTime.UtcNow
                }
            });

            DAOFactory.ReferenciaGeograficaDAO.SingleSaveOrUpdate(puntoDeInteres);
            STrace.Trace("QtreeReset", "TicketImport");
            return(puntoDeInteres);
        }