private async void SacuvajUplate_Click(object sender, RoutedEventArgs e) { try { var procenti = tbProcenti.Text.Split(','); double[] nizBrojeva = NizStringovaUNizBrojeva(procenti); if (nizBrojeva.Sum() == 100) { var dataProvider = new EFCoreDataProvider(); int idProjekta = Helper.TrenutniProjekat.IDProjekta; var stariTrosak = (await dataProvider.GetGeneralniTrosakAsync(idProjekta))[0]; stariTrosak.BrojUplata = nizBrojeva.Count(); stariTrosak.Procenti = string.Join(", ", nizBrojeva); await dataProvider.UpdateGeneralniTrosakAsync(stariTrosak); } else { MessageBox.Show("Neispravno uneti procenti, svi procenti moraju biti brojevi i zbir im mora biti 100%!"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private async void Login() { IDataProvider dataProvider = new EFCoreDataProvider(); Korisnik korisnik = null; try { korisnik = await dataProvider.LoginIspravan(Username, Password); } catch (Exception ex) { await new MessageDialog(ex.ToString()).ShowAsync(); } if (korisnik != default(Korisnik)) { App.TrenutniKorisnik = korisnik; frame.Navigate(typeof(MainPage)); } else { Username = Password = string.Empty; await new MessageDialog("Neispravano korisnicko ime ili lozinka!").ShowAsync(); } }
private async void PopuniListe() { var dataProvider = new EFCoreDataProvider(); Referenti = await dataProvider.GetReferentsAsync() as List <Referent>; Departmani = await dataProvider.GetDepartmaniAsync() as List <Departman>; }
private async void PopuniStudenteIPredmeteAsync() { var dataProvider = new EFCoreDataProvider(); Studenti = await dataProvider.GetStudentsAsync() as List <Student>; Predmeti = await dataProvider.GetPredmetiAsync() as List <Predmet>; }
private async Task UcitajProcente() // Ucitava procente u tbProcenti { var dataProvider = new EFCoreDataProvider(); idProjekta = Helper.TrenutniProjekat.IDProjekta; // Ucitava i podatke u uplatama iz tabele generalniTrosak i pamti u tbProcenti string uplate = (await dataProvider.GetGeneralniTrosakAsync(idProjekta))[0].Procenti; tbProcenti.Text = uplate; }
private async Task UcitajTroskove() { var dataProvider = new EFCoreDataProvider(); idProjekta = Helper.TrenutniProjekat.IDProjekta; listaTroskova = await dataProvider.GetTroskoveProjektaAsync(idProjekta) as List <Trosak>; // Za grupisanje u datagridu itemssource se veze za ListCollectionView ListCollectionView collection = new ListCollectionView(listaTroskova); //Na osnovu cega se vrsi grupisanje collection.GroupDescriptions.Add(new PropertyGroupDescription("Kategorija")); collection.GroupDescriptions.Add(new PropertyGroupDescription("Podkategorija")); MyDataGrid.ItemsSource = collection; }
private async void ShowHideDetails(object sender, System.Windows.RoutedEventArgs e) { Dokumentacija doc = DataGrid.SelectedItem as Dokumentacija; var dataProvider = new EFCoreDataProvider(); if (await dataProvider.DokumentImaPDFFajl(doc.IDDokumenta)) // Otvori taj fajl, da li je StatusDokumenta isto kao i to Da li ima pdf fajl??? za sad jeste { string filename = "temp.pdf"; File.WriteAllBytes(filename, (await dataProvider.GetPDFAsync(doc.IDDokumenta)).PDFFajl); //ovo kreira lokalni pdf fajl od bajtova System.Diagnostics.Process.Start(filename); // Otvara ga u default pdf vieweru } else // Prilozi pdf fajl { byte[] a; OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "PDF dokument | *.pdf"; if (dlg.ShowDialog() == true) { // Kreira se i prikazu progressWindows sa porukom dok se vrsi slanje dokumenta na server var progressWindow = new ProgressWindow("Upload PDF dokumenta"); progressWindow.Show(); string path = dlg.FileName.ToString(); a = File.ReadAllBytes(path); //ovo pretvara izabrani fajl u bajtove // Dodavanje novog PDF u tabelu await dataProvider.AddPDFAsync(new PDF { IDDokumenta = doc.IDDokumenta, PDFFajl = a }, Helper.TrenutniKorisnik); //Update dokumenta doc.StatusDokumenta = true; doc.Datum = DateTime.Now.ToString(); await dataProvider.UpdateDokumentAsync(doc); // ProgressWindow moze da se zatvori progressWindow.Close(); // Update podataka koji se prikazuju u dataGridu ProveriKojiDokumentiImajuUslov(); UpdateDataGrid(); } } }
private async Task UcitajKorisnike() { var dataProvider = new EFCoreDataProvider(); IList <Korisnik> temp; if (zaSveProjekte) { temp = await dataProvider.GetKorisniciAsync(); } else { temp = await dataProvider.GetKorisnikeProjektaAsync(Helper.TrenutniProjekat.IDProjekta); } foreach (Korisnik k in temp) { Korisnici.Add(k); } }
private async void Potvrdi_Click(object sender, RoutedEventArgs e) { var dataProvider = new EFCoreDataProvider(); // Dodavanje podataka za trenutni projekat ZapocetiProjekat.DatumPocetka = dpDatumPocetkaProjekta.DisplayDate.ToShortDateString(); ZapocetiProjekat.StanjeProjekta = "Aktivan"; // Kreiranje i prikazivanje progress windowa var progressWindow = new ProgressWindow("Kreiranje projekta u toku..."); progressWindow.Show(); // U bazi se kreira novi projekat i za njega se kreiraju odgovarajuca dokumenta var listaDokumenata = GetListuDokumenata(ZapocetiProjekat.VrstaProjekta); await dataProvider.KreirajProjekatIDodajDokumenta(ZapocetiProjekat, listaDokumenata); // Unose se generalni troskovi - neka default vrednosti, 1 uplata, ukupnonovca = 100 await dataProvider.AddGeneralniTrosakAsync(new GeneralniTrosak { IDProjekta = ZapocetiProjekat.IDProjekta, BrojUplata = 1, Procenti = "100", UkupnoNovca = 100 }); // TODO: Ovde mogu i ostali atributi informaicje o lokaciji da se unose if (informacijaOLokaciji != null) // Ako je vec uneta informacija o lokaciji onda se ona pamti u bazi pri kreiranju projekta { await dataProvider.AddPDFAsync(new PDF { IDDokumenta = listaDokumenata[0].IDDokumenta, PDFFajl = informacijaOLokaciji }, Helper.TrenutniKorisnik); } // Zatvaranja ProgressWindow-a progressWindow.Close(); // Prelazak na ClanoviProjektaPage var parent = (Parent as MainWindow); Helper.TrenutniProjekat = ZapocetiProjekat; parent.Content = new ClanoviProjektaPage(); }
private async void ZapamtiIzmene_Click(object sender, RoutedEventArgs e) { var dataProvider = new EFCoreDataProvider(); var korisniciUBazi = await dataProvider.GetKorisnikeProjektaAsync(projectID) as List <Korisnik>; // Izbaci iz baze one koji vise nisu tu foreach (Korisnik k in korisniciUBazi) { if (!KorisniciKojiRadeNaProjektu.Contains(k)) { await dataProvider.DeleteInterakcijaAsync(k.KorisnickoIme, projectID); } } // Dodaj one koji vec nisu bili u bazi foreach (Korisnik k in KorisniciKojiRadeNaProjektu) { if (!korisniciUBazi.Contains(k)) { await dataProvider.AddInterakcijaAsync(k.KorisnickoIme, projectID); } } }
private async void Sacuvaj_Click(object sender, RoutedEventArgs e) { // Kad se klikne dugme sacuvaj treba da zna da li treba da vrsi update ili add u bazi // To odlucuje na osnovu IDTroska, ako je 0 onda ga jos nema u bazi treba add, ako je razlicit od 0 onda se vrsi update var trosak = DetaljiTroska.Trosak; trosak.IDProjekta = Helper.TrenutniProjekat.IDProjekta; var dataProvider = new EFCoreDataProvider(); if (trosak.IDTroska == 0) { // ADD await dataProvider.AddTrosakAsync(trosak, Helper.TrenutniKorisnik); } else { // UPDATE await dataProvider.UpdateTrosakAsync(trosak); } // Azuriraj tabelu await UcitajTroskove(); }