static void Main(string[] args)
 {
     try
     {
         bool createdNew;
         instanceMutex = new Mutex(true, @"Local\" + Assembly.GetExecutingAssembly().GetType().GUID, out createdNew);
         if (!createdNew)
         {
             instanceMutex = null;
             return;
         }
         if (MessageBoxResult.Yes == MessageBox.Show($"¿Desea desinstalar {Globals.PublisherName} - {Globals.ProductName}", "Desinstalar", MessageBoxButton.YesNo, MessageBoxImage.Question))
         {
             var clickOnce = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName);
             if (clickOnce.Uninstall())
             {
                 clickOnce.RemoveStartup();
                 var publisherFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Globals.PublisherName);
                 if (Directory.Exists(publisherFolder))
                 {
                     Directory.Delete(publisherFolder, true);
                 }
             }
         }
         ReleaseMutex();
     }
     catch (Exception e)
     {
         Debug.WriteLine(e.Message);
     }
 }
Example #2
0
        private void UcUpdateButton_OnClick(object sender, RoutedEventArgs e)
        {
            Telemetry.Instance.Native?.TrackEvent("About.Update");
            UpdateStatusMessage("Updating...", false);

            ClickOnceHelper.DoUpdateAsync(
                (o, args) =>
            {
                if (args.Error != null)
                {
                    UpdateStatusError("Update failed.", args.Error);
                }
                else if (args.Cancelled)
                {
                    UpdateStatusSuccess("Update canceled.");
                }
                else
                {
                    _pendingRestart = true;
                    UpdateStatusSuccess("Update completed. Restart the application.");
                }
            },
                (o, args) =>
            {
                ucUpdateMessage.Text = $"Updating {args.ProgressPercentage}%...";
            }
                );
        }
Example #3
0
        static void Main()
        {
            try
            {
                bool createdNew;
                instanceMutex = new Mutex(true, @"Local\" + Assembly.GetExecutingAssembly().GetType().GUID, out createdNew);
                if (!createdNew)
                {
                    instanceMutex = null;
                    return;
                }

                if (MessageBox.Show(Resources.Uninstall_Question, Resources.Uninstall + Globals.ProductName,
                                    MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    var clickOnceHelper = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName);
                    clickOnceHelper.Uninstall();

                    //Delete all files from publisher folder and folder itself on uninstall
                    var publisherFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Globals.PublisherName);
                    if (Directory.Exists(publisherFolder))
                    {
                        Directory.Delete(publisherFolder, true);
                    }
                }

                ReleaseMutex();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
        }
Example #4
0
        private async void AboutWindow_OnLoaded(object sender, RoutedEventArgs e)
        {
            if (_pendingRestart)
            {
                UpdateStatusSuccess("Update completed. Restart the application.");
                return;
            }

            try
            {
                var updateInfo = await ClickOnceHelper.CheckNewVersion();

                if (updateInfo.UpdateAvailable)
                {
                    Telemetry.Instance.Native?.TrackEvent("About.UpdateAvailable", new Dictionary <string, string>
                    {
                        { "currentVersion", VersionUtil.GetVersion() },
                        { "newVersion", updateInfo.AvailableVersion.ToString(4) }
                    });
                    UpdateStatusMessage($"New version '{updateInfo.AvailableVersion.ToString(4)}' is available.", true);
                    ucUpdateButton.Visibility = Visibility.Visible;
                }
                else
                {
                    UpdateStatusMessage("Application is up to date.");
                }
            }
            catch (Exception ex)
            {
                UpdateStatusError("Could not check updates, try again later.", ex);
            }
        }
Example #5
0
        static void Main()
        {
            AppContracts contracts = new AppContracts();
            bool         createdNew;

            try
            {
                instanceMutex = new Mutex(true, @"Local\" + Assembly.GetExecutingAssembly().GetType().GUID,
                                          out createdNew);
                if (!createdNew)
                {
                    instanceMutex = null;
                    return;
                }
                var clickOnceHelper = new ClickOnceHelper(contracts.PublisherName, contracts.ProductName);
                var form            = new UninstallForm(contracts);
                Application.EnableVisualStyles();
                Application.Run(form);
                if (form.Uninstall)
                {
                    clickOnceHelper.Uninstall();
                }
            }
            finally
            {
                ReleaseMutex();
            }
        }
Example #6
0
        public TicketApplication()
        {
            var clickOnce = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName);

            clickOnce.UpdateUninstallParameters();
            RegisterStartup(clickOnce.ProductName);
            _ticketService.InitializeConfiguration();
            InitializeTicketTimer();
        }
Example #7
0
 protected override void OnStartup(StartupEventArgs e)
 {
     try
     {
         var clickOnce = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName);
         clickOnce.UpdateUninstallParameters();
         SupportHtml5();
         base.OnStartup(e);
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex);
     }
 }
Example #8
0
        protected override void OnStartup(StartupEventArgs e)
        {
            //AutoTrayicon();

            try
            {
                var clickOnceHelper = new ClickOnceHelper(Globals.PublisherName, Globals.ProductName);
                clickOnceHelper.UpdateUninstallParameters();
                clickOnceHelper.AddShortcutToStartup();
            }
            catch (Exception ex)
            {
                Debug.WriteLine("catch exception on start up" + ex);
            }


            base.OnStartup(e);
        }
Example #9
0
        private static void Main()
        {
            if (!Helpers.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());
        }
Example #10
0
        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());
        }