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); }
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); }
// 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); } }
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); }
public frmDodajProizvod(Jelovnik jelovnik, int?Id = null) { InitializeComponent(); _jelovnik = jelovnik; _id = Id; }