예제 #1
0
 private void _vista_UsuarioDeseaObtenerPuntosDePoligonoPadre(object sender, PoligonoArgumento e)
 {
     try
     {
         _vista.PuntosDePoligonoPadre = PoligonoServicio.ObtenerPuntosDePoligono(e);
     }
     catch (Exception ex)
     {
         _vista.EstablecerError(ex.Message, sender);
     }
 }
예제 #2
0
        private void _vista_UsuarioDeseaObtenerPuntosDePoligonoDeRuta(object sender, PoligonoArgumento e)
        {
            try
            {
                var lstTemp =
                    PoligonoServicio.ObtenerPuntosDePoligono(e);
                var listaDividida = new List <IList <PoligonoPuntos> >();
                var lista         = new List <PoligonoPuntos>();
                var idActual      = 0;
                foreach (var item in lstTemp)
                {
                    if (idActual != item.POLYGON_ID)
                    {
                        if (lista.Count > 2)
                        {
                            listaDividida.Add(lista);
                        }
                        lista = new List <PoligonoPuntos>();
                        lista.Add(item);
                        idActual = item.POLYGON_ID;
                    }
                    else
                    {
                        lista.Add(item);
                    }
                }
                if (lista.Count > 2)
                {
                    listaDividida.Add(lista);
                }

                foreach (var poligono in _vista.ReporteClientesEnRuta)
                {
                    foreach (var puntosDePoligono in listaDividida)
                    {
                        if (puntosDePoligono[0].POLYGON_ID == poligono.POLYGON_ID)
                        {
                            poligono.Puntos = puntosDePoligono;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _vista.EstablecerError(ex.Message, sender);
            }
        }
 private void _vista_UsuarioDeseaObtenerPuntosDePoligono(object sender, PoligonoArgumento e)
 {
     try
     {
         var lstTemp =
             PoligonoServicio.ObtenerPuntosDePoligono(e);
         var listaDividida = new List <IList <PoligonoPuntos> >();
         var lista         = new List <PoligonoPuntos>();
         var idActual      = 0;
         foreach (var item in lstTemp)
         {
             if (idActual != item.POLYGON_ID)
             {
                 if (lista.Count > 2)
                 {
                     listaDividida.Add(lista);
                 }
                 lista = new List <PoligonoPuntos>();
                 lista.Add(item);
                 idActual = item.POLYGON_ID;
             }
             else
             {
                 lista.Add(item);
             }
         }
         if (lista.Count > 2)
         {
             listaDividida.Add(lista);
         }
         foreach (var poligono in _vista.PoligonosTipoRuta)
         {
             poligono.IS_MODIFIABLE = 0; foreach (var puntosDePoligono in listaDividida.Where(puntosDePoligono => puntosDePoligono[0].POLYGON_ID == poligono.POLYGON_ID))
             {
                 poligono.Puntos = puntosDePoligono;
             }
         }
         e.Poligono.POLYGON_ID     = e.Poligono.POLYGON_ID_PARENT;
         _vista.ClientesDePoligono = ClienteServicio.ObtenerClientePorPoligono(e);
     }
     catch (Exception ex)
     {
         _vista.EstablecerError(ex.Message, sender);
     }
 }
예제 #4
0
        private void _vista_UsuarioDeseaObtenerPuntosDePoligonoDeSector(object sender, PoligonoArgumento e)
        {
            try
            {
                var lstTemp       = PoligonoServicio.ObtenerPuntosDePoligono(e);
                var listaDividida = new List <IList <PoligonoPuntos> >();
                var lista         = new List <PoligonoPuntos>();
                var idActual      = 0;
                foreach (var item in lstTemp)
                {
                    if (idActual != item.POLYGON_ID)
                    {
                        if (lista.Count > 2)
                        {
                            listaDividida.Add(lista);
                        }
                        lista = new List <PoligonoPuntos>();
                        lista.Add(item);
                        idActual = item.POLYGON_ID;
                    }
                    else
                    {
                        lista.Add(item);
                    }
                }
                if (lista.Count > 2)
                {
                    listaDividida.Add(lista);
                }

                AgregarReporteDeClientesEnSector(_vista, e);

                ProcesarPuntosParaPoligonos(_vista, listaDividida);
            }
            catch (Exception ex)
            {
                _vista.EstablecerError(ex.Message, sender);
            }
        }