private void ExecuteRestore()
 {
     try
     {
         if (RestoreBackupModel.Path == null)
         {
             return;
         }
         Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
         SqlConnection sqlconnection = new SqlConnection(@"Server=.\sqlexpress; Database=master; Integrated Security=true");
         SqlCommand    cmd           = new SqlCommand
         {
             Connection = sqlconnection
         };
         cmd.Parameters.Add("@fileName", SqlDbType.NChar).Value = RestoreBackupModel.Path;
         cmd.CommandText = "ALTER Database RestaurantDB SET OFFLINE WITH ROLLBACK IMMEDIATE; Restore Database RestaurantDB From Disk= @fileName WITH REPLACE";
         sqlconnection.Open();
         cmd.ExecuteNonQuery();
         string strQuery = "ALTER Database RestaurantDB SET ONLINE WITH ROLLBACK IMMEDIATE";
         cmd = new SqlCommand(strQuery, sqlconnection);
         cmd.ExecuteNonQuery();
         sqlconnection.Close();
         RestoreBackupModel = new RestoreBackupDataModel();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
     finally
     {
         Mouse.OverrideCursor = null;
     }
 }
        public async void NavigateToViewMethodAsync(string destination)
        {
            try
            {
                switch (destination)
                {
                case "Backup":
                    BackupModel = new BackupDataModel();
                    backupDialog.DataContext = this;
                    await currentWindow.ShowMetroDialogAsync(backupDialog);

                    break;

                case "BackupRestore":
                    RestoreBackupModel = new RestoreBackupDataModel();
                    restoreBackupDialog.DataContext = this;
                    await currentWindow.ShowMetroDialogAsync(restoreBackupDialog);

                    break;

                case "User":
                    currentWindow.Hide();
                    new UserWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                case "Shifts":
                    currentWindow.Hide();
                    new ShiftWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                case "SignOut":
                    LoginModel = new LoginDataModel();
                    loginDialog.DataContext = this;
                    await currentWindow.ShowMetroDialogAsync(loginDialog);

                    break;


                case "Item":
                    currentWindow.Hide();
                    new ItemWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                case "Cashier":
                    currentWindow.Hide();
                    new BillItemsWindow().ShowDialog();
                    currentWindow.Show();
                    if (IsSignOut)
                    {
                        LoginModel = new LoginDataModel();
                        loginDialog.DataContext = this;
                        await currentWindow.ShowMetroDialogAsync(loginDialog);
                    }
                    break;

                case "Bill":
                    currentWindow.Hide();
                    new BillWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                case "Spending":
                    currentWindow.Hide();
                    new SpendingWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                case "Safe":
                    currentWindow.Hide();
                    new SafeWindow().ShowDialog();
                    currentWindow.Show();
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }