private void ModifyUser(object parameter) { log.Debug("Modify user button"); PasswordBox pwBox = (PasswordBox)parameter; string OldPassword = pwBox.Password; if (string.IsNullOrWhiteSpace(_oldUserID) || string.IsNullOrWhiteSpace(OldPassword) || string.IsNullOrWhiteSpace(UserID) || string.IsNullOrWhiteSpace(Password) || string.IsNullOrWhiteSpace(Confirm)) { NotificationProvider.Error("Edit user error", "Please fill the Username and Password fieleds."); } else { try { if (UserLogin.ModifyUser(_oldUserID, OldPassword, UserID, Password, Confirm)) { NotificationProvider.Info(String.Format("User modified: {0}", _oldUserID), String.Format("New username: {0}", UserID)); EditWindow?.Close(); } else { NotificationProvider.Error("Edit user error", "Database error"); } } catch (ArgumentException e) { switch (e.ParamName) { case "oldUserID": NotificationProvider.Error("Edit user error", "The original username is missing from the database."); break; case "oldPassword": NotificationProvider.Error("Edit user error", "The old password is wrong."); break; case "newUserId": NotificationProvider.Error("Edit user error", "The new username already exist."); break; case "password": NotificationProvider.Error("Edit user error", "Please fill the password field."); break; case "confirm": NotificationProvider.Error("Edit user error", "Password does not match the confirm password."); break; default: NotificationProvider.Error("Edit user error", "UserLogin error"); break; } } } }
private void Login(object parameter) { log.Debug("Login button"); PasswordBox pwBox = (PasswordBox)parameter; Password = pwBox.Password; if (!DatabaseConnection.TestConnection()) { NotificationProvider.Alert("Database connection error", "Please set the database connection, before login."); } else { try { UserLogin.Login(UserID, Password); NotificationProvider.Info(String.Format("Welcome, {0}!", UserID), "You have succesfully logged in."); LoginWindow.Close(); } catch (ArgumentException e) { NotificationProvider.Error("Login error", e.Message); } } }
private void AddUser(object parameter) { log.Debug("Add user button"); if (Password != Confirm) { NotificationProvider.Error("New user error", "Password does not match the confirm password."); } else { try { if (UserLogin.AddUser(UserID, Password)) { NotificationProvider.Info("New user added", String.Format("Username: {0}", UserID)); NewUserWindow.Close(); } else { NotificationProvider.Error("New user error", "Username already exist."); } } catch { NotificationProvider.Error("New user error", "Please fill the Username and Password fieleds."); } } }
protected override void NewItem(object parameter) { log.Debug("New " + ItemName + " button"); TransactionHeadListEntity Item = new TransactionHeadListEntity(); Item.Head = new TransactionHeadEntity(); Item.Head.Incoming = this.Incoming; Item.Head.Date = DateTime.Now.Date; EditTransactionViewModel ETVM = new EditTransactionViewModel(Item, true, ItemName); EditItemWindow EIV = new EditItemWindow() { DataContext = ETVM }; EIV.ShowDialog(); if (ETVM.SaveEdit) { Item = ETVM.Item; NotificationProvider.Info("Transaction added", string.Format("Id: {0}\nDate: {1}\nPartner name: {2}", Item.Head.Id, Item.Head.Date.ToString("d"), Item.Partner.Name)); RefreshList(parameter); foreach (var t in List) { if (Item.Head.Id == t.Head.Id) { SelectedItem = t; } } } }
protected override void NewItem(object parameter) { log.Debug("New " + ItemName + " button"); ProductCategoryEntity Item = new ProductCategoryEntity(); EditProductCategoryViewModel EPVM = new EditProductCategoryViewModel(Item, true, ItemName); EditItemWindow EIV = new EditItemWindow() { DataContext = EPVM }; EIV.ShowDialog(); if (EPVM.SaveEdit) { Item = EPVM.Item; NotificationProvider.Info("Product category added", string.Format("Category name:{0}", Item.Category)); RefreshList(parameter); foreach (var p in List) { if (Item.Id == p.Id) { SelectedItem = p; } } } }
protected override void EditItem(object parameter) { log.Debug("Edit " + ItemName + " button"); PartnerEntity Item = new PartnerEntity(); EntityCloner.CloneProperties <PartnerEntity>(SelectedItem, Item); EditPartnerViewModel EPVM = new EditPartnerViewModel(Item, false, ItemName); EditItemWindow EIV = new EditItemWindow() { DataContext = EPVM }; EIV.ShowDialog(); if (EPVM.SaveEdit) { Item = EPVM.Item; NotificationProvider.Info("Partner saved", string.Format("Partner name:{0}", Item.Name)); RefreshList(parameter); foreach (var p in List) { if (Item.Id == p.Id) { SelectedItem = p; } } } }
protected override void EditItem(object parameter) { log.Debug("Edit " + ItemName + " button"); TransactionHeadListEntity Item = new TransactionHeadListEntity(); EntityCloner.CloneProperties <TransactionHeadListEntity>(SelectedItem, Item); EditTransactionViewModel ETVM = new EditTransactionViewModel(Item, false, ItemName); EditItemWindow EIV = new EditItemWindow() { DataContext = ETVM }; EIV.ShowDialog(); if (ETVM.SaveEdit) { Item = ETVM.Item; NotificationProvider.Info("Transaction saved", string.Format("Id: {0}\nDate: {1}\nPartner name: {2}", Item.Head.Id, Item.Head.Date.ToString("d"), Item.Partner.Name)); RefreshList(parameter); foreach (var t in List) { if (Item.Head.Id == t.Head.Id) { SelectedItem = t; } } } }
public MainWindowViewModel(Window mainwindow) { log.Debug(">>> Program started. <<<"); MainWindow = mainwindow; try { // Set database connection. if (!DatabaseConnection.TestConnection()) { log.Debug("Can't connect to database. => Opening connection setup window."); SetupConnectionWindow SCW = new SetupConnectionWindow(); SCW.ShowDialog(); if (!DatabaseConnection.TestConnection()) { log.Debug("Database connection wasn't set."); CloseWindow(); return; } } // New user. if (UserLogin.IsEmptyUserDatabase()) { log.Debug("User datatable is empty. => Opening new user window."); NotificationProvider.Info("Welcome First User!", "Please, set a username and a password."); NewUserWindow NUW = new NewUserWindow(); NUW.ShowDialog(); if (UserLogin.IsEmptyUserDatabase()) { log.Debug("User wasn't added."); CloseWindow(); return; } } // Login. log.Debug("Opening login window."); LoginWindow LW = new LoginWindow(); LW.ShowDialog(); if (UserLogin.LoginedUser == "") { log.Debug("Not logged in."); CloseWindow(); return; } } catch (Exception ex) { log.Fatal("Program initialization error.", ex); MessageBox.Show("Program initialization error.\nCheck RedLog.txt for more information.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); CloseWindow(); return; } }
protected override void DeleteItem(object parameter) { log.Debug("Delete " + ItemName + " button"); string UserID = SelectedItem.Username; UserLogin.RemoveUser(UserID); NotificationProvider.Info("User deleted", String.Format("Username: {0}", UserID)); RefreshList(parameter); }
private void ConnectDatabase(object parameter) { log.Debug("Connect to database"); if (DatabaseConnection.ChangeDatabase(Directory, DbName)) { NotificationProvider.Info("Connected to:", ConnectedFile); SetupWindow?.Close(); } else { NotificationProvider.Error("Connection error", "Database connection failed."); } RaisePropertyChanged("ConnectionState"); RaisePropertyChanged("ConnectedFile"); }
protected override void DeleteItem(object parameter) { log.Debug("Delete " + ItemName + " button"); string name = SelectedItem.Category; if (ManageProducts.DeleteProductCategory(SelectedItem)) { RefreshList(parameter); NotificationProvider.Info("Product category deleted", string.Format("Category name:{0}", name)); } else { NotificationProvider.Error("Delete product category error", "This category is set to one or more product"); } }
protected override void DeleteItem(object parameter) { log.Debug("Delete " + ItemName + " button"); string name = SelectedItem.Name; if (ManagePartners.DeletePartner(SelectedItem)) { RefreshList(parameter); NotificationProvider.Info("Partner deleted", string.Format("Partner name:{0}", name)); } else { NotificationProvider.Error("Delete partner error", "This partner is set to one or more transactions."); } }
private void CreateDatabase(object parameter) { log.Debug("Create database"); if (DatabaseConnection.CreateDatabase(Directory, DbName)) { RaisePropertyChanged("ConnectionState"); RaisePropertyChanged("ConnectedFile"); CollectDbNames(Directory); NotificationProvider.Info("Database created", "New database: " + DbName); NotificationProvider.Info("Connected to:", ConnectedFile); SetupWindow?.Close(); } else { NotificationProvider.Error("New database error", "Database creation failed."); } }
protected override void DeleteItem(object parameter) { log.Debug("Delete " + ItemName + " button"); string date = SelectedItem.Head.Date.ToString("d"); string PartnerName = SelectedItem.Partner.Name; int id = SelectedItem.Head.Id; if (ManageTransactions.RemoveTransaction(SelectedItem.Head)) { RefreshList(parameter); NotificationProvider.Info("Transaction deleted", string.Format("Id: {0}\nDate: {1}\nPartner name: {2}", id, date, PartnerName)); } else { NotificationProvider.Error("Delete transaction error", "Unknown reason."); } }