diff --git a/Config.daml b/Config.daml index 1e55652..882f6e4 100644 --- a/Config.daml +++ b/Config.daml @@ -38,7 +38,7 @@ Add-In de ArcGIS Pro para la herramienta de optimización de la limpieza viaria, OLIVIA - diff --git a/Helper/HelperGdb.cs b/Helper/HelperGdb.cs index 4368a00..665824f 100644 --- a/Helper/HelperGdb.cs +++ b/Helper/HelperGdb.cs @@ -739,9 +739,10 @@ namespace OliviaAddInPro.Helper if (!fields.Contains(field)) { HelperGdb.OutStr = "No se encuentra el campo " + field; + Free(fc); return false; } - + Free(fc); return true; } /* @@ -757,13 +758,14 @@ namespace OliviaAddInPro.Helper } ObservableCollection fields = GetFieldsSync(fc); + bool encuentra = true; if (!fields.Contains(field)) { HelperGdb.OutStr = "No se encuentra el campo " + field; - return false; + encuentra= false; } - - return true; + Free(fc); + return encuentra; } /* * Lee la capa que se ha seleccionzdo de recogida y se comprueba que contiene los campos necesarios @@ -1942,12 +1944,27 @@ namespace OliviaAddInPro.Helper if (brwsFilt != null) dlg.BrowseFilter = brwsFilt; - bool? ok = dlg.ShowDialog(); + try + { + bool? ok = dlg.ShowDialog(); - if ((ok ?? true) && dlg.FilePath.Length > 0) - return dlg.FilePath; - else + if ((ok ?? true) && dlg.FilePath.Length > 0) + return dlg.FilePath; + else + return string.Empty; + } + catch(Exception ex) + { return string.Empty; + } + } + + /** + * Saca diálogo para elegir directorio + */ + public static string FolderBrowseDlg(string title_, string initloc_) + { + return null; } /** @@ -2438,12 +2455,17 @@ namespace OliviaAddInPro.Helper */ public static bool AddFieldsSync(string fcname, FieldToAdd[] fields) { - bool res = false; + bool res = false; // set up the arguments string fields_str = ""; + int camps = 0; for(int i=0;i res1 = new Respuesta { Value = TiposEjecucion.FinEjecOk }; - HelperGdb.OpenLayer(@"C:\Users\Elena\Documents\ArcGIS\Projects\MyProject3\MyProject3.gdb\Barrido_man\BarMan_AceM_AceNM_20220529_134336", "SECTOR", true); - return res1;*/ + //Respuesta res1 = new Respuesta { Value = TiposEjecucion.FinEjecOk }; + //HelperGdb.OpenLayer(@"C:\Users\Elena\Documents\ArcGIS\Projects\MyProject3\MyProject3.gdb\Barrido_man\BarMan_AceM_AceNM_20220529_134336", "SECTOR", true); + //Serv.ActualizaSecto(@"D:\Proyectos\Olivia\Instal2.0\data\data_T00_A0405_20220628_214902.shp", @"C:\\Users\\Elena\\Documents\\ArcGIS\\Projects\\MyProject3\\MyProject3.gdb\\Barrido_man\\BarMan_AceM_AceNM_20220628_214613"); + //return res1; + + ////////////////// ///////////////////////////// Respuesta res = new Respuesta { Value=false}; diff --git a/Model/Recogida.cs b/Model/Recogida.cs index 08e1d7c..bfee6f4 100644 --- a/Model/Recogida.cs +++ b/Model/Recogida.cs @@ -171,5 +171,26 @@ namespace OliviaAddInPro.Model RecogidaDef.campos_def.cons_kgrec }; return camps; } + + /** + * Rellena el array de filtros en base a la config + */ + public void RellenaFiltrosReco() + { + //se rellena el array de filtros + RecogidaDef.filtro_str = new string[RecogidaDef.tipos_fracc_str.Length + RecogidaDef.tipos_carg_str.Length]; + for (int i = 0; i < RecogidaDef.tipos_fracc_str.Length; i++) + { + //se comprueba que tipo de fracción se ha seleccionado. Si se ha seleccionado una fracción sin nombre (el campo en la capa es NULL, y en el comboBox de fracciiones aparece como "-") hay que modificar el filtro + if (RecogidaDef.tipos_fracc_str[i] == "-") + RecogidaDef.filtro_str[i] = RecogidaDef.campos_def.cons_fracc + " IS NULL"; + else + RecogidaDef.filtro_str[i] = RecogidaDef.campos_def.cons_fracc + "= '" + RecogidaDef.tipos_fracc_str[i] + "'"; + } + for (int i = RecogidaDef.tipos_fracc_str.Length; i < RecogidaDef.filtro_str.Length; i++) + { + RecogidaDef.filtro_str[i] = RecogidaDef.campos_def.cons_nomrec + "= '" + RecogidaDef.tipos_carg_str[i - RecogidaDef.tipos_fracc_str.Length] + "'"; + } + } } } diff --git a/OliviaAddInPro.csproj b/OliviaAddInPro.csproj index afe5a47..e8f1d77 100644 --- a/OliviaAddInPro.csproj +++ b/OliviaAddInPro.csproj @@ -25,7 +25,7 @@ bin\Debug\ DEBUG;TRACE prompt - 4 + 0 Program $(ArcGISFolder)\bin\ArcGISPro.exe x64 @@ -357,6 +357,9 @@ + + +