private static void ApplicationExit(object sender, EventArgs e) { // last change for cleanup code here! // only restart if user requested, not an unhandled app exception... AppProcessHelper.RestartIfRequired(); }
public override void Process() { if (Updater.CheckUpdateSyncWithInfo()) { var token = Updater.GetTokenSource(); try { token.Cancel(); } catch (AggregateException ex) when(ex.InnerExceptions.Any(inner => inner is TaskCanceledException)) { var canceledTasks = ex.InnerExceptions .Where(inner => inner is TaskCanceledException) .Select(x => ((TaskCanceledException)x).Task); foreach (var t in canceledTasks) { t.Dispose(); } } finally { token.Dispose(); } Updater.UpdateHot(); AppProcessHelper.BeginReStart(); //Application.ExitThread(); //Application.Restart(); //Application.Exit(); } }
private static void Main() { if (!AppProcessHelper.SetSingleInstance()) { Environment.Exit(-1); } ServicePointManager.DefaultConnectionLimit = 100; RegisterStartup(Globals.ProductName); var clickOnce = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName); clickOnce.UpdateUninstallParameters(); string _remoteServer = string.Empty, _remoteToken = string.Empty; //LeerFicherosConfiguracion(ref _remoteServer, ref _remoteToken); //RemoteConfig.Setup(_remoteServer, _remoteToken); //LocalConfig.Setup(GetConnexionLocal()); //Task.Factory.StartNew(() => new PowerSwitchProgramado(FisiotesFactory.New()).SincronizarAsync(Updater.GetCancellationToken(), delayLoop: 60000)); //Task.Factory.StartNew(() => new PowerSwitchManual(FisiotesFactory.New()).SincronizarAsync(Updater.GetCancellationToken(), delayLoop: 60000)); Task.Factory.StartNew(() => new UpdateVersionSincronizador().SincronizarAsync(new CancellationToken(), delayLoop: 200)); var notifyIcon = new NotifyIcon(); notifyIcon.ContextMenuStrip = GetSincronizadorMenuStrip(); notifyIcon.Icon = Resources.sync; notifyIcon.Visible = true; Application.ApplicationExit += ApplicationExit; Application.ApplicationExit += (sender, @event) => notifyIcon.Visible = false; Application.Run(new SincronizadorApplication()); }
public static void RestartIfRequired(this Application app) => AppProcessHelper.RestartIfRequired();
public static void PreventRestart(this Application app, bool state = true) => AppProcessHelper.PreventRestart(state);
public static void BeginReStart(this Application app) => AppProcessHelper.BeginReStart();
public static bool ReleaseSingleInstance(this Application app) => AppProcessHelper.ReleaseSingleInstance();
public static bool SetSingleInstance(this Application app) => AppProcessHelper.SetSingleInstance();
private static void Main() { if (!AppProcessHelper.SetSingleInstance()) { Environment.Exit(-1); } ServicePointManager.DefaultConnectionLimit = 100; RegisterStartup(Globals.ProductName); var clickOnce = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName); clickOnce.UpdateUninstallParameters(); Initialize(); //SisfarmaFactory.Create().Configuraciones.Update("versionSincronizador", $"{ApplicationDeployment.CurrentDeployment.CurrentVersion}"); SisfarmaFactory.Create().Configuraciones.Update("versionSincronizador", "1.0"); SincronizadorTaskManager.TaskSincronizadores //.AddSincronizador(new Domain.Core.Sincronizadores.PuntoPendienteSincronizadorEmp1( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayPuntosPendiente) //.AddSincronizador(new Domain.Core.Sincronizadores.PuntoPendienteSincronizadorEmp2( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayPuntosPendiente) //.AddSincronizador(new Domain.Core.Sincronizadores.ClienteSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()) // .SetHorarioVaciemientos("1500", "2300"), // delay: SincronizadorTaskManager.DelayClientes) //.AddSincronizador(new Domain.Core.Sincronizadores.HuecoSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayClientesHuecos) //.AddSincronizador(new Domain.Core.Sincronizadores.CategoriaSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayCategoria) //.AddSincronizador(new Domain.Core.Sincronizadores.ControlStockFechaEntradaSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayControlStockFechas) //.AddSincronizador(new Domain.Core.Sincronizadores.ControlStockFechaSalidaSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayControlStockFechas) //.AddSincronizador(new Domain.Core.Sincronizadores.ControlStockSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayControlStock) //.AddSincronizador(new Domain.Core.Sincronizadores.ControlSinStockSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayControlStock) //.AddSincronizador(new Domain.Core.Sincronizadores.ProductoCriticoSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayProductosCriticos) //.AddSincronizador(new Domain.Core.Sincronizadores.EncargoSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayEncargos) //.AddSincronizador(new Domain.Core.Sincronizadores.FamiliaSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayFamilia) //.AddSincronizador(new Domain.Core.Sincronizadores.ListaSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayListas) .AddSincronizador(new Domain.Core.Sincronizadores.SinonimoSincronizador( farmacia: FarmaciaFactory.Create(), fisiotes: SisfarmaFactory.Create()) .SetHorarioVaciamientos("1000", "1230", "1730", "1930"), delay: SincronizadorTaskManager.DelaySinomimos) //.AddSincronizador(new Domain.Core.Sincronizadores.PedidoSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayPedidos) //.AddSincronizador(new Domain.Core.Sincronizadores.ProveedorSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayProveedores) //.AddSincronizador(new Domain.Core.Sincronizadores.ProveedorHistorialSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayProveedoresHistorico) //.AddSincronizador(new Domain.Core.Sincronizadores.PuntoPendienteActualizacionSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayPuntosPendiente) //.AddSincronizador(new Domain.Core.Sincronizadores.VentaMensualActualizacionSincronizadorEmp1( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create(), // listaDeArticulo: FarmaciaContext.ListaDeArticulo), // delay: SincronizadorTaskManager.DelayVentaMensual) //.AddSincronizador(new Domain.Core.Sincronizadores.VentaMensualActualizacionSincronizadorEmp2( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create(), // listaDeArticulo: FarmaciaContext.ListaDeArticulo), // delay: SincronizadorTaskManager.DelayVentaMensual) //.AddSincronizador(new Domain.Core.Sincronizadores.VentaPendienteSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayPuntosPendiente) //.AddSincronizador(new Domain.Core.Sincronizadores.ProductoBorradoActualizacionSincronizador( // farmacia: FarmaciaFactory.Create(), // fisiotes: SisfarmaFactory.Create()), // delay: SincronizadorTaskManager.DelayProductosBorrar); ; Task.Factory.StartNew(() => new PowerSwitchProgramado(SisfarmaFactory.Create()).SincronizarAsync(Updater.GetCancellationToken(), delayLoop: 60000)); Task.Factory.StartNew(() => new PowerSwitchManual(SisfarmaFactory.Create()).SincronizarAsync(Updater.GetCancellationToken(), delayLoop: 60000)); Task.Factory.StartNew(() => new UpdateVersionSincronizador().SincronizarAsync(new CancellationToken(), delayLoop: 20000)); var notifyIcon = new NotifyIcon(); notifyIcon.ContextMenuStrip = GetSincronizadorMenuStrip(); notifyIcon.Icon = Resources.sync; notifyIcon.Visible = true; Application.ApplicationExit += ApplicationExit; Application.ApplicationExit += (sender, @event) => notifyIcon.Visible = false; Application.Run(new SincronizadorApplication()); }