private void HandleBackCommand(object parameter)
        {
            var adminPanel = ViewManager.ComposeObjects <AdminPanel>();

            adminPanel.Show();
            this.CloseAction();
        }
        private void HandleSaveCommand(object parameter)
        {
            var passInfo     = (List <object>)parameter;
            var password     = ((PasswordBox)passInfo[0]).Password;
            var repeatedPass = ((PasswordBox)passInfo[1]).Password;

            if (password != repeatedPass)
            {
                MessageBox.Show("Passwords do not match");
                return;
            }

            try
            {
                var result = UserService.CreateUser(this.Username, password, this.SelectedClearenceType);

                MessageBox.Show(result);

                AdminPanel dash = ViewManager.ComposeObjects <AdminPanel>();
                dash.Show();
                this.CloseAction();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
        private void HandleInquiriesCommand(object parameter)
        {
            var inquiriesWindow = ViewManager.ComposeObjects <MainInquiries>();

            inquiriesWindow.Show();
            this.CloseAction();
        }
        private void HandleContragentsCommand(object parameter)
        {
            var contragentsWindow = ViewManager.ComposeObjects <MainContragents>();

            contragentsWindow.Show();
            this.CloseAction();
        }
        private void HandleActiveProjectsCommand(object parameter)
        {
            var activeProjectsWindow = ViewManager.ComposeObjects <ActiveProjects>();

            activeProjectsWindow.Show();
            this.CloseAction();
        }
        private void HandleLogoutCommand(object parameter)
        {
            Session.Instance.Logout();
            var loginWindow = ViewManager.ComposeObjects <LoginForm>();

            loginWindow.Show();
            this.CloseAction();
        }
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            var viewManager = new ViewManager();

            Current.MainWindow = viewManager.ComposeObjects <LoginForm>();
            Current.MainWindow.Show();
            //AutoMapperConfiguration.Configure();
        }
        protected virtual void HandleLoadedCommand(object parameter)
        {
            var poView   = ViewManager.ComposeObjects <ProjectOverviewView>();
            var poViewVM = (PFOverviewViewModel)poView.DataContext;

            poViewVM.SelectedProject = this.SelectedProject;
            poViewVM.CloseAction     = this.CloseAction;
            Tabs.Add(new TabItem {
                Header = "Project Overview", Content = poView
            });
            if (this.SelectedProject != null)
            {
                var iView   = ViewManager.ComposeObjects <IncomesView>();
                var iViewVM = (PFIncomeViewModel)iView.DataContext;
                iViewVM.SelectedProject = this.SelectedProject;
                iViewVM.CloseAction     = this.CloseAction;
                Tabs.Add(new TabItem {
                    Header = "Income", Content = iView
                });

                var eView   = ViewManager.ComposeObjects <ExpensesView>();
                var eViewVM = (PFExpensesViewModel)eView.DataContext;
                eViewVM.SelectedProject = this.SelectedProject;
                eViewVM.CloseAction     = this.CloseAction;
                Tabs.Add(new TabItem {
                    Header = "Expenses", Content = eView
                });

                var nView   = ViewManager.ComposeObjects <NotesView>();
                var nViewVM = (PFNotesViewModel)nView.DataContext;
                nViewVM.SelectedProject = this.SelectedProject;
                nViewVM.CloseAction     = this.CloseAction;
                Tabs.Add(new TabItem {
                    Header = "Notes", Content = nView
                });
            }
            else
            {
                poViewVM.HideNotesTab();
                poViewVM.HideNotesLabel();
                poViewVM.HideIncomeBox();
                poViewVM.HideIncomeLabel();
                poViewVM.HideExpensesBox();
                poViewVM.HideExpensesLabel();
                poViewVM.HideProfitBox();
                poViewVM.HideProfitLabel();
            }
            this.OpenTab();
        }
        private void HandleDeleteCommand(object parameter)
        {
            var projectId = (int)selectedProject.Row.ItemArray[0];

            var result = string.Empty;

            try
            {
                result = this.ProjectService.Delete(projectId);
            }
            catch (Exception e)
            {
                result = e.Message;
            }

            MessageBox.Show(result);
            var inquiriesWindow = ViewManager.ComposeObjects <ActiveProjects>();

            inquiriesWindow.Show();
            this.CloseAction();
        }