protected void UiVistaPolignos_CustomCallback(object sender, DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } try { switch (e.Parameters.Split('|')[0]) { case "ObtenerPuntos": UiVistaPolignos.JSProperties.Add("cpFormarPoligonos", PoligonosTipoRegion); break; case "CargarPoligonos": UsuarioDeseaOptenerPoligonosTipoRegion?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Region) } }); UsuarioDeseaObtenerPuntosDePoligono?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Region) } }); UiVistaPolignos.JSProperties.Add("cpFormarPoligonos", PoligonosTipoRegion); break; case "ObtenerPoligo": var poligono = new Poligono(); foreach (var item in PoligonosTipoRegion.Where(item => item.POLYGON_ID == int.Parse(e.Parameters.Split('|')[1]))) { poligono = item; break; } UiVistaPolignos.JSProperties.Add("cpEstablecerPoligonoEncabezado", poligono); break; case "GurdarPoligono": var poligonoDibjugado = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) , POLYGON_NAME = UiPoligonoNombre.Text , POLYGON_DESCRIPTION = UiMemoDescripocion.Text , COMMENT = UiMemoComentario.Text , POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Region) , Puntos = new List <PoligonoPuntos>() , LAST_UPDATE_BY = Session["LOGIN"].ToString() }; var validarSiSoloSeActualiza = false; if (poligonoDibjugado.POLYGON_ID != 0) { if (PoligonosTipoRegion.Any(poligonoExistente => poligonoDibjugado.POLYGON_ID == poligonoExistente.POLYGON_ID && poligonoExistente.HAS_CHILD == 1)) { validarSiSoloSeActualiza = true; } } if (!validarSiSoloSeActualiza) { var cordenadas = e.Parameters.Split('|')[2].Split('('); for (int i = 0; i < cordenadas.Length; i++) { if (string.IsNullOrEmpty(cordenadas[i])) { continue; } var punto = cordenadas[i].Split(','); var poligonoPunto = new PoligonoPuntos { POSITION = i , LATITUDE = punto[0].Trim() , LONGITUDE = punto[1].Replace(")", "").Trim() }; poligonoDibjugado.Puntos.Add(poligonoPunto); } UsuarioDeseaGrabarPoligonoTipoRegion?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado, ListaDeTareas = new List <string>() }); } else { UsuarioDeseaActualizarSoloEncabezdo?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado }); } break; case "BorrarPoligono": var poligonoBorrar = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) }; UsuarioDeseaBorrarPoligonoTipoRegion?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoBorrar }); break; } } catch (Exception ex) { EstablecerError(ex.Message, sender); } }
protected void UiVistaPolignos_CustomCallback(object sender, DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } try { switch (e.Parameters.Split('|')[0]) { case "ObtenerPuntosPadre": UsuarioDeseaObtenerPuntosDePoligonoPadre?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_ID = int.Parse(UiListaSector.Value.ToString().Split('|')[0]) } }); if (PuntosDePoligonoPadre.Count > 0) { if (e.Parameters.Split('|')[1] == "0") { UiVistaPolignos.JSProperties.Add("cpFormarPoligonoPadre", new Poligono { POLYGON_ID = int.Parse(UiListaSector.Value.ToString().Split('|')[0]), POLYGON_NAME = UiListaSector.Value.ToString().Split('|')[1], Puntos = PuntosDePoligonoPadre }); //UiVistaPolignos.JSProperties.Add("cpFormarPoligonoPadre", PuntosDePoligonoPadre); } UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono", ClientesDePoligno); PoligonosTipoRuta = new List <Poligono>(); } break; case "CargarPoligonos": if (!string.IsNullOrEmpty(UiListaSector.Value?.ToString())) { UsuarioDeseaOptenerPoligonosTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta), POLYGON_ID_PARENT = int.Parse(UiListaSector.Value.ToString().Split('|')[0]) } }); UsuarioDeseaObtenerPuntosDePoligono?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta), POLYGON_ID_PARENT = int.Parse(UiListaSector.Value.ToString().Split('|')[0]) } }); UiVistaPolignos.JSProperties.Add("cpFormarPoligonos", PoligonosTipoRuta); PoligonosTipoRuta = PoligonosTipoRuta.Where(poligonoAbuscar => poligonoAbuscar.IS_MULTIPOLYGON == int.Parse(Enums.GetStringValue(SiNo.No))).Where(poligonoAbuscar => poligonoAbuscar.AVAILABLE == int.Parse(Enums.GetStringValue(SiNo.No))).ToList(); } break; case "ObtenerPoligo": var poligono = new Poligono(); foreach (var item in PoligonosTipoRuta.Where(item => item.POLYGON_ID == int.Parse(e.Parameters.Split('|')[1]))) { poligono = item; break; } UiVistaPolignos.JSProperties.Add("cpEstablecerPoligonoEncabezado", poligono); break; case "GurdarPoligono": var vendedor = new Vendedor { SELLER_CODE = UiListaVendedor.Value.ToString(), SELLER_NAME = UiListaVendedor.GridView.GetRowValues(UiListaVendedor.GridView.FocusedRowIndex, "SELLER_NAME").ToString() }; var poligonoDibjugado = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) , POLYGON_NAME = UiPoligonoNombre.Text , POLYGON_DESCRIPTION = UiMemoDescripocion.Text , COMMENT = UiMemoComentario.Text , POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta) , Puntos = new List <PoligonoPuntos>() , LAST_UPDATE_BY = Session["LOGIN"].ToString() , POLYGON_ID_PARENT = int.Parse(UiListaSector.Value.ToString().Split('|')[0]) , TYPE_TASK = null , SAVE_ROUTE = int.Parse(Enums.GetStringValue(SiNo.Si)) , }; var listaTareas = (from object tipoTarea in UiListaCheckTipoDeTarea.SelectedValues select tipoTarea.ToString()).ToList(); var validarSiSoloSeActualiza = false; if (poligonoDibjugado.POLYGON_ID != 0) { if (PoligonosTipoRuta.Any(poligonoExistente => poligonoDibjugado.POLYGON_ID == poligonoExistente.POLYGON_ID && poligonoExistente.HAS_CHILD == 1)) { validarSiSoloSeActualiza = true; } } if (!validarSiSoloSeActualiza) { var cordenadas = e.Parameters.Split('|')[2].Split('('); for (var i = 0; i < cordenadas.Length; i++) { if (string.IsNullOrEmpty(cordenadas[i])) { continue; } var punto = cordenadas[i].Split(','); var poligonoPunto = new PoligonoPuntos { POSITION = i , LATITUDE = punto[0].Trim() , LONGITUDE = punto[1].Replace(")", "").Trim() }; poligonoDibjugado.Puntos.Add(poligonoPunto); } UsuarioDeseaGrabarPoligonoTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado, Vendedor = vendedor, ListaDeTareas = listaTareas }); } else { UsuarioDeseaActualizarSoloEncabezdo?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado, Vendedor = vendedor, ListaDeTareas = listaTareas }); } break; case "BorrarPoligono": var poligonoBorrar = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) }; UsuarioDeseaBorrarPoligonoTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoBorrar }); break; case "ObtenerCliente": var cliente = new Cliente(); foreach (var itemCliente in ClientesDePoligno.Where(itemCliente => itemCliente.CODE_CUSTOMER.Equals(e.Parameters.Split('|')[1]))) { cliente = itemCliente; break; } UiVistaPolignos.JSProperties.Add("cpEstablecerCliente", cliente); UsuarioDeseaObtenerScoutingDeCliente?.Invoke(sender, new ClienteArgumento { Data = cliente }); //UiImagenScouting.ImageUrl = ""; UiVistaPolignos.JSProperties.Add("cpEstablecerFoto", Scouting); break; case "GrabarFrecuenciaDeCliente": var codigoFrecuencia = ClientesDePoligno.Where(itemCliente => itemCliente.CODE_CUSTOMER.Equals(e.Parameters.Split('|')[1].ToString())).Select(itemCliente => itemCliente.CODE_FREQUENCY).FirstOrDefault(); var frecuencia = new Frecuencia(); frecuencia.ID_FREQUENCY = codigoFrecuencia; frecuencia.CODE_CUSTOMER = e.Parameters.Split('|')[1]; //UiCodigoCliente.Text; frecuencia.SUNDAY = (UiCheckListaCliente.Items[0].Selected) ? 1 : 0; frecuencia.MONDAY = (UiCheckListaCliente.Items[1].Selected) ? 1 : 0; frecuencia.TUESDAY = (UiCheckListaCliente.Items[2].Selected) ? 1 : 0; frecuencia.WEDNESDAY = (UiCheckListaCliente.Items[3].Selected) ? 1 : 0; frecuencia.THURSDAY = (UiCheckListaCliente.Items[4].Selected) ? 1 : 0; frecuencia.FRIDAY = (UiCheckListaCliente.Items[5].Selected) ? 1 : 0; frecuencia.SATURDAY = (UiCheckListaCliente.Items[6].Selected) ? 1 : 0; frecuencia.FREQUENCY_WEEKS = int.Parse(UiListaSemanasCliente.Value.ToString()); frecuencia.POLYGON_ID = int.Parse(UiPoligonoCodigo.Text); frecuencia.REFERENCE_SOURCE = "BO"; var fecha = UiFechaUltimaVisita.Date; while (DayOfWeek.Sunday != fecha.DayOfWeek) { fecha = fecha.AddDays(-1); } frecuencia.LAST_DATE_VISITED = fecha; frecuencia.LAST_UPDATED_BY = Session["LOGIN"].ToString(); UsuarioDeseaGrabarFrecuenciaCliente?.Invoke(sender, new FrecuenciaArgumento { Data = frecuencia }); foreach (var itemCliente in ClientesDePoligno.Where(itemCliente => itemCliente.CODE_CUSTOMER.Equals(e.Parameters.Split('|')[1]))) { UiVistaPolignos.JSProperties.Add("cpEstablecerDatosCliente", itemCliente); break; } UiVistaPolignos.JSProperties.Add("cpOcultarPopupCargaRuta", "Enabled"); break; case "DesAsociar": if (UiPoligonoCodigo.Text.Length <= 0 || UiPoligonoCodigo.Text == "0") { throw new Exception("Debe de seleccionar un poligono."); } var rutaADesasociar = new Ruta { CODE_ROUTE = UiPoligonoCodigo.Text }; UsuarioDeseaDesAsociarVendedorDeRuta?.Invoke(sender, new RutaArgumento { Data = rutaADesasociar }); UiVistaPolignos.JSProperties.Add("cpCargarPoligonos", "cpCargarPoligonos"); break; } } catch (Exception ex) { EstablecerError(ex.Message, sender); } }