diff --git a/Helper/HelperGdb.cs b/Helper/HelperGdb.cs index 0d5b855..9039a29 100644 --- a/Helper/HelperGdb.cs +++ b/Helper/HelperGdb.cs @@ -410,6 +410,7 @@ namespace OliviaAddInPro.Helper try { geomSal = GeometryEngine.Instance.Union(geomIni, geomUne); + return geomSal; } catch @@ -475,9 +476,11 @@ namespace OliviaAddInPro.Helper { ArcGIS.Core.Geometry.Geometry geomsal = null; ReiniciaOutStr(); - + try { + var geom = new List(); + //geomSal = GeometryEngine.Instance.Union(f); using (RowCursor rowCursor = fclss.Search(filtro)) { @@ -485,10 +488,13 @@ namespace OliviaAddInPro.Helper { using (Row row = rowCursor.Current) { - if(row is Feature ft) - geomsal = UneGeom(geomsal, ft.GetShape()); + if (row is Feature ft) + geom.Add(ft.GetShape()); + //geomsal = UneGeom(geomsal, ft.GetShape()); + } } + geomsal= GeometryEngine.Instance.Union(geom); } } catch (Exception ex) @@ -661,7 +667,7 @@ namespace OliviaAddInPro.Helper string _ex =System.IO.Path.GetExtension(nameNew); string nn = nameNew; if (!string.IsNullOrEmpty(_ex)) - nn.Replace(_ex, ""); + nn=nn.Replace(_ex, ""); var res = true; foreach(var ex in extensions) { @@ -672,7 +678,7 @@ namespace OliviaAddInPro.Helper if (!File.Exists(po)) res = false;//no existe - if (!File.Exists(pn)) + if (File.Exists(pn)) File.Delete(pn); File.Move(po,pn ); } diff --git a/Model/OliviaGlob.cs b/Model/OliviaGlob.cs index 68ddccb..63350c8 100644 --- a/Model/OliviaGlob.cs +++ b/Model/OliviaGlob.cs @@ -52,7 +52,7 @@ namespace OliviaAddInPro.Model }; private static TiposEjecucion tipoEjec = TiposEjecucion.Ninguno; - private static Limpieza limp = new Limpieza(); + public static Limpieza limp = new Limpieza(); private static Recogida reco = new Recogida(); #region Properties diff --git a/ViewModel/Limpieza/PaneLimpiezaViewModel.cs b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs index b47228d..9180f96 100644 --- a/ViewModel/Limpieza/PaneLimpiezaViewModel.cs +++ b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs @@ -15,8 +15,7 @@ namespace OliviaAddInPro class PaneLimpiezaViewModel : PanelViewModelBase { private PaneLimpiezaSub1ViewModel _subPanel1ViewModel; - Limpieza limp; - + public PaneLimpiezaViewModel() { _subPanel1ViewModel = new PaneLimpiezaSub1ViewModel(); @@ -31,8 +30,8 @@ namespace OliviaAddInPro new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/ptosctrl.png")), Resource1.String_ctrol, _subPanel3ViewModel), new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/time.png")), Resource1.String_tiempos, _subPanel4ViewModel) }; - SelectedOption = OptionsMenu[0]; - limp = OliviaGlob.Limp; + SelectedOption = OptionsMenu[0]; + // OliviaGlob.limp = OliviaGlob.Limp; } public override string DisplayName { @@ -78,7 +77,7 @@ namespace OliviaAddInPro err_str = "No se ha seleccionado ninguna Capa de Limpieza"; return false; } - limp.CapaElems = _subPanel1ViewModel.CapaElems; + OliviaGlob.limp.CapaElems = _subPanel1ViewModel.CapaElems; //lee el tipo tto if (_subPanel1ViewModel.TipoTto == (int)LimpiezaDef.TiposTto.TtoNoDef) @@ -86,7 +85,7 @@ namespace OliviaAddInPro err_str = "No se ha seleccionado ningún Tipo de Tratamiento"; return false; } - limp.TipoTto = _subPanel1ViewModel.TipoTto; + OliviaGlob.limp.TipoTto = _subPanel1ViewModel.TipoTto; //lee el/los ámbito seleccionado if (!_subPanel1ViewModel.lee_ambitos()) @@ -94,18 +93,18 @@ namespace OliviaAddInPro err_str = "No se ha seleccionado ningún Ámbito de trabajo"; return false; } - limp.AmbitosSel = _subPanel1ViewModel.AmbitosSel; + OliviaGlob.limp.AmbitosSel = _subPanel1ViewModel.AmbitosSel; int i = 0; - for (i = 0; i < limp.AmbitosSel.Length; i++) - if (limp.AmbitosSel[i]) + for (i = 0; i < OliviaGlob.limp.AmbitosSel.Length; i++) + if (OliviaGlob.limp.AmbitosSel[i]) break; - if(i>= limp.AmbitosSel.Length) + if(i>= OliviaGlob.limp.AmbitosSel.Length) { err_str = "No se ha seleccionado ningún Ámbito de trabajo"; return false; } //lee si respeta circulacion - limp.RespCirc = _subPanel1ViewModel.RespCirc; + OliviaGlob.limp.RespCirc = _subPanel1ViewModel.RespCirc; //lee velo de desplazamiento int vv = -1; @@ -119,7 +118,7 @@ namespace OliviaAddInPro err_str = "La velocidad de desplazamiento no está dentro de los límites configurados"; return false; } - limp.VDespl = vv; + OliviaGlob.limp.VDespl = vv; //lee tiempo de tto if ((_subPanel1ViewModel.TimeTto == 0) || @@ -128,11 +127,11 @@ namespace OliviaAddInPro err_str = "El tiempo de tratamiento no está dentro de los límites configurados"; return false; } - limp.Ttto = _subPanel1ViewModel.TimeTto; - limp.UdsTTto = _subPanel1ViewModel.UdsTTto; + OliviaGlob.limp.Ttto = _subPanel1ViewModel.TimeTto; + OliviaGlob.limp.UdsTTto = _subPanel1ViewModel.UdsTTto; //lee las propiedades comunes a recogida - if (!LeeComun(limp,out err_str)) + if (!LeeComun(OliviaGlob.limp,out err_str)) { return false; }