Algunas correcciones al comenzar ejecución

Elena/develop
Elena 2022-02-16 23:03:55 +01:00
parent 14321508ad
commit 1c1e4c95aa
14 changed files with 222 additions and 76 deletions

View File

@ -31,9 +31,9 @@ namespace OliviaAddInPro
{ {
///Comprueba que existe la red navegable configurada ///Comprueba que existe la red navegable configurada
if (HelperGdb.GetGdb(OliviaGlob.Paths.PathGdbNw).Result == null) if (!OliviaGlob.CompruebaNwYCampos())
{ {
HelperGlobal.ponMsg("No encuentra Gdb de red navegable, cambie Configuración: " + HelperGdb.OutStr, HelperGlobal.ponMsg("No se encuentra red navegable, cambie Configuración: " + HelperGdb.OutStr,
System.Windows.MessageBoxImage.Warning); System.Windows.MessageBoxImage.Warning);
} }
else else
@ -45,6 +45,10 @@ namespace OliviaAddInPro
DockpaneLimpiezaViewModel.Show(); DockpaneLimpiezaViewModel.Show();
} }
} }
else if(OliviaGlob.IsProps())
{
HelperGlobal.ponMsg(Resource1.String_estaenprops, System.Windows.MessageBoxImage.Warning);
}
else else
{ {
HelperGlobal.ponMsg(Resource1.String_existe_ejec, System.Windows.MessageBoxImage.Warning); HelperGlobal.ponMsg(Resource1.String_existe_ejec, System.Windows.MessageBoxImage.Warning);

View File

@ -28,9 +28,9 @@ namespace OliviaAddInPro
if (OliviaGlob.TipoEjec==TiposEjecucion.Ninguno) if (OliviaGlob.TipoEjec==TiposEjecucion.Ninguno)
{ {
///Comprueba que existe la red navegable configurada ///Comprueba que existe la red navegable configurada
if (HelperGdb.GetGdb(OliviaGlob.Paths.PathGdbNw).Result == null) if (!OliviaGlob.CompruebaNwYCampos())
{ {
HelperGlobal.ponMsg("No encuentra Gdb de red navegable, cambie Configuración: " + HelperGdb.OutStr, HelperGlobal.ponMsg("No se encuentra red navegable, cambie Configuración: " + HelperGdb.OutStr,
System.Windows.MessageBoxImage.Warning); System.Windows.MessageBoxImage.Warning);
} }
else else
@ -42,6 +42,10 @@ namespace OliviaAddInPro
DockpaneRecogidaViewModel.Show(); DockpaneRecogidaViewModel.Show();
} }
} }
else if (OliviaGlob.IsProps())
{
HelperGlobal.ponMsg(Resource1.String_estaenprops, System.Windows.MessageBoxImage.Warning);
}
else else
{ {
HelperGlobal.ponMsg(Resource1.String_existe_ejec, System.Windows.MessageBoxImage.Warning); HelperGlobal.ponMsg(Resource1.String_existe_ejec, System.Windows.MessageBoxImage.Warning);

View File

@ -186,6 +186,8 @@ namespace OliviaAddInPro.Helper
//y si no tiene devuelve vacío //y si no tiene devuelve vacío
public static string GetPathGdb(string path) public static string GetPathGdb(string path)
{ {
if (path == null)
return string.Empty;
string pathGdb = string.Empty; string pathGdb = string.Empty;
int i = 0; int i = 0;
if(path.Contains(GDB_EXT)) if(path.Contains(GDB_EXT))
@ -202,6 +204,8 @@ namespace OliviaAddInPro.Helper
public static Task<Geodatabase> GetGdb(string pathGdb) public static Task<Geodatabase> GetGdb(string pathGdb)
{ {
Geodatabase fileGeodatabase = null; Geodatabase fileGeodatabase = null;
if (string.IsNullOrEmpty(pathGdb))
return null;
ReiniciaOutStr(); ReiniciaOutStr();
return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<Geodatabase>)(() => return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<Geodatabase>)(() =>
{ {
@ -228,6 +232,8 @@ namespace OliviaAddInPro.Helper
public static FeatureClass GetFtClass(string pathFtClss) public static FeatureClass GetFtClass(string pathFtClss)
{ {
FeatureClass ftclss = null; FeatureClass ftclss = null;
if (string.IsNullOrEmpty(pathFtClss))
return null;
Geodatabase gdb = GetGdb(pathFtClss).Result; Geodatabase gdb = GetGdb(pathFtClss).Result;
ReiniciaOutStr(); ReiniciaOutStr();
if (gdb != null) if (gdb != null)
@ -247,6 +253,8 @@ namespace OliviaAddInPro.Helper
public static Task<FeatureClass> GetFtClass(string nameFtclss, Geodatabase gdb) public static Task<FeatureClass> GetFtClass(string nameFtclss, Geodatabase gdb)
{ {
FeatureClass ftclss = null; FeatureClass ftclss = null;
if (string.IsNullOrEmpty(nameFtclss))
return null;
ReiniciaOutStr(); ReiniciaOutStr();
return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<FeatureClass>)(() => return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<FeatureClass>)(() =>
{ {
@ -270,7 +278,7 @@ namespace OliviaAddInPro.Helper
ReiniciaOutStr(); ReiniciaOutStr();
return await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<FeatureClass>)(() => return await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<FeatureClass>)(() =>
{ {
if (pathShp.Contains(SHP_EXT)) if (!string.IsNullOrEmpty(pathShp) && pathShp.Contains(SHP_EXT))
{ {
try try
{ {
@ -419,6 +427,35 @@ namespace OliviaAddInPro.Helper
return true; return true;
} }
/*
* Lee la capa que se ha seleccionzdo de recogida y se comprueba que contiene los campos necesarios
* Devuelve 0 si va todo bien, -1 si da error, y num>0 con los campos que no encuentra
*/
public static int CheckFileds(string pathCapa, string[] camps)
{
int i;
if (string.IsNullOrEmpty(pathCapa))
{
OutStr = "No se encuentra la capa";
return -1;
}
OutStr = "No se encuentran el/los campo/s: ";
int mal = 0;
for (i = 0; i < camps.Length; i++)
{
if (!CheckField(pathCapa, camps[i]))
{
OutStr = OutStr + camps[i] + " ";
mal++;
}
}
if (mal == 0)
OutStr = "";
return mal;
}
//Devuelve comilla simple si el campo es de texto, o nada si es númerico //Devuelve comilla simple si el campo es de texto, o nada si es númerico
//var whereClause = $"{SelectedField} = {Quote(f)}{FieldValue}{Quote(f)}"; //var whereClause = $"{SelectedField} = {Quote(f)}{FieldValue}{Quote(f)}";
public static string Quote(ArcGIS.Core.Data.Field f) public static string Quote(ArcGIS.Core.Data.Field f)

View File

@ -9,6 +9,10 @@ using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Framework.Threading.Tasks; using ArcGIS.Desktop.Framework.Threading.Tasks;
using OliviaAddInPro.Helper; using OliviaAddInPro.Helper;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace OliviaAddInPro.Model namespace OliviaAddInPro.Model
{ {
[Flags] [Flags]
@ -110,6 +114,17 @@ namespace OliviaAddInPro.Model
limp = new Limpieza(); limp = new Limpieza();
reco = new Recogida(); reco = new Recogida();
SpatRef = ArcGIS.Core.Geometry.SpatialReferenceBuilder.CreateSpatialReference(GeneralDef.SpatRefDef); SpatRef = ArcGIS.Core.Geometry.SpatialReferenceBuilder.CreateSpatialReference(GeneralDef.SpatRefDef);
Respuesta<bool> resp = coge_ip();
if (!resp.Value && resp.HasError)
{
HelperGlobal.ponMsg(resp.Error.First());
}
/*resp = comprueba_dlls();
if (!resp.Value && resp.HasError)
{
HelperGlobal.ponMsg(resp.Error.First());
}*/
} }
public static bool IsLimp() public static bool IsLimp()
@ -189,12 +204,111 @@ namespace OliviaAddInPro.Model
} }
} }
/**
* Comprueba que está configurada la red navegable e incluye los campos necesarios
*/
public static bool CompruebaNwYCampos()
{
ArcGIS.Core.Data.FeatureClass ft = HelperGdb.GetFtClass(OliviaGlob.Paths.PathGdbNw);
if (ft == null)
return false;
int NCAMPS = 4;
string[] camps;
camps = new string[NCAMPS];
camps[0] = ComunDef.CamposNW.cons_onew;
camps[1] = ComunDef.CamposNW.cons_kph;
camps[2] = ComunDef.CamposNW.cons_name;
camps[3] = ComunDef.CamposNW.cons_fow;
return HelperGdb.CheckFileds(OliviaGlob.Paths.PathGdbNw, camps) == 0;
}
/**
* Devuelve una lista de las ips locales
*/
public static string[] dame_local_ips()
{
IPHostEntry host;
List<string> host_str = new List<string>();
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
{
return null;
}
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
host_str.Add(ip.ToString());
}
}
return host_str.ToArray();
}
/**
* Coge la ip local para la comunicación con OliviaTask
*/
static Respuesta<bool> coge_ip()
{
Respuesta<bool> resp = new Respuesta<bool>();
try
{
string[] ips = OliviaGlob.dame_local_ips();
if (ips != null && ips.Length > 0)
Conexion.Ip = ips[0];
else
Conexion.Ip = "127.0.0.1";
resp.Value = true;
return resp;
}
catch (Exception)
{
resp.Error.Add("Error al leer IP local");
resp.Value = false;
return resp;
}
}
/**
* La primera vez copia las dlls necesarias en el directorio del arcmap
*/
static Respuesta<bool> comprueba_dlls()
{
Respuesta<bool> resp = new Respuesta<bool>();
string path_dll_dest = null, dll = null;
try
{
//comprueba utiles.dll
dll = "utiles.dll";
//path_dll_dest = Path.Combine(System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName), dll);
path_dll_dest = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, dll);
if (!File.Exists(path_dll_dest))
{
resp.Error.Add("No se encuentran las librerías necesarias, compruebe la instalación");
resp.Value = false;
return resp;
}
resp.Value = true;
return resp;
}
catch (Exception)
{
resp.Error.Add("Error al comprobar las dll");
resp.Value = false;
return resp;
}
}
/** /**
* Inicializa los nombres por defecto de las variables, para debug por si no hay instalador * Inicializa los nombres por defecto de las variables, para debug por si no hay instalador
*/ */
public static void IniDefault() public static void IniDefault()
{ {
var c = ConfigServ.Serv.Leer(); var c = ConfigServ.Serv.Leer();
Paths.PathCfg = "";
Paths.PathWork = c.path_work; Paths.PathWork = c.path_work;
Paths.PathExeOlivia = c.path_exe; Paths.PathExeOlivia = c.path_exe;
Paths.DirData = c.path_data; Paths.DirData = c.path_data;
@ -209,7 +323,7 @@ namespace OliviaAddInPro.Model
Paths.PathSimbVSM = c.PathSimbVSM; Paths.PathSimbVSM = c.PathSimbVSM;
Paths.PathSimbESRI = c.PathSimbESRI; Paths.PathSimbESRI = c.PathSimbESRI;
Conexion.Puerto = c.Puerto; Conexion.Puerto = c.Puerto;
Conexion.Ip = c.Ip; //Conexion.Ip = c.Ip; //la lee en el momento
Conexion.TiempoOutSocket = c.TiempoOutSocket; Conexion.TiempoOutSocket = c.TiempoOutSocket;
/////////////////////////////////////// ///////////////////////////////////////

18
Resource1.Designer.cs generated
View File

@ -96,6 +96,15 @@ namespace OliviaAddInPro {
} }
} }
/// <summary>
/// Busca una cadena traducida similar a Se debe cerrar la configuración antes de comenzar una ejecución..
/// </summary>
internal static string String_estaenprops {
get {
return ResourceManager.GetString("String_estaenprops", resourceCulture);
}
}
/// <summary> /// <summary>
/// Busca una cadena traducida similar a Ya existe una ejecución en marcha. /// Busca una cadena traducida similar a Ya existe una ejecución en marcha.
/// </summary> /// </summary>
@ -105,6 +114,15 @@ namespace OliviaAddInPro {
} }
} }
/// <summary>
/// Busca una cadena traducida similar a La ejecución ha finalizado con éxito..
/// </summary>
internal static string String_exito {
get {
return ResourceManager.GetString("String_exito", resourceCulture);
}
}
/// <summary> /// <summary>
/// Busca una cadena traducida similar a OLIVIA | Configuración. /// Busca una cadena traducida similar a OLIVIA | Configuración.
/// </summary> /// </summary>

View File

@ -129,9 +129,15 @@
<data name="String_error_elems_tabla" xml:space="preserve"> <data name="String_error_elems_tabla" xml:space="preserve">
<value>No se ha encontrado ningún elemento en la tabla que cumpla con los criterios seleccionados.</value> <value>No se ha encontrado ningún elemento en la tabla que cumpla con los criterios seleccionados.</value>
</data> </data>
<data name="String_estaenprops" xml:space="preserve">
<value>Se debe cerrar la configuración antes de comenzar una ejecución.</value>
</data>
<data name="String_existe_ejec" xml:space="preserve"> <data name="String_existe_ejec" xml:space="preserve">
<value>Ya existe una ejecución en marcha</value> <value>Ya existe una ejecución en marcha</value>
</data> </data>
<data name="String_exito" xml:space="preserve">
<value>La ejecución ha finalizado con éxito.</value>
</data>
<data name="String_header_Config" xml:space="preserve"> <data name="String_header_Config" xml:space="preserve">
<value>OLIVIA | Configuración</value> <value>OLIVIA | Configuración</value>
</data> </data>

View File

@ -37,7 +37,7 @@ namespace OliviaAddInPro.Services
* Modo 0, sectorizar * Modo 0, sectorizar
* Modo 1, planificar * Modo 1, planificar
*/ */
public bool LanzaEjec(ModosEjec modo, out string ErrStr) public bool ExportaEjec(ModosEjec modo, out string ErrStr)
{ {
ErrStr = string.Empty; ErrStr = string.Empty;
try try
@ -204,8 +204,7 @@ namespace OliviaAddInPro.Services
//Prepara nombre de exportación //Prepara nombre de exportación
com.NombreShpExportNw = prefNameExportNw + fechaHora + extShp; com.NombreShpExportNw = prefNameExportNw + fechaHora + extShp;
//exporta los datos de entrada //exporta los datos de entrada
string capaNw =System.IO.Path.Combine(OliviaGlob.Paths.PathGdbNw, OliviaGlob.Capas.ftclass_ejes); if (!HelperGdb.ExportShp2(OliviaGlob.Paths.PathGdbNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc,40))
if (!HelperGdb.ExportShp2(capaNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc,40))
{ {
ErrStr = "Error al exportar la red navegable: " + HelperGdb.OutStr; ErrStr = "Error al exportar la red navegable: " + HelperGdb.OutStr;
return false; return false;
@ -220,7 +219,7 @@ namespace OliviaAddInPro.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
ErrStr = "Errores al comenzar la ejecución: " + ex.Message; ErrStr = "Errores al exportar para comenzar la ejecución: " + ex.Message;
return false; return false;
} }
return true; return true;
@ -259,7 +258,7 @@ namespace OliviaAddInPro.Services
} }
} }
//comprueba que, en el caso de ejes de vía, hayan metido polígono de exportación //comprueba que, en el caso de ejes de vía, hayan metido polígono de exportación
if ((geomAux == null) && (com.CapaElems == OliviaGlob.Capas.ftclass_ejes)) if ((geomAux == null) && (com.CapaElems == OliviaGlob.Paths.PathGdbNw))
{ {
ErrStr = "Al emplear ejes de calle como ámbitos es necesario indicar polígono de exportación"; ErrStr = "Al emplear ejes de calle como ámbitos es necesario indicar polígono de exportación";
return null; return null;
@ -309,34 +308,6 @@ namespace OliviaAddInPro.Services
return str; return str;
} }
/*
* Lee la capa que se ha seleccionzdo de recogida y se comprueba que contiene los campos necesarios
* Devuelve 0 si va todo bien, -1 si da error, y num>0 con los campos que no encuentra
*/
public int CompruebaCampos(string pathCapa, string[] camps)
{
int i;
if (string.IsNullOrEmpty(pathCapa))
{
ErrStr = "No se encuentra la capa";
return -1;
}
ErrStr = "No se encuentran el/los campo/s: ";
int mal = 0;
for (i = 0; i < camps.Length; i++)
{
if (!HelperGdb.CheckField(pathCapa, camps[i]))
{
ErrStr = ErrStr + camps[i] + " ";
mal++;
}
}
if(mal==0)
ErrStr = "";
return mal;
}
public bool ComprCamposPlanif(string pathCapa) public bool ComprCamposPlanif(string pathCapa)
{ {
int NCAMPS = 2; int NCAMPS = 2;
@ -344,7 +315,7 @@ namespace OliviaAddInPro.Services
camps = new string[NCAMPS]; camps = new string[NCAMPS];
camps[0] = LimpiezaDef.Campos.consulta_sector; camps[0] = LimpiezaDef.Campos.consulta_sector;
camps[1] = LimpiezaDef.Campos.consulta_secuen; camps[1] = LimpiezaDef.Campos.consulta_secuen;
return CompruebaCampos(pathCapa, camps) == 0; return HelperGdb.CheckFileds(pathCapa, camps) == 0;
} }
/** /**

View File

@ -29,14 +29,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
} }
OliviaGlob.TipoEjec = TiposEjecucion.Limp;//OliviaDef.GeneralDef.TiposOliv.OlivLimp; OliviaGlob.TipoEjec = TiposEjecucion.Limp;//OliviaDef.GeneralDef.TiposOliv.OlivLimp;
/*
if (!OliviaGlob.gdb_limp.exporta(limp, modo == (int)Ejecuta.ModosEjec.Planif))
{
res.Error.Add(OliviaGlob.gdb_limp.err_st;
res.Value = false;
return res;
}
*/
//configura el string de opciones //configura el string de opciones
if (!configura_ops_geo(limp, modo)) if (!configura_ops_geo(limp, modo))
{ {
@ -45,8 +38,6 @@ namespace OliviaAddInPro.Services.LanzaSrv
return res; return res;
} }
//this.limp = limp;
//Llama al ejecuta del padre //Llama al ejecuta del padre
return base.ejec(NombreTratamiento); return base.ejec(NombreTratamiento);

View File

@ -53,7 +53,7 @@ namespace OliviaAddInPro.Services
string msg = ""; string msg = "";
//comienza ejecucion //comienza ejecucion
if(!LanzaEjec(modo, out msg)) if(!ExportaEjec(modo, out msg))
{ {
res.Errores = true; res.Errores = true;
res.msg = msg; res.msg = msg;
@ -154,7 +154,7 @@ namespace OliviaAddInPro.Services
camps[2] = LimpiezaDef.Campos.consulta_observ; camps[2] = LimpiezaDef.Campos.consulta_observ;
camps[3] = LimpiezaDef.Campos.consulta_anch_tip; camps[3] = LimpiezaDef.Campos.consulta_anch_tip;
camps[4] = LimpiezaDef.Campos.consulta_tipolo; camps[4] = LimpiezaDef.Campos.consulta_tipolo;
return CompruebaCampos(pathCapa, camps)==0; return HelperGdb.CheckFileds(pathCapa, camps)==0;
} }
/** /**
* Lee la gdb y devuelve el array de ámbitos en función de si hay en la gdb o no * Lee la gdb y devuelve el array de ámbitos en función de si hay en la gdb o no

View File

@ -36,7 +36,7 @@ namespace OliviaAddInPro.Services
camps[3] = RecogidaDef.campos_def.cons_lateral; camps[3] = RecogidaDef.campos_def.cons_lateral;
camps[4] = RecogidaDef.campos_def.cons_uds; camps[4] = RecogidaDef.campos_def.cons_uds;
camps[5] = RecogidaDef.campos_def.cons_kgrec; camps[5] = RecogidaDef.campos_def.cons_kgrec;
int compCamp = CompruebaCampos(pathCapa, camps); int compCamp = HelperGdb.CheckFileds(pathCapa, camps);
if (compCamp == 0) if (compCamp == 0)
return 0; return 0;
else if (compCamp == 1 && ErrStr.Contains(RecogidaDef.campos_def.cons_kgrec)) else if (compCamp == 1 && ErrStr.Contains(RecogidaDef.campos_def.cons_kgrec))
@ -89,7 +89,7 @@ namespace OliviaAddInPro.Services
string msg = ""; string msg = "";
//comienza ejecucion //comienza ejecucion
if (!LanzaEjec(modo, out msg)) if (!ExportaEjec(modo, out msg))
{ {
res.Errores = true; res.Errores = true;
res.msg = msg; res.msg = msg;

View File

@ -338,13 +338,13 @@ namespace OliviaAddInPro
//permite visualizar los elementos del ancho de vía que se activará cuando se seleccione la opción genérica de ejes de calle siempre y cuando el tiempo de tratamiento sea en ml/h //permite visualizar los elementos del ancho de vía que se activará cuando se seleccione la opción genérica de ejes de calle siempre y cuando el tiempo de tratamiento sea en ml/h
if (UdsTTto != (int)GeneralDef.OlvTiposTto.OlvTipTtoM2h_eje) if (UdsTTto != (int)GeneralDef.OlvTiposTto.OlvTipTtoM2h_eje)
{ {
VisTextAnchoVia = System.Windows.Visibility.Visible; VisTextAnchoVia = System.Windows.Visibility.Visible;
} }
} }
else else
{ {
VisTextAnchoVia = System.Windows.Visibility.Hidden; VisTextAnchoVia = System.Windows.Visibility.Hidden;
} }
/*if (((TipoTto == (int)LimpiezaDef.TiposTto.TtoBaldMecCalz) && (SelOpAmb >= 2)) || /*if (((TipoTto == (int)LimpiezaDef.TiposTto.TtoBaldMecCalz) && (SelOpAmb >= 2)) ||
((TipoTto == (int)LimpiezaDef.TiposTto.TtoCaidaHoja) && (SelOpAmb >= 2))) ((TipoTto == (int)LimpiezaDef.TiposTto.TtoCaidaHoja) && (SelOpAmb >= 2)))
EnableListBoxAmb = false; //si uno de los ámbitos es "eje de calle" no se puede combinar con los demás ámbitos EnableListBoxAmb = false; //si uno de los ámbitos es "eje de calle" no se puede combinar con los demás ámbitos

View File

@ -79,6 +79,11 @@ namespace OliviaAddInPro
return false; return false;
} }
limp.CapaElems = _subPanel1ViewModel.CapaElems; limp.CapaElems = _subPanel1ViewModel.CapaElems;
//pone que la capa de elementos es la red navegable, que es la que va a exportar
if (_subPanel1ViewModel.SelOpAmb == 1)
{
limp.CapaElems = OliviaGlob.Paths.PathGdbNw;
}
//lee el tipo tto //lee el tipo tto
if (_subPanel1ViewModel.TipoTto == (int)LimpiezaDef.TiposTto.TtoNoDef) if (_subPanel1ViewModel.TipoTto == (int)LimpiezaDef.TiposTto.TtoNoDef)
@ -184,13 +189,5 @@ namespace OliviaAddInPro
Action<TareaRes> ac = finEjecuta; Action<TareaRes> ac = finEjecuta;
OliviaGlob.Limp.EjecutaAsync(modo, ac); OliviaGlob.Limp.EjecutaAsync(modo, ac);
} }
public void finEjecuta(TareaRes res)
{
OliviaGlob.progrDialog.Hide();
if (res.Errores)
{
HelperGlobal.ponMsg(res.msg);
}
}
} }
} }

View File

@ -125,6 +125,19 @@ namespace OliviaAddInPro
return true; return true;
} }
public void finEjecuta(OliviaAddInPro.Model.ComunDef.TareaRes res)
{
OliviaGlob.progrDialog.Hide();
if (res.Errores)
{
HelperGlobal.ponMsg(res.msg);
}
else
{
HelperGlobal.ponMsg(Resource1.String_exito);
}
}
} }
//****************************************************** //******************************************************

View File

@ -233,15 +233,6 @@ namespace OliviaAddInPro
Action<TareaRes> ac = finEjecuta; Action<TareaRes> ac = finEjecuta;
OliviaGlob.Reco.EjecutaAsync(modo, ac); OliviaGlob.Reco.EjecutaAsync(modo, ac);
}
public void finEjecuta(TareaRes res)
{
OliviaGlob.progrDialog.Hide();
if (res.Errores)
{
HelperGlobal.ponMsg(res.msg);
}
} }
} }
} }