private IEnumerable <MjernaJedinica> DohvatiMjerneJediniceZaJelovnik(Jelovnik j)
        {
            // Dohvati mjerne jedinice svim namirnica koje su određene u proslijeđenom jelovniku.
            var mjerneJedinice = new List <MjernaJedinica>();

            foreach (var obrok in j.Obroci)
            {
                foreach (var namirnica in obrok.Namirnice)
                {
                    mjerneJedinice = mjerneJedinice.Union(DAL.DAL.DohvatiMjerneJediniceZaNamirnicu(namirnica.Namirnica.IDNamirnice)).ToList();
                }
            }

            return(mjerneJedinice);
        }
Beispiel #2
0
        public static Jelovnik DohvatiJelovnikKorisnikaZaDatum(int korisnikID, DateTime datum)
        {
            DataSet ds = SqlHelper.ExecuteDataset(cs, "DohvatiJelovnikKorisnikaZaDatum", korisnikID, datum);

            Jelovnik jelovnik = null;

            if (ds != null && ds.Tables.Count == 3 && ds.Tables[0].Rows.Count != 0 && ds.Tables[1].Rows.Count != 0 && ds.Tables[2].Rows.Count != 0)
            {
                jelovnik = new Jelovnik();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    jelovnik.IDJelovnik = (int)row["IDJelovnik"];
                    jelovnik.KorisnikID = (int)row["KorisnikID"];
                    jelovnik.Datum      = DateTime.Parse(row["Datum"].ToString());
                }
                jelovnik.Obroci = new List <Obrok>();

                var jId = 1;
                foreach (DataRow row in ds.Tables[1].Rows)
                {
                    jelovnik.Obroci.Add(new Obrok
                    {
                        IDUJelovniku = jId++,
                        IDObrok      = (int)row["IDObrok"],
                        NazivObroka  = DohvatiNaziveObroka().First(x => x.IDNazivObroka == (int)row["NazivObrokaID"]),
                        Namirnice    = new List <NamirnicaUObroku>()
                    });
                }

                foreach (DataRow row in ds.Tables[2].Rows)
                {
                    var obrokID = (int)row["ObrokID"];
                    jelovnik.Obroci.First(x => x.IDObrok == obrokID).Namirnice.Add(new NamirnicaUObroku
                    {
                        Kolicina  = float.Parse(row["Kolicina"].ToString()),
                        Namirnica = DohvatiNamirnice().First(x => x.IDNamirnice == (int)row["NamirnicaID"])
                    });
                }
            }
            return(jelovnik);
        }
Beispiel #3
0
        // Jelovnik.
        public static bool DodajJelovnik(Jelovnik jelovnik, int korisnikID, DateTime datum)
        {
            try
            {
                int jelovnikID = int.Parse(SqlHelper.ExecuteScalar(cs, "DodajJelovnik", korisnikID, datum.Date).ToString());

                foreach (var obrok in jelovnik.Obroci)
                {
                    int obrokID = int.Parse(SqlHelper.ExecuteScalar(cs, "DodajObrokJelovniku", jelovnikID, obrok.NazivObroka.IDNazivObroka).ToString());

                    foreach (var namirnica in obrok.Namirnice)
                    {
                        SqlHelper.ExecuteScalar(cs, "DodajNamirnicuObroku", obrokID, namirnica.Namirnica.IDNamirnice, namirnica.Kolicina);
                    }
                }
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #4
0
 public frmDodajMeni(Jelovnik jelovnik, int?meniId = null)
 {
     _jelovnik = jelovnik;
     _meniId   = meniId;
     InitializeComponent();
 }
        private Jelovnik GenerirajJelovnik()
        {
            Session["MjerneJedinice"] = null;

            var random        = new Random(DateTime.Now.Millisecond);
            var selectedValue = (int)Session["SelectedObroka"];
            var selectedDate  = DateTime.Parse(Session["Date"].ToString());

            var korisnik = DAL.DAL.DohvatiKorisnika(Session["Username"].ToString(), Session["Password"].ToString());
            var energija = DAL.DAL.IzracunajDnevnuPotrebuEnergije(korisnik);

            var kombinacija = DAL.DAL.DohvatiKombinacijuZaBrojObroka(selectedValue);
            var namirnice   = DAL.DAL.DohvatiNamirnice();

            var namirniceBjelancevine   = namirnice.Where(x => x.TipNamirniceID == 1).ToList();
            var namirniceUgljikohidrati = namirnice.Where(x => x.TipNamirniceID == 2).ToList();
            var namirniceMasti          = namirnice.Where(x => x.TipNamirniceID == 3).ToList();

            var mjerneJedinice = new List <MjernaJedinica>();

            var jelovnik = new Jelovnik
            {
                Datum      = selectedDate,
                KorisnikID = korisnik.IDKorisnik,
                Obroci     = new List <Obrok>()
            };

            int i = 1;

            foreach (var obrok in kombinacija.Obroci)
            {
                var randBjelancevina   = random.Next(1, namirniceBjelancevine.Count());
                var randUgljikohidrati = random.Next(1, namirniceUgljikohidrati.Count());
                var randMasti          = random.Next(1, namirniceMasti.Count());

                var udioObrokaOdDnevnePotrebe = ((obrok.DnevniUdio / 100.0) * energija) / 100.0;

                var noviObrok = new Obrok
                {
                    IDUJelovniku = i,
                    IDObrok      = i++,
                    NazivObroka  = obrok.NazivObroka,
                    Zadrzi       = true,
                    Namirnice    = new List <NamirnicaUObroku>()
                };

                // Dodaj po jednu namirnicu od svakog tipa u obrok.
                noviObrok.Namirnice.Add(new NamirnicaUObroku
                {
                    Namirnica = namirniceBjelancevine.ElementAt(randBjelancevina),
                    Zadrzi    = true,
                    Kolicina  = (udioObrokaOdDnevnePotrebe * obrok.UdioBjelancevina) / namirniceBjelancevine.ElementAt(randBjelancevina).EnergetskaVrijednostKcalPoGramu
                });


                noviObrok.Namirnice.Add(new NamirnicaUObroku
                {
                    Namirnica = namirniceUgljikohidrati.ElementAt(randUgljikohidrati),
                    Zadrzi    = true,
                    Kolicina  = (udioObrokaOdDnevnePotrebe * obrok.UdioUgljikohidrata) / namirniceUgljikohidrati.ElementAt(randUgljikohidrati).EnergetskaVrijednostKcalPoGramu
                });


                noviObrok.Namirnice.Add(new NamirnicaUObroku
                {
                    Namirnica = namirniceMasti.ElementAt(randMasti),
                    Zadrzi    = true,
                    Kolicina  = (udioObrokaOdDnevnePotrebe * obrok.UdioMasti) / namirniceMasti.ElementAt(randMasti).EnergetskaVrijednostKcalPoGramu
                });

                // Ukloni dodane namirnice kako se ne bi ponovile u sljedećim obrocima.
                namirniceBjelancevine.RemoveAt(randBjelancevina);
                namirniceUgljikohidrati.RemoveAt(randUgljikohidrati);
                namirniceMasti.RemoveAt(randMasti);

                jelovnik.Obroci.Add(noviObrok);
            }
            return(jelovnik);
        }
Beispiel #6
0
 public frmDodajProizvod(Jelovnik jelovnik, int?Id = null)
 {
     InitializeComponent();
     _jelovnik = jelovnik;
     _id       = Id;
 }