From 3ffe6c3de49c4c2edf75dd0f8a0928b0bb478195 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 30 Jun 2022 00:04:53 +0200 Subject: [PATCH] Arreglos marchando una de --- Helper/HelperGdb.cs | 2 +- Services/EjecServ.cs | 57 +++++++++++++++++++-- Services/ProcesoEjecServ.cs | 1 + Services/RecogidaServ.cs | 14 +++-- ViewModel/Limpieza/PaneLimpiezaViewModel.cs | 6 +++ ViewModel/Recogida/PaneRecogidaViewModel.cs | 4 ++ 6 files changed, 75 insertions(+), 9 deletions(-) diff --git a/Helper/HelperGdb.cs b/Helper/HelperGdb.cs index a4d4453..3cb8a6b 100644 --- a/Helper/HelperGdb.cs +++ b/Helper/HelperGdb.cs @@ -1208,7 +1208,7 @@ namespace OliviaAddInPro.Helper { //realiza consulta n = 0; - fc.GetDefinition().GetFields().First().Name kfadpskfpasp + //fc.GetDefinition().GetFields().First().Name kfadpskfpasp using (Selection sel = fc.Select(new ArcGIS.Core.Data.QueryFilter { WhereClause = consulta }, SelectionType.ObjectID, SelectionOption.Normal)) n = sel.GetCount(); } diff --git a/Services/EjecServ.cs b/Services/EjecServ.cs index f1ca1af..3e0d9b8 100644 --- a/Services/EjecServ.cs +++ b/Services/EjecServ.cs @@ -54,7 +54,13 @@ namespace OliviaAddInPro.Services */ public bool ExportaEjec(ModosEjec modo, out string ErrStr) { + ErrStr = string.Empty; + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } try { com.ProgrSrc.Init("Exportando datos"); @@ -64,7 +70,11 @@ namespace OliviaAddInPro.Services ErrStr = "En la capa de ámbitos seleccionada no se encuentran columnas de SECTOR y/o SECUENCIA, necesarias para planificar"; return false; } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } //Cuenta las filas que cumplen la consulta int nelems = HelperGdb.GetNumElemsSync(com.CapaElems, com.ConsultaAmbs); if (nelems <= 0) @@ -72,7 +82,11 @@ namespace OliviaAddInPro.Services ErrStr = "No existen ámbitos que cumplan las condiciones introducidas para la exportación " + com.ConsultaAmbs; return false; } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } com.ProgrSrc.IncMessage(0, "Exportando geometria"); //Obtiene la geometría que envuelve a los ámbitos @@ -83,7 +97,11 @@ namespace OliviaAddInPro.Services ErrStr = "No se ha podido generar geometría de los ámbitos" + com.ConsultaAmbs + ErrStr; return false; } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } //mira spatialreference de los datos de entrada spatRefData = geom_export.SpatialReference; @@ -94,6 +112,11 @@ namespace OliviaAddInPro.Services ErrStr = "Error al crear el filtro de exportacion de los ámbitos"; return false; } + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } //Termina de preparar nombre //Prepara nombre string fechaHora = string.Empty; @@ -110,6 +133,7 @@ namespace OliviaAddInPro.Services ErrStr = "Error al exportar los ámbitos: " + HelperGdb.OutStr; return false; } + if (com.ProgrSrc._ProgrSrc.Getcancelled()) { ErrStr = Resource1.String_cancel_progreso; @@ -130,6 +154,11 @@ namespace OliviaAddInPro.Services return false; } } + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } /////////////////////////////////////////////////////////////////////// /// com.ProgrSrc.IncMessage(10, "Preparando exportación de red navegable");//50% @@ -163,7 +192,11 @@ namespace OliviaAddInPro.Services } } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } /////////////////////////////////////////////////////////////////////////// //exporta la red navegable (buffer, le quita las restr...) //se obtiene la geometría a intersecar con la red, que será la que contiene @@ -185,12 +218,21 @@ namespace OliviaAddInPro.Services return false; } } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } ////////////////////////////////////////////////////////////// //comprueba si la geometría de exportación contiene a la instalación y a la planta de descarga Coordinate2D[] coords = { com.CoordsInstal, com.CoordsPlanta }; for (int i = 0; i < coords.Length; i++) { + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } if (!coords[i].IsEmpty && (coords[i].X != 0)) { Respuesta resp = HelperGdb.IsPtoInGeom(coords[i], geom_export); @@ -252,6 +294,11 @@ namespace OliviaAddInPro.Services return false; } + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + ErrStr = Resource1.String_cancel_progreso; + return false; + } com.ProgrSrc.IncMessage(10, "Exportando red navegable");//60% //Prepara nombre de exportación diff --git a/Services/ProcesoEjecServ.cs b/Services/ProcesoEjecServ.cs index 87bc417..dc0a836 100644 --- a/Services/ProcesoEjecServ.cs +++ b/Services/ProcesoEjecServ.cs @@ -447,6 +447,7 @@ namespace OliviaAddInPro.Services { pon_progr(100); pon_texto("Finalizada planificación\n" + tarea); + pon_textBtn("Finalizar"); break; } case TiposActu.ActuPermu: diff --git a/Services/RecogidaServ.cs b/Services/RecogidaServ.cs index 1c9154b..1b4ce90 100644 --- a/Services/RecogidaServ.cs +++ b/Services/RecogidaServ.cs @@ -78,8 +78,12 @@ namespace OliviaAddInPro.Services { res.Error.Add("No se ha seleccionado una consulta válida" + reco.ConsultaAmbs); return res; - } - + } + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + res.Error.Add(Resource1.String_cancel_progreso); + return res; + } //Prepara nombre //Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp reco.NombreShpExp_PrefTto = nombFileAmbs + DameStrPoligs(); @@ -91,7 +95,11 @@ namespace OliviaAddInPro.Services res.Error.Add(msg); return res; } - + if (com.ProgrSrc._ProgrSrc.Getcancelled()) + { + res.Error.Add(Resource1.String_cancel_progreso); + return res; + } //cierra las capas que se han abierto durante la exportación CierraCapas(); res.Value = true; diff --git a/ViewModel/Limpieza/PaneLimpiezaViewModel.cs b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs index 45b5a8f..9699f32 100644 --- a/ViewModel/Limpieza/PaneLimpiezaViewModel.cs +++ b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs @@ -190,6 +190,12 @@ namespace OliviaAddInPro //marchando OliviaGlob.Limp.ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog.GetViewModel()); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetProceso(""); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetEstado(""); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetProgress(0); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetTextBtn("Cancelar"); + + //oculta la ventana OliviaGlob.ShowHidePane(false); diff --git a/ViewModel/Recogida/PaneRecogidaViewModel.cs b/ViewModel/Recogida/PaneRecogidaViewModel.cs index 741ef7d..c99f085 100644 --- a/ViewModel/Recogida/PaneRecogidaViewModel.cs +++ b/ViewModel/Recogida/PaneRecogidaViewModel.cs @@ -236,6 +236,10 @@ namespace OliviaAddInPro //marchando OliviaGlob.Reco.ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog.GetViewModel()); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetProceso(""); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetEstado(""); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetProgress(0); + OliviaGlob.Limp.ProgrSrc._ProgrSrc.SetTextBtn("Cancelar"); //oculta la ventana OliviaGlob.ShowHidePane(false);