예제 #1
0
        private void AddUser(object sender, RoutedEventArgs e)
        {
            var frmAdd = new FrmAddUser(_ds);
            frmAdd.ShowDialog();

            _ds.WriteXml(_xmlPath);
        }
예제 #2
0
        public MainWindow()
        {
            InitializeComponent();

            string[] xmlFiles = {"users"}; //String-Array mit den benötigten Dateien
            _ds.DataSetName = "users";

            if(_initxml.XMLStructureInitialized(xmlFiles))
            {
                InitUserTable();
            }
            else
            {
                _initxml.CreateXMLFileStructure(xmlFiles);
                MessageBox.Show("Dies ist der erste Start von Ambulance Merseburg Apotheken Manager."+Environment.NewLine + "Sie müssen nun einen Benutzer erstellen.", "Willkommen", MessageBoxButton.OK, MessageBoxImage.Information);
                var addUser = new FrmAddUser(_ds);
                addUser.ShowDialog();
                _ds.WriteXml(_xmlPath);
                InitUserTable();
            }
        }
예제 #3
0
        /// <summary>
        /// Methode zum Laden der User-Daten in die Form
        /// </summary>
        private void InitUserTable()
        {
            CboUsername.Items.Clear();

            var xmlFile = XmlReader.Create(_xmlPath, new XmlReaderSettings());
            try
            {

                if(_ds.Tables.Count > 0)
                {
                    CboUsername.ItemsSource = _ds.Tables["user"].DefaultView;
                    CboUsername.SelectedIndex = 0;
                }
                else
                {
                    _ds.ReadXml(xmlFile);
                    xmlFile.Close();
                    if(_ds.Tables.Count > 0)
                    {
                        CboUsername.ItemsSource = _ds.Tables["user"].DefaultView;
                        CboUsername.SelectedIndex = 0;
                    }
                }
            }
            catch(XmlException ex)
            {
                MessageBox.Show("Die Benutzerdatenbank ist korrupt. Es wird nun eine neue Benutzerdatenbank angelegt." + Environment.NewLine + Environment.NewLine + "Die korrupte Benutzerdatenbank wird gesichert und der Administrator per eMail kontaktiert. Bitte einen Moment Geduld.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);

                File.Move(_xmlPath, _xmlPath + ".corrupt");
                File.Delete(_xmlPath);
                _initxml.CreateXMLFileStructure("users");

                var exReport = new ExceptionReporter(ex);
                exReport.ReportExceptionToAdmin(_xmlPath + ".corrupt");
            }
            if(!CboUsername.HasItems)
            {
                MessageBoxResult messageResult = MessageBox.Show("Die Benutzerdatenbank enthält keinen Benutzer." + Environment.NewLine + "Sie müssen nun einen Benutzer anlegen um fortfahren zu können.", "Fehler", MessageBoxButton.OKCancel, MessageBoxImage.Error);
                if(messageResult == MessageBoxResult.OK)
                {
                    var addUser = new FrmAddUser(_ds);
                    addUser.ShowDialog();
                    _ds.WriteXml(_xmlPath);
                    CboUsername.ItemsSource = _ds.Tables["user"].DefaultView;
                    CboUsername.SelectedIndex = 0;
                }
                else
                {
                    Environment.Exit(1);
                }
            }
        }