diff --git a/Model/TratamientoComun.cs b/Model/TratamientoComun.cs index 93e5e1d..6410e45 100644 --- a/Model/TratamientoComun.cs +++ b/Model/TratamientoComun.cs @@ -140,6 +140,7 @@ namespace OliviaAddInPro.Model { ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog); ProceSrv = new ProcesoEjecServ(); + FinProceSrv = new FinProcServ(); } public void ComienzaEjec(OliviaAddInPro.Services.ModosEjec modo) diff --git a/Services/FinProcServ.cs b/Services/FinProcServ.cs index fc724f5..f98f9a1 100644 --- a/Services/FinProcServ.cs +++ b/Services/FinProcServ.cs @@ -15,16 +15,26 @@ namespace OliviaAddInPro.Services public void finEjecuta(Respuesta res) { OliviaGlob.progrDialog.Hide(); - + String msg=string.Empty; //gestiona los flags, el estado de finok o finnok va en res.Vale if (res.HasError) { - HelperGlobal.ponMsg(res.Error.First()); + msg = res.Error.First(); } else { - HelperGlobal.ponMsg(Resource1.String_exito); + msg = Resource1.String_exito; } + + //importa resultados + + //borra los archivos que le toca borrar + //hay una funcion borrafiles en EjecServ, usar esa? + //pone modo config2 + + + HelperGlobal.ponMsg(msg); + Application.Current.Dispatcher.Invoke(new Action(() => { finEjecuta2(); })); } @@ -33,12 +43,6 @@ namespace OliviaAddInPro.Services { //muestra la ventana OliviaGlob.ShowHidePane(true); - - //importa resultados - - //borra los archivos que le toca borrar - //hay una funcion borrafiles en EjecServ, usar esa? - //pone modo config2 } //se le llama cuando ha terminado el proceso de ejecución en Olivia Tasks diff --git a/Services/LanzaSrv/LanzaOlvServ.cs b/Services/LanzaSrv/LanzaOlvServ.cs index c3f24ca..cacbba0 100644 --- a/Services/LanzaSrv/LanzaOlvServ.cs +++ b/Services/LanzaSrv/LanzaOlvServ.cs @@ -94,8 +94,13 @@ namespace OliviaAddInPro.Services.LanzaSrv try { + int tipoEjec=-1; + if (OliviaGlob.IsLimp()) + tipoEjec = 0; + else if (OliviaGlob.IsReco()) + tipoEjec = 1; //van ParamN parámetros, sin incluir, si se añaden, incrementar ParamN - args = GeneralDef.EjecGeoParamSep + GeneralDef.GG_tipo + GeneralDef.EjecGeoParamIgual + (((int)OliviaGlob.TipoEjec)-1).ToString() + " " + + args = GeneralDef.EjecGeoParamSep + GeneralDef.GG_tipo + GeneralDef.EjecGeoParamIgual + tipoEjec.ToString() + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ip + GeneralDef.EjecGeoParamIgual + OliviaGlob.Conexion.Ip + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_port + GeneralDef.EjecGeoParamIgual + OliviaGlob.Conexion.Puerto + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tout + GeneralDef.EjecGeoParamIgual + OliviaGlob.Conexion.TiempoOutSocket + " " + diff --git a/Services/ProcesoEjecServ.cs b/Services/ProcesoEjecServ.cs index 26d1da3..319a032 100644 --- a/Services/ProcesoEjecServ.cs +++ b/Services/ProcesoEjecServ.cs @@ -96,7 +96,10 @@ namespace OliviaAddInPro.Services nint++; } else + { first_send_cfg = false; + nint = 0; + } } if (cps.Progressor.CancellationToken.IsCancellationRequested) //mira a ver si ha cancelado el usuario @@ -116,6 +119,16 @@ namespace OliviaAddInPro.Services var pp = pide_progr(); if (pp .Value> TiposActu.ActuFinOk) fin = true; + if(pp.HasError) + { + if (nint >= nint_max) + { + res.Error.Add(pp.Error.FirstOrDefault()); + sal = true; + } + else + nint++; + } actualiza(pp); lastprog = Environment.TickCount; }