using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using OliviaAddInPro.Model; using OliviaAddInPro.Helper; using System.Windows; namespace OliviaAddInPro.Services { public class FinProcServ { public void finEjecuta(Respuesta res) { String msg=string.Empty; //gestiona los flags, el estado de finok o finnok va en res.Vale if (res.HasError) { msg = res.Error.First(); //actualiza los flags OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecNOk); } else { msg = Resource1.String_exito; bool todoOk = true; //importa resultados if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecSecto)) //Ha terminado bien la sectorización { /*if (!gdb.import_secto_ini()) { todoOk=false; msg = msg + " " + gdb.err_st; }*/ } else if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecPlanif)) //Ha terminado bien la planificación { /*guarda_csv(); if (!gdb.import_planif()) { todoOk=false; msg = msg + " " + gdb.err_st; }*/ } //actualiza los flags OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecOk); if (todoOk) { //pone modo config2 OliviaGlob.AddFlagTipEjec(TiposEjecucion.Config2); } } //borra los archivos que le toca borrar BorraFiles(); HelperGlobal.ponMsg(msg); Application.Current.Dispatcher.Invoke(new Action(() => { finEjecuta2(); })); } public void finEjecuta2() { OliviaGlob.progrDialog.Hide(); //muestra la ventana OliviaGlob.ShowHidePane(true); } /** * Borra los archivos exportados para el proceso */ public static void BorraFiles() { string[] list = null; string capa_principal = System.IO.Path.GetFileNameWithoutExtension(OliviaGlob.Paths.PathData); string capa_principal_nw = System.IO.Path.GetFileNameWithoutExtension(OliviaGlob.Paths.PathNW); try { if (capa_principal != null && HelperGdb.CloseLayer(capa_principal)) { list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal + "*"); if (list.Length > 0) { foreach (string f in list) { if (System.IO.Path.GetExtension(f) == ".lock") continue; System.IO.File.Delete(f); } } } if (capa_principal_nw != null && HelperGdb.CloseLayer(capa_principal_nw)) { list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal_nw + "*"); if (list.Length > 0) { foreach (string f in list) { if (System.IO.Path.GetExtension(f) == ".lock") continue; System.IO.File.Delete(f); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }