protected void UiVistaPolignos_CustomCallback(object sender, DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } try { string etiquetas = "", canales = ""; switch (e.Parameters.Split('|')[0]) { case "ObtenerPuntosDePoligonoPadre": var lstEtiqueta = UiListaEtiqueta.GridView.GetSelectedFieldValues("TAG_COLOR"); var lstCanal = UiListaCanal.GridView.GetSelectedFieldValues("CHANNEL_ID"); etiquetas = lstEtiqueta.Aggregate(etiquetas, (current, tag) => current + (tag + "|")); canales = lstCanal.Aggregate(canales, (current, canal) => current + (canal + "|")); UsuarioDeseaObtenerPuntosDePoligonoPadre?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_ID = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) }, CHANNEL_ID = canales, TAG_COLOR = etiquetas }); UsuarioDeseaObtenerPuntosDePoligonoPadre?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_ID = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) } }); if (PuntosDePoligonoPadre.Count > 0) { if (e.Parameters.Split('|')[1] == "0") { UiVistaPolignos.JSProperties.Add("cpFormarPoligonoPadre", new Poligono { POLYGON_ID = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]), POLYGON_NAME = UiListaSectorDeFrecuencia.Value.ToString().Split('|')[1], Puntos = PuntosDePoligonoPadre }); } } UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono", ClientesDePoligono); break; case "CargarPoligonos": var lstEtiquetas = UiListaEtiqueta.GridView.GetSelectedFieldValues("TAG_COLOR"); var lstCanales = UiListaCanal.GridView.GetSelectedFieldValues("CHANNEL_ID"); etiquetas = lstEtiquetas.Aggregate(etiquetas, (current, tag) => current + (tag + "|")); canales = lstCanales.Aggregate(canales, (current, canal) => current + (canal + "|")); PoligonossDeVendedor = new List <Poligono>(); var codigoVendedor = UiListaVendedor.Value.ToString().Split('|')[0]; if (!string.IsNullOrEmpty(UiListaSectorDeFrecuencia.Value?.ToString()) && !string.IsNullOrEmpty(codigoVendedor)) { UsuarioDeseaOptenerPoligonosTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta), POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]), IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)), IS_MULTISELLER = int.Parse(Enums.GetStringValue(SiNo.Si)) } , TAG_COLOR = etiquetas , CHANNEL_ID = canales }); //, IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)),AVAILABLE = int.Parse(Enums.GetStringValue(SiNo.Si)) } }); if (PoligonosTipoRuta != null) { if (PoligonosTipoRuta.Count > 0) { UsuarioDeseaObtenerPuntosDePoligono?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta), POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) //, //IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)) //, //AVAILABLE = int.Parse(Enums.GetStringValue(SiNo.Si)) } , TAG_COLOR = etiquetas , CHANNEL_ID = canales }); foreach (var poligono in PoligonosTipoRuta.Where(poligono => !string.IsNullOrEmpty(poligono.SELLER_CODE)).Where(poligono => poligono.SELLER_CODE.Equals(codigoVendedor) && poligono.IS_MULTIPOLYGON.Equals(int.Parse(Enums.GetStringValue(SiNo.Si))))) { poligono.IS_MODIFIABLE = int.Parse(Enums.GetStringValue(SiNo.Si)); } UiVistaPolignos.JSProperties.Add("cpFormarPoligonos", PoligonosTipoRuta); var poligonoEncontrados = PoligonosTipoRuta.Where(poligono => !string.IsNullOrEmpty(poligono.SELLER_CODE)).Where(poligono => poligono.SELLER_CODE.Equals(codigoVendedor) && poligono.IS_MULTIPOLYGON.Equals(int.Parse(Enums.GetStringValue(SiNo.Si)))).ToList(); PoligonossDeVendedor = poligonoEncontrados; UiVistaPolignos.JSProperties.Add("cpEstablecerVendedor", codigoVendedor); //UiVistaPolignos.JSProperties.Add("cpCargarClientes", "Enabled"); UiVistaPolignos.JSProperties.Add("cpCargarPolignosParaAsociar", "Enabled"); UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono", ClientesDePoligono); } else { UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono", ClientesDePoligono); UiVistaPolignos.JSProperties.Add("cpCerrarPanelDeCarga", "Enabled"); } } else { UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono", ClientesDePoligono); UiVistaPolignos.JSProperties.Add("cpCerrarPanelDeCarga", "Enabled"); } } break; case "ObtenerPoligo": var poligonoSeleccionado = new Poligono(); foreach (var item in PoligonosTipoRuta.Where(item => item.POLYGON_ID == int.Parse(e.Parameters.Split('|')[1]))) { poligonoSeleccionado = item; break; } UiVistaPolignos.JSProperties.Add("cpEstablecerPoligonoEncabezado", poligonoSeleccionado); break; case "ObtenerClientes": UiVistaPolignos.JSProperties.Add("cpCargarClienteDePoligono2", ClientesDePoligono); break; case "ObtenerFrecuenciaDePoligono": var poligonoDeFrecuencia = new Poligono(); foreach (var item in PoligonosTipoRuta.Where(item => item.POLYGON_ID == int.Parse(UiPoligonoCodigo.Text))) { poligonoDeFrecuencia = item; break; } if (poligonoDeFrecuencia.ID_FREQUENCY != null) { int idFrecuencias = int.Parse(poligonoDeFrecuencia.ID_FREQUENCY.ToString()); UsuarioDeseaObtenerFrecuenciaDePoligono?.Invoke(sender, new PoligonoArgumento { Frecuencia = new Frecuencia { ID_FREQUENCY = idFrecuencias } }); UiVistaPolignos.JSProperties.Add("cpEstablecerFrecuenciaDePoligono", FrecuenciaDePoligono); } break; case "GurdarPoligono": var lstEtiquetasParaGrabar = UiListaEtiqueta.GridView.GetSelectedFieldValues("TAG_COLOR"); var lstCanalesParaGrabar = UiListaCanal.GridView.GetSelectedFieldValues("CHANNEL_ID"); etiquetas = lstEtiquetasParaGrabar.Aggregate(etiquetas, (current, tag) => current + (tag + "|")); canales = lstCanalesParaGrabar.Aggregate(canales, (current, canal) => current + (canal + "|")); var vendedor = new Vendedor { SELLER_CODE = UiListaVendedor.Value.ToString().Split('|')[0] , ROUTE = int.Parse(UiListaVendedor.Value.ToString().Split('|')[1]), SELLER_NAME = UiListaVendedor.GridView.GetRowValues(UiListaVendedor.GridView.FocusedRowIndex, "SELLER_NAME").ToString() }; var frecuencia = new Frecuencia { SUNDAY = (UiCheckListaCliente.Items[0].Selected) ? 1 : 0, MONDAY = (UiCheckListaCliente.Items[1].Selected) ? 1 : 0, TUESDAY = (UiCheckListaCliente.Items[2].Selected) ? 1 : 0, WEDNESDAY = (UiCheckListaCliente.Items[3].Selected) ? 1 : 0, THURSDAY = (UiCheckListaCliente.Items[4].Selected) ? 1 : 0, FRIDAY = (UiCheckListaCliente.Items[5].Selected) ? 1 : 0, SATURDAY = (UiCheckListaCliente.Items[6].Selected) ? 1 : 0, FREQUENCY_WEEKS = int.Parse(UiListaSemanasCliente.Value.ToString()), REFERENCE_SOURCE = "BO", TYPE_TASK = null }; var fecha = UiFechaUltimaVisita.Date; while (DayOfWeek.Sunday != fecha.DayOfWeek) { fecha = fecha.AddDays(-1); } frecuencia.LAST_DATE_VISITED = fecha; frecuencia.LAST_WEEK_VISITED = fecha; frecuencia.LAST_UPDATED_BY = Session["LOGIN"].ToString(); var poligonoDibjugado = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) , POLYGON_NAME = UiPoligonoNombre.Text , POLYGON_DESCRIPTION = UiMemoDescripocion.Text , COMMENT = string.Empty , POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta) , Puntos = new List <PoligonoPuntos>() , LAST_UPDATE_BY = Session["LOGIN"].ToString() , POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) , TYPE_TASK = null , SAVE_ROUTE = 1 , IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)) , AVAILABLE = int.Parse(Enums.GetStringValue(SiNo.Si)) , ROUTE_ID = vendedor.ROUTE , IS_MULTISELLER = int.Parse(Enums.GetStringValue(SiNo.Si)) }; /*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 (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); } var listaTareas = (from object tipoTarea in UiListaCheckTipoDeTareas.SelectedValues select tipoTarea.ToString()).ToList(); UsuarioDeseaGrabarPoligonoTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado, Vendedor = vendedor, Frecuencia = frecuencia, ListaDeTareas = listaTareas, Canales = canales, Etiquetas = etiquetas }); //} //else //{ // UsuarioDeseaActualizarSoloEncabezdo?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoDibjugado }); //} break; case "BorrarPoligono": var poligonoBorrar = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) , POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) , IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)) , AVAILABLE = int.Parse(Enums.GetStringValue(SiNo.Si)) }; UsuarioDeseaBorrarPoligonoTipoRuta?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoBorrar }); break; case "DesAsociar": var poligonoADesAsociar = new Poligono { POLYGON_ID = int.Parse(UiPoligonoCodigo.Text) , POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) , IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)) , AVAILABLE = int.Parse(Enums.GetStringValue(SiNo.Si)) }; UsuarioDeseaDesAsociarPoligono?.Invoke(sender, new PoligonoArgumento { Poligono = poligonoADesAsociar }); break; case "AsociarPoligonos": var vendedorParaAsociar = new Vendedor { SELLER_CODE = UiListaVendedorAsociar.Value.ToString().Split('|')[0] , ROUTE = int.Parse(UiListaVendedorAsociar.Value.ToString().Split('|')[1]) }; vendedorParaAsociar.SELLER_NAME = UiListaVendedorAsociar.GridView.GetRowValues(UiListaVendedorAsociar.GridView.FocusedRowIndex, "SELLER_NAME").ToString(); var listaDePoligonoParaaAsociar = new List <Poligono>(); var lst = UiListaDePoligonosAsociar.GridView.GetSelectedFieldValues("POLYGON_ID"); foreach (var poligono in from item in lst from poligono in PoligonosParaAsociar where int.Parse(item.ToString()) == poligono.POLYGON_ID select poligono) { poligono.LAST_UPDATE_BY = Session["LOGIN"].ToString(); poligono.POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]); poligono.ROUTE_ID = vendedorParaAsociar.ROUTE; poligono.IS_MULTIPOLYGON = int.Parse(Enums.GetStringValue(SiNo.Si)); poligono.POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Ruta); listaDePoligonoParaaAsociar.Add(poligono); } //listaDePoligonoParaaAsociar.AddRange(from item in lst from poligono in PoligonosTipoRuta where int.Parse(item.ToString()) == poligono.POLYGON_ID select poligono); var listaTareasFrecuenciaUnica = (from object tipoTarea in UiListaCheckTipoDeTareas.SelectedValues select tipoTarea.ToString()).ToList(); UsuarioDeseaAsociarPoligonos?.Invoke(sender, new PoligonoArgumento { ListaDePoligonos = listaDePoligonoParaaAsociar, Vendedor = vendedorParaAsociar, ListaDeTareas = listaTareasFrecuenciaUnica }); break; case "AsignarClientesBajoPeticion": var lstEtiqueta1 = UiListaEtiqueta.GridView.GetSelectedFieldValues("TAG_COLOR"); var lstCanal1 = UiListaCanal.GridView.GetSelectedFieldValues("CHANNEL_ID"); etiquetas = lstEtiqueta1.Aggregate(etiquetas, (current, tag) => current + (tag + "|")); canales = lstCanal1.Aggregate(canales, (current, canal) => current + (canal + "|")); UsuarioDeseaAsignarClientesSinPoligono?.Invoke(sender, new PoligonoArgumento { LOGIN = Session["LOGIN"].ToString(), Poligono = new Poligono { POLYGON_ID_PARENT = int.Parse(UiListaSectorDeFrecuencia.Value.ToString().Split('|')[0]) }, CHANNEL_ID = canales, TAG_COLOR = etiquetas }); break; } } catch (Exception ex) { EstablecerError(ex.Message, UiVistaPolignos); } }
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(UiListaRegion.Value.ToString().Split('|')[0]) } }); if (PuntosDePoligonoPadre.Count > 0) { UiVistaPolignos.JSProperties.Add("cpFormarPoligonoPadre", new Poligono { POLYGON_ID = int.Parse(UiListaRegion.Value.ToString().Split('|')[0]), POLYGON_NAME = UiListaRegion.Value.ToString().Split('|')[1], Puntos = PuntosDePoligonoPadre }); } break; case "CargarPoligonos": if (!string.IsNullOrEmpty(UiListaRegion.Value?.ToString()) && !string.IsNullOrEmpty(UiListaClasificacion.Value?.ToString())) { UsuarioDeseaOptenerPoligonosTipoSector?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Sector), POLYGON_ID_PARENT = int.Parse(UiListaRegion.Value.ToString().Split('|')[0]), SUB_TYPE = UiListaClasificacion.Value.ToString().Split('|')[0] } }); UsuarioDeseaObtenerPuntosDePoligono?.Invoke(sender, new PoligonoArgumento { Poligono = new Poligono { POLYGON_TYPE = Enums.GetStringValue(TiposDePoligono.Sector), POLYGON_ID_PARENT = int.Parse(UiListaRegion.Value.ToString().Split('|')[0]), SUB_TYPE = UiListaClasificacion.Value.ToString().Split('|')[0] } }); UiVistaPolignos.JSProperties.Add("cpFormarPoligonos", PoligonosTipoSector); } break; case "ObtenerPoligo": var poligono = new Poligono(); foreach (var item in PoligonosTipoSector.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.Sector) , Puntos = new List <PoligonoPuntos>() , LAST_UPDATE_BY = Session["LOGIN"].ToString() , SUB_TYPE = UiListaClasificacion.Value.ToString().Split('|')[0] , POLYGON_ID_PARENT = int.Parse(UiListaRegion.Value.ToString().Split('|')[0]) , CODE_WAREHOUSE = UiListaBodegas.Value.ToString().Split('|')[0] }; var validarSiSoloSeActualiza = false; if (poligonoDibjugado.POLYGON_ID != 0) { foreach (var poligonoExistente in PoligonosTipoSector) { if (poligonoDibjugado.POLYGON_ID == poligonoExistente.POLYGON_ID && poligonoExistente.HAS_CHILD == 1) { validarSiSoloSeActualiza = true; break; } } } 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); } UsuarioDeseaGrabarPoligonoTipoSector?.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) }; UsuarioDeseaBorrarPoligonoTipoSector?.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); } }