Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        public PrisustvaViewModel(CasIM cas)
        {
            Ucenici = Channel.Instance.UceniciProxy.GetUcenikeForCas(cas);
            Cas     = cas;

            EvidentirajPrisustvoCommand = new MyICommand(OnEvidentirajPrisustvo);
            UcenikPrisustvoCommand      = new MyICommand(OnUcenikPrisustvovao);
        }
Exemple #7
0
 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
     };
 }
Exemple #9
0
        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();
            }
        }
Exemple #11
0
        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));
        }
Exemple #12
0
        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);
            }
        }
Exemple #13
0
        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;
        }
Exemple #14
0
        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);
 }
Exemple #16
0
        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();
            }
        }