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;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 8
0
        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;
            }
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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");
            }
        }
Ejemplo n.º 12
0
        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.");
            }
        }
Ejemplo n.º 13
0
        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.");
            }
        }