//metoda uruchamiajaca sie wtedy gdy zostanie zmieniona widocznosc zakladki oraz gdy //uzytkownik przejdzie na ta zakladke //ladowane sa tutaj dane do gridow private async void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.Dict; if (db == null || loadUI == false) return; System.Windows.Data.CollectionViewSource sprzet_typViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("sprzet_typViewSource"))); await db.sprzet_typ.LoadAsync();//operacja asynchroniczna sprzet_typViewSource.Source = db.sprzet_typ.Local.ToBindingList().OrderBy(t => t.id); System.Windows.Data.CollectionViewSource sala_typViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("sala_typViewSource"))); await db.sala_typ.LoadAsync();//operacja asynchroniczna sala_typViewSource.Source = db.sala_typ.Local.ToBindingList().OrderBy(s => s.id); loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
//wylogowanie, usuniecie niepotrzebnych danych public void Logout() { userAcc = null; db = null; ViewLogic.DisposeDatabase(); InitDbAsync(); }
private async void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.Workers; if (db == null || loadUI == false) return; System.Windows.Data.CollectionViewSource workerRecordViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("workerRecordViewSource"))); await db.pracownik.LoadAsync(); List<pracownik> pracownicy = db.pracownik.Local.ToList(); List<WorkerRecord> rekordy = new List<WorkerRecord>(); foreach (pracownik p in pracownicy) { rekordy.Add(new WorkerRecord(p)); } workerRecordViewSource.Source = rekordy.OrderBy(r => r.id); loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
//usuniecie kontekstu bazy static public void DisposeDatabase() { if (db != null) { db.Dispose(); db = null; } }
private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.Raports; if (db == null || loadUI == false) return; userAcc = StocktakingViewModel.Stocktaking.User; if (!String.IsNullOrWhiteSpace(TypeTextBlock.Text)) { if (Room.IsChecked == true) { Room_Checked(this, null); } else if (Worker.IsChecked == true) { Worker_Checked(this, null); } else if (Device.IsChecked == true) { Device_Checked(this, null); } else if (RoomMan.IsChecked == true) { RoomMan_Checked(this, null); } else if (DeviceMan.IsChecked == true) { DeviceMan_Checked(this, null); } } int Type = userAcc.konto_typ_id; switch (Type) { case 2://Dyrektor zakładu managerUI(); break; case 3:// Kierownik instytutu chiefUI(); break; default: break; } upData(); loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
// funkcja odpowiedzialna za ładowanie danych do elementów GUI private async void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.Devs; if (db == null || loadUI == false) return; System.Windows.Data.CollectionViewSource deviceRecordViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["deviceRecordViewSource"]; await db.sprzet.LoadAsync(); List<sprzet> sprzety = db.sprzet.Local.ToList(); List<DeviceRecord> rekordy = new List<DeviceRecord>(); foreach (sprzet s in sprzety) { rekordy.Add(new DeviceRecord(s)); } deviceRecordViewSource.Source = rekordy.OrderBy(r => r.id); System.Windows.Data.CollectionViewSource sprzet_typViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["sprzet_typViewSource"]; await db.sprzet_typ.LoadAsync(); sprzet_typViewSource.Source = db.sprzet_typ.Local.ToBindingList(); System.Windows.Data.CollectionViewSource roomRecordViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["roomRecordViewSource"]; await db.sala.LoadAsync(); List<sala> sale = db.sala.Local.ToList(); List<RoomRecord> rekordyS = new List<RoomRecord>(); foreach (sala s in sale) { rekordyS.Add(new RoomRecord(s)); } roomRecordViewSource.Source = rekordyS.OrderBy(r => r.id); System.Windows.Data.CollectionViewSource zakladViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["zakladViewSource"]; await db.zaklad.LoadAsync(); zakladViewSource.Source = db.zaklad.Local.ToList(); loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
//metoda uruchamiajaca sie wtedy gdy zostanie zmieniona widocznosc zakladki oraz gdy //uzytkownik przejdzie na ta zakladke //ladowane tutaj sa rekordy do gridow oraz inne typy do comboboxa private async void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.UsrAcc; if (db == null || loadUI == false) return; System.Windows.Data.CollectionViewSource userRecordViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("userRecordViewSource"))); List<UserRecord> rekordy = new List<UserRecord>(); await db.konto.LoadAsync();//operacja asynchroniczna List<konto> konta = db.konto.Local.ToList(); foreach (konto k in konta) { rekordy.Add(new UserRecord(k)); } userRecordViewSource.Source = rekordy.OrderBy(r => r.id); System.Windows.Data.CollectionViewSource konto_typViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("konto_typViewSource"))); await db.konto_typ.LoadAsync();//operacja asynchroniczna konto_typViewSource.Source = db.konto_typ.Local.ToBindingList().OrderBy(t => t.id); typComboBox.ItemsSource = db.konto_typ.Local.ToList().OrderBy(t => t.id); System.Windows.Data.CollectionViewSource pracownikViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("pracownikViewSource"))); pracownikViewSource.Source = await db.pracownik.Where(p => p.konto.Count == 0).ToListAsync();//operacja asnychroniczna loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
// w zależności kto się zalogował tak interfejs zostanie zmodyfikowany private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { try { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) return; db = ViewLogic.dbContext; StocktakingViewModel.Stocktaking.SelectedTab = Tab.InstMan; if (db == null || loadUI == false) return; userAcc = StocktakingViewModel.Stocktaking.User; int Type = userAcc.konto_typ_id; switch (Type) { case 2://Dyrektor zakładu managerUI(); upDataManager(); break; case 3:// Kierownik instytutu chiefUI(); upDataChief(); break; case 4:// zakładowy pracownik techniczny technicalWorkerUI(); upDataTechnician(); break; default: break; } loadUI = false; } catch (Exception) { ViewLogic.Blad("Wystapił bład w UserControl_IsVisibleChanged!"); } }
//inicjalizacja bazy danych w innym watku private void InitDbAsync() { initDbTask = new Task(() => { ViewLogic.InitDataBase(); db = ViewLogic.dbContext; }); initDbTask.Start(); }
public AddNewInstitute(StocktakingDatabaseEntities db) { InitializeComponent(); myDb = db; }
public AddNewWorker(StocktakingDatabaseEntities db, zaklad zak) { InitializeComponent(); myDb = db; myZaklad = zak; }
public MoveDevice(StocktakingDatabaseEntities db, sprzet device) { InitializeComponent(); myDb = db; myDevice = device; }
//inicjalizaca bazy static public void InitDataBase() { if(db == null) db = new StocktakingDatabaseEntities(); }
public AddNewRoom(StocktakingDatabaseEntities db, zaklad zaklad) { InitializeComponent(); myDb = db; myZaklad = zaklad; }
public SelectOldRaport(StocktakingDatabaseEntities db, int institute = 0) { InitializeComponent(); myDb = db; }