public DodavanjeIspitaVM(IspitniRokViewModel _parent) { Parent = _parent; ispit = new Models.Ispit(); dodaj_ispit = new RelayCommand <object>(dodajIspit); idi_nazad = new RelayCommand <object>(idiNazad); }
private void dodajIspitButton_Click(object sender, RoutedEventArgs e) { Models.Ispit ispit = new Models.Ispit(); ispit.predmet = comboBoxPredmeti.SelectedItem as Models.Predmet; ispit.brojPrijavljenih = Convert.ToInt32(tBoxBrojPrijavljenih.Text.ToString()); int trajanje = Convert.ToInt32(tBoxTrajanje.Text.ToString()); ispit.termin = new Models.Termin(0, datePicker.Date.DateTime, datePicker.Date.AddHours(trajanje).DateTime); ispit.rasporedi = new List <Models.RasporedUSali>(); Models.RasporedUSali rus; int brojSala = (int)((float)ispit.brojPrijavljenih / 80); bool[,] raspored; int brojZauzetih = 0; using (var db = new Models.RasporedIspitaPoSalamaDbContext()) { List <Models.Sala> sale = new List <Models.Sala>(); foreach (Models.Sala s in db.Sale) { sale.Add(s); } for (int i = 0; i < brojSala + 1 && i < sale.Count && brojZauzetih <= ispit.brojPrijavljenih; i++) { raspored = new bool[8, 10]; for (int k = 0; k < 8; k++) { for (int p = 0; p < 10; p++) { if (k % 2 == 0 && p % 2 == 1) { raspored[k, p] = true; brojZauzetih++; } else { raspored[k, p] = false; } } } rus = new Models.RasporedUSali(0, sale[i], (80 + brojZauzetih - 1) % 80, raspored); ispit.rasporedi.Add(rus); } } ((ViewModels.DodavanjeIspitaVM)DataContext).dodaj_ispit.Execute(ispit); }