예제 #1
0
        private bool GemSettings()
        {
            if (!Directory.Exists(SavePathTB.Text))
            {
                MessageBox.Show("Katalog findes ikke: " + SavePathTB.Text, "Fejl", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                return(false);
            }

            settings.brugernavn         = BrugernavnTB.Text;
            settings.password           = PasswordTB.Text.Trim();
            settings.aktiveringskode    = AktiveringTB.Text.Trim();
            settings.savepath           = SavePathTB.Text + (SavePathTB.Text.EndsWith("\\") ? "" : "\\");
            settings.mailserver         = MailDNSTB.Text;
            settings.mailserverport     = string.IsNullOrEmpty(MailPortTB.Text) ? 0 : int.Parse(MailPortTB.Text);
            settings.mailserveruser     = MailUserTB.Text;
            settings.mailserverpassword = MailPasswdTB.Text;
            settings.mailfrom           = MailFromTB.Text;
            settings.mailto             = MailToTB.Text;
            settings.mailserverssl      = MailSSLCB.IsChecked.GetValueOrDefault();
            settings.downloadonly       = downloadonlyCB.IsChecked.GetValueOrDefault();
            settings.startminimeret     = StartMinimizedCB.IsChecked.GetValueOrDefault();
            settings.autorun            = auturunCB.IsChecked.GetValueOrDefault();

            if (string.IsNullOrEmpty(settings.deviceid))
            {
                settings.deviceid = Guid.NewGuid().ToString();
            }

            if (string.IsNullOrEmpty(settings.response))
            {
                settings.response = settings.GetRandomHexNumber(64);
            }

            if (!SendTestMail())
            {
                return(false);
            }

            var eBoks = new Eboks();

            if (!eBoks.GetSessionForAccountRest())
            {
                MessageBox.Show("Opsætning kunne ikke verificeres.", "Fejl", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }

            settings.Save();
            Konfigok = true;

            return(true);
        }
예제 #2
0
        public MainWindow()
        {
            InitializeComponent();

            if (string.IsNullOrEmpty(settings.response) || string.IsNullOrEmpty(settings.brugernavn) ||
                !_eboks.GetSessionForAccountRest())
            {
                RunKonfiguration();
            }

            // Initialize menuItemExit
            var menuItemExit = new MenuItem
            {
                Index = 0,
                Text  = "E&xit"
            };

            menuItemExit.Click += MenuItemExitClick;

            // Initialize menuItemHent
            var menuItemHent = new MenuItem
            {
                Index = 1,
                Text  = "&Hent"
            };

            menuItemHent.Click += MenuItemHentClick;

            // Initialize menuItemÅbn
            var menuItemÅbn = new MenuItem
            {
                Index = 1,
                Text  = "&Åbn hentet"
            };

            menuItemÅbn.Click += MenuItemÅbnClick;

            var contextMenu = new ContextMenu();

            contextMenu.MenuItems.Add(menuItemExit);
            contextMenu.MenuItems.Add(menuItemHent);
            contextMenu.MenuItems.Add(menuItemÅbn);

            // The ContextMenu property sets the menu that will
            // appear when the systray icon is right clicked.
            settings.Notification.ContextMenu  = contextMenu;
            settings.Notification.Icon         = new Icon("eboksdownloader.ico");
            settings.Notification.Visible      = false;
            settings.Notification.DoubleClick +=
                delegate
            {
                Show();
                WindowState = WindowState.Normal;
            };


            // Kontroller hver 4. time
            KontrolTimer.Tick    += TimerHentDokumenter;
            KontrolTimer.Interval = 1000 * 60 * 240;
            KontrolTimer.Start();
            if (settings.startminimeret)
            {
                settings.Notification.Visible = true;
                Hide();
            }

            HentDokumenter();
        }