private bool CheckZauzetostUcionice(CasIM cas, UcionicaIM ucionica) { using (var db = new ModelOsnovnaSkolaContainer()) { List <ZauzetostUcionice> zauzetosti = db.ZauzetostUcionices.Include(x => x.Ucionica).Where(x => x.UcionicaId_ucionice == ucionica.Id_ucionice).ToList(); zauzetosti.Remove(zauzetosti.SingleOrDefault(x => x.Cas.Id_casa == cas.Id_casa)); bool zauzeta = false; //TimeSpan ts = new TimeSpan(); foreach (var z in zauzetosti) { if (cas.datum.Date == z.datum.Date) { if ((cas.pocetak - z.pocetak).TotalMinutes < 45 && (cas.pocetak - z.pocetak).TotalMinutes > -45) { zauzeta = true; } } } return(zauzeta); } }
public AddCasViewModel(OblastIM oblast, UcionicaIM ucionica, CasIM cas) { if (cas != null) { Izmena = true; SelectedCas = cas; ButtonContent = "IZMENI"; //SelectedDatum = DateTime.Today; SelectedDatum = cas.datum; Pocetak = cas.pocetak.ToString("h\\:mm", CultureInfo.CurrentCulture); DeletionEnabled = "Visible"; Modification = "Hidden"; } else { Oblast = oblast; ButtonContent = "DODAJ"; SelectedUcionica = ucionica; SelectedDatum = DateTime.Today.AddDays(1); DeletionEnabled = "Hidden"; Modification = "Visible"; } //Pocetak = TimeSpan.N Odeljenja = Channel.Instance.OdeljenjaProxy.GetOdeljenjaForZaposleni(LoggedInZaposleni.Instance.Id_zaposlenog); AddCasCommand = new MyICommand(OnAddCas); DeleteCasCommand = new MyICommand(OnDeleteCas); }
private bool ValidateCasExistance(CasIM cas, UcionicaIM ucionica, OdeljenjeIM odeljenje, out string errMsg) { errMsg = ""; bool zauzeta = false; if (!CheckZauzetostPredavaca(cas)) { if (!CheckZauzetostOdeljenja(cas, odeljenje)) { if (!CheckZauzetostUcionice(cas, ucionica)) { } else { zauzeta = true; errMsg = "Učionica je zauzeta."; } } else { zauzeta = true; errMsg = $"Odeljenje ima čas u {cas.pocetak.ToString("h\\:mm", CultureInfo.CurrentCulture)}, dana: {cas.datum}."; } } else { zauzeta = true; errMsg = $"Već imate čas u {cas.pocetak.ToString("h\\:mm", CultureInfo.CurrentCulture)}, dana: {cas.datum}."; } return(zauzeta); }
public bool EvidentirajPrisustvo(List <UcenikIM> prisutni, CasIM cas) { try { using (var db = new ModelOsnovnaSkolaContainer()) { Cas c = db.Cas.Include(x => x.Prisustva).SingleOrDefault(p => p.Id_casa == cas.Id_casa); foreach (var ucenik in prisutni) { c.Prisustva.Add(new Prisustvo() { CasId_casa = c.Id_casa, UcenikId_ucenika = ucenik.Id_ucenika, ZaposleniId_zaposlenog = cas.ZaposleniId_zaposlenog }); } db.Entry(c).State = EntityState.Modified; db.SaveChanges(); } return(true); }catch (Exception e) { Console.WriteLine("MEssage: " + e.Message + "\nInner: " + e.InnerException.Message); return(false); } }
public string AddCas(CasIM cas, UcionicaIM ucionica, OdeljenjeIM odeljenje) { string retMsg = ""; if (!ValidateCasExistance(cas, ucionica, odeljenje, out retMsg)) { Cas c = new Cas() { OblastId_oblasti = cas.OblastId_oblasti, ZaposleniId_zaposlenog = cas.ZaposleniId_zaposlenog, ZauzetostUcionice = new ZauzetostUcionice() { datum = cas.datum, pocetak = cas.pocetak, UcionicaId_ucionice = ucionica.Id_ucionice, OdeljenjeId_odeljenja = odeljenje.Id_odeljenja } }; //c.Imaju.Add(new Ima() { Cas = c, OdeljenjeId_odeljenja = odeljenje.Id_odeljenja }); if (dao.Insert(c)) { return(""); } else { return("Greška prilikom dodavanja."); } } else { return(retMsg); } }
public PrisustvaViewModel(CasIM cas) { Ucenici = Channel.Instance.UceniciProxy.GetUcenikeForCas(cas); Cas = cas; EvidentirajPrisustvoCommand = new MyICommand(OnEvidentirajPrisustvo); UcenikPrisustvoCommand = new MyICommand(OnUcenikPrisustvovao); }
public PrisustvaWindow(CasIM cas) { InitializeComponent(); DataContext = new PrisustvaViewModel(cas) { Window = this }; }
public AddCasWindow(OblastIM oblast, CasIM cas) { InitializeComponent(); DataContext = new AddCasViewModel(oblast, cas) { Window = this }; }
public bool ChangeCas(CasIM cas) { Cas c = dao.FindById(cas.Id_casa); c.pocetak = cas.pocetak; c.kraj = cas.kraj; c.datum = cas.datum; return(dao.Update(c)); }
public void OnAddCas() { DateError = KrajError = PocetakError = ""; if (SelectedDatum == null) { DateError = ""; } else if (String.IsNullOrWhiteSpace(Pocetak)) { PocetakError = ""; } else if (String.IsNullOrWhiteSpace(Kraj)) { KrajError = ""; } else { if (Izmena) { SelectedCas.datum = SelectedDatum.Date; SelectedCas.pocetak = Pocetak; SelectedCas.kraj = Kraj; if (Channel.Instance.CasovyProxy.ChangeCas(SelectedCas)) { MessageBox.Show("Čas uspešno izmenjen.", "Uspeh!", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Greška prilikom menjanja.", "Greška!", MessageBoxButton.OK, MessageBoxImage.Error); } } else { CasIM noviCas = new CasIM() { datum = SelectedDatum.Date, pocetak = Pocetak, kraj = Kraj, OblastId_oblasti = Oblast.Id_oblasti, ZaposleniId_zaposlenog = LoggedInZaposleni.Instance.Id_zaposlenog }; if (Channel.Instance.CasovyProxy.AddCas(noviCas)) { MessageBox.Show("Čas uspešno dodat.", "Uspeh!", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Greška prilikom dodavanja.", "Greška!", MessageBoxButton.OK, MessageBoxImage.Error); } } Window.Close(); } }
public bool AddCas(CasIM cas) { Cas c = new Cas() { datum = cas.datum, pocetak = cas.pocetak, kraj = cas.kraj, OblastId_oblasti = cas.OblastId_oblasti, ZaposleniId_zaposlenog = cas.ZaposleniId_zaposlenog, }; return(dao.Insert(c)); }
public List <UcenikIM> GetUcenikeForCas(CasIM cas) { using (var db = new ModelOsnovnaSkolaContainer()) { Cas c = db.Cas.Include(p => p.ZauzetostUcionice.Odeljenje).SingleOrDefault(x => x.Id_casa == cas.Id_casa); Odeljenje o = c.ZauzetostUcionice.Odeljenje; List <UcenikIM> retVal = new List <UcenikIM>(); foreach (var u in o.Ucenici) { retVal.Add(new UcenikIM() { Id_ucenika = u.Id_ucenika, ime = u.ime, prezime = u.prezime, OdeljenjeId_odeljenja = u.Odeljenje.Id_odeljenja }); } return(retVal); } }
public bool ChangeCas(CasIM cas, out string retMsg) { using (var db = new ModelOsnovnaSkolaContainer()) { Cas c = db.Cas.Include(z => z.ZauzetostUcionice.Ucionica).Include(p => p.ZauzetostUcionice.Odeljenje).SingleOrDefault(x => x.Id_casa == cas.Id_casa); UcionicaIM ucionica = new UcionicaIM() { naziv = c.ZauzetostUcionice.Ucionica.naziv, broj_ucenika = c.ZauzetostUcionice.Ucionica.broj_ucenika, Id_ucionice = c.ZauzetostUcionice.Ucionica.Id_ucionice }; OdeljenjeIM odeljenje = new OdeljenjeIM() { Id_odeljenja = c.ZauzetostUcionice.Odeljenje.Id_odeljenja, razred = c.ZauzetostUcionice.Odeljenje.razred }; retMsg = ""; if (!ValidateCasExistance(cas, ucionica, odeljenje, out retMsg)) { c.ZauzetostUcionice.datum = cas.datum; c.ZauzetostUcionice.pocetak = cas.pocetak; db.Entry(c).State = EntityState.Modified; db.SaveChanges(); return(true); } else { return(false); } } //Cas c = dao.FindById(cas.Id_casa); //c.pocetak = cas.pocetak; }
private bool CheckZauzetostPredavaca(CasIM cas) { using (var db = new ModelOsnovnaSkolaContainer()) { List <ZauzetostUcionice> zauzetosti = db.ZauzetostUcionices.Where(x => x.Cas.ZaposleniId_zaposlenog == cas.ZaposleniId_zaposlenog).ToList(); zauzetosti.Remove(zauzetosti.SingleOrDefault(x => x.Cas.Id_casa == cas.Id_casa)); bool zauzeta = false; foreach (var z in zauzetosti) { if (cas.datum.Date == z.datum.Date) { if ((cas.pocetak - z.pocetak).TotalMinutes < 45 && (cas.pocetak - z.pocetak).TotalMinutes > -45) { zauzeta = true; } } } return(zauzeta); } }
public AddCasViewModel(OblastIM oblast, CasIM cas) { if (cas != null) { Izmena = true; SelectedCas = cas; ButtonContent = "Izmeni"; //SelectedDatum = DateTime.Today; SelectedDatum = cas.datum; Kraj = cas.kraj; Pocetak = cas.pocetak; DeletionEnabled = "Visible"; } else { Oblast = oblast; ButtonContent = "Dodaj"; SelectedDatum = DateTime.Today; DeletionEnabled = "Hidden"; } //Pocetak = TimeSpan.N AddCasCommand = new MyICommand(OnAddCas); DeleteCasCommand = new MyICommand(OnDeleteCas); }
public void OnAddCas() { DateError = KrajError = PocetakError = ""; TimeSpan ts = new TimeSpan(); TimeSpan.TryParseExact(Pocetak, "h\\:mm", CultureInfo.CurrentUICulture, out ts); if (ts == TimeSpan.Zero) { PocetakError = "Vreme morate uneti u obliku: sat:minut."; } else if (ts.Hours > 20) { PocetakError = "Časovi se ne mogu održavati posle 20:00h."; } else if (ts.Hours < 7) { PocetakError = "Časovi se ne mogu održavati pre 07:00h."; } else if (SelectedOdeljenje == null && !Izmena) { PocetakError = "Morate izabrati odeljenje."; } else { if (Izmena) { SelectedCas.datum = SelectedDatum.Date; SelectedCas.pocetak = ts; string retMsg = ""; if (Channel.Instance.CasovyProxy.ChangeCas(SelectedCas, out retMsg)) { //MessageBox.Show("Čas uspešno izmenjen.", "Uspeh!", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show(retMsg, "Greška!", MessageBoxButton.OK, MessageBoxImage.Error); } } else { CasIM noviCas = new CasIM() { datum = SelectedDatum.Date, pocetak = ts, OblastId_oblasti = Oblast.Id_oblasti, ZaposleniId_zaposlenog = LoggedInZaposleni.Instance.Id_zaposlenog }; string res; if ((res = Channel.Instance.CasovyProxy.AddCas(noviCas, SelectedUcionica, SelectedOdeljenje)) == "") //if(!Channel.Instance.CasovyProxy.CheckZauzetostUcionice(SelectedCas, SelectedUcionica)) { //MessageBox.Show("Čas uspešno dodat.", "Uspeh!", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show(res, "Greška!", MessageBoxButton.OK, MessageBoxImage.Error); } } Window.Close(); } }