Пример #1
0
 public ChangeTaskCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #2
0
 public RemoveUserCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #3
0
 public AdminWindow()
 {
     InitializeComponent();
     Adminvm     = new AdminWindowViewModel();
     DataContext = Adminvm;
 }
Пример #4
0
        public AdminMainWindow(int adminId)
        {
            InitializeComponent();

            // Create the databse context of this window
            db = new BibliophileContext();

            // When the window closes save any pending changes and dispose of the context
            Closed += (sender, e) =>
            {
                try
                {
                    db.SaveChanges();
                }
                catch (Exception) { MessageBox.Show("Something went wrong while closing the window", "Error", MessageBoxButton.OK); }

                db.Dispose();
            };

            // Initialize the viewmodel of this window
            viewmodel = new AdminWindowViewModel();

            // Load the data sets
            db.Users.Load ();
            db.Books.Load ();

            // Select the two main lists to be use for the view model of the window
            viewmodel.Users = db.Users.Local;
            viewmodel.Books = db.Books.Local;

            // Select the two custom queries from the user list. One for the Admins, the other one for the checkouts
            viewmodel.Admins = new ObservableCollection<Admin>(from u in viewmodel.Users
                                                               where u is Admin
                                                               select u as Admin);

            viewmodel.Checkouts = new ObservableCollection<Tuple<User, Book>>(from u in viewmodel.Users
                                                                              from b in u.Books
                                                                              select Tuple.Create(u, b));

            // When the user collection changes we check if there was an admin employee and we add it to the query
            viewmodel.Users.CollectionChanged += (sender, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (var user in e.NewItems)
                        if (user is Admin admin)
                            viewmodel.Admins.Add(admin);
                }
            };

            DataContext = viewmodel;

            // Find the admin owner of this window by Id
            windowAdmin = viewmodel.Admins.FirstOrDefault(a => a.UserId == adminId);

            // Check such admin exist
            if (windowAdmin != null)
                Title = $"Logged in as {windowAdmin.UserName}";
            else
            {
                throw new Exception("Exception. Only admin employees can open this window");
            }
        }
Пример #5
0
 public ResetTaskCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #6
0
 public SaveMarketCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #7
0
 public CancelSaveTaskCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #8
0
 public AdminWindow()
 {
     DataContext = new AdminWindowViewModel();
     InitializeComponent();
 }
Пример #9
0
 public CreateReportCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
 public CreateUserCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Пример #11
0
 public CancelUserCommand(AdminWindowViewModel viewModel)
 {
     _viewModel = viewModel;
 }