Exemplo n.º 1
0
        public ObservableCollection <AngajatVM> Preparate()
        {
            string cautare = "bananeeeee";
            ObservableCollection <AngajatVM> result = new ObservableCollection <AngajatVM>();

            idPreparat.Clear();
            idMeniu.Clear();
            bool                  ok;
            List <Preparat>       preparate = restaurant.Preparats.ToList();
            List <Meniu_Preparat> men_prep  = restaurant.Meniu_Preparat.ToList();
            List <Meniu>          meniuri   = restaurant.Menius.ToList();

            foreach (Preparat preparat in preparate)
            {
                if (preparat.denumire.ToUpper().Contains(cautare.ToUpper()) != true)
                {
                    idPreparat.Add(preparat.idPreparat); //id-urile preparatelor care nu contin cuvantul
                    denumire_alergeni = restaurant.GetDenumireAlergen(preparat.idPreparat).ToList();
                    result.Add(new AngajatVM()
                    {
                        IdPreparat      = preparat.idPreparat,
                        Categorie       = restaurant.GetCategorie(preparat.id_categorie).ElementAt(0).ToString().ToUpper(),
                        Denumire        = preparat.denumire,
                        Pret            = preparat.pret,
                        CantitatePortie = (int)preparat.cantitate_per_portie,
                        CantitateTotala = (int)preparat.cantitatea_totala,
                        Fotografie      = restaurant.ShowPictures(preparat.idPreparat).ElementAt(0).ToString(),
                        Alergeni        = restaurant.GetDenumireAlergen(preparat.idPreparat).ToList()
                    });
                }
            }


            foreach (var m_p in men_prep)
            {
                ok = false;
                foreach (var i in restaurant.GetIDPreparat(m_p.id_meinu))
                {
                    if (idPreparat.Contains((int)i) != true)
                    {
                        ok = true;
                        break;
                    }
                }

                if (ok == false)
                {
                    if (idMeniu.Contains(m_p.id_meinu) != true)
                    {
                        idMeniu.Add(m_p.id_meinu);
                    }
                }
            }

            int cantitate_meniu = 0;

            foreach (var id_Meniu in idMeniu)
            {
                foreach (var meniu in meniuri)
                {
                    if (meniu.id_meniu == id_Meniu)
                    {
                        double pret = Double.Parse(restaurant.GetPretMeniu(meniu.id_meniu).ElementAt(0).ToString());
                        foreach (var init in restaurant.GetCantitateMeniu(meniu.id_meniu).ToList())
                        {
                            cantitate_meniu += (int)init - 80;
                        }

                        foreach (var init in restaurant.GetAlergeniMeniu(meniu.id_meniu).ToList())
                        {
                            if (init.Contains("nu contine alergeni") != true)
                            {
                                denumire_alergeni_meniu.Add(init);
                            }
                        }

                        result.Add(new AngajatVM()
                        {
                            IdPreparat      = meniu.id_meniu,
                            Categorie       = restaurant.GetCategorie(meniu.id_categorie).ElementAt(0).ToString().ToUpper(),
                            Denumire        = meniu.denumire_meniu,
                            Pret            = pret - (pret * 15 / 100),
                            CantitatePortie = cantitate_meniu,
                            Fotografie      = meniu.fotografie,
                            Alergeni        = denumire_alergeni_meniu.Distinct().ToList()
                        });
                    }
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public ObservableCollection <SearchVM> Alergen(string cautare)
        {
            ObservableCollection <SearchVM> result = new ObservableCollection <SearchVM>();

            idPreparat.Clear();
            idMeniu.Clear();

            List <Preparat_Alergen> alergeni_preparat = restaurant.Preparat_Alergen.ToList();
            List <Alergen>          alergeni          = restaurant.Alergens.ToList();
            List <Preparat>         preparate         = restaurant.Preparats.ToList();
            List <Meniu>            meniuri           = restaurant.Menius.ToList();
            List <Meniu_Preparat>   men_prep          = restaurant.Meniu_Preparat.ToList();
            int id_alergen = -1;

            foreach (var alg in alergeni)
            {
                if (alg.denumire_alergen.Equals(cautare))
                {
                    id_alergen = alg.id_alergen;
                }
            }
            if (id_alergen == (-1))
            {
                MessageBox.Show("Acest alergen nu exista in lista noastra!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);

                return(result);
            }

            foreach (var alg in alergeni_preparat)
            {
                if (alg.id_alergen == id_alergen)
                {
                    idPreparat.Add(alg.id_preparat);
                }
            }

            foreach (var id_prep in idPreparat)
            {
                foreach (var prep in preparate)
                {
                    if (id_prep == prep.idPreparat)
                    {
                        denumire_alergeni = restaurant.GetDenumireAlergen(prep.idPreparat).ToList();
                        result.Add(new SearchVM()
                        {
                            Id           = prep.idPreparat,
                            Categorie    = restaurant.GetCategorie(prep.id_categorie).ElementAt(0).ToString().ToUpper(),
                            Denumire     = prep.denumire,
                            Pret         = prep.pret,
                            Cantitate    = (int)prep.cantitate_per_portie,
                            Img          = restaurant.ShowPictures(prep.idPreparat).ElementAt(0).ToString(),
                            ListAlergeni = restaurant.GetDenumireAlergen(prep.idPreparat).ToList()
                        });
                    }
                }
                foreach (var m_p in men_prep)
                {
                    if (id_prep == m_p.id_preparat)
                    {
                        if (idMeniu.Contains(m_p.id_meinu) != true)
                        {
                            idMeniu.Add(m_p.id_meinu);
                        }
                    }
                }
            }

            int cantitate_meniu = 0;

            foreach (var id_Meniu in idMeniu)
            {
                foreach (var meniu in meniuri)
                {
                    if (meniu.id_meniu == id_Meniu)
                    {
                        double pret = Double.Parse(restaurant.GetPretMeniu(meniu.id_meniu).ElementAt(0).ToString());
                        foreach (var init in restaurant.GetCantitateMeniu(meniu.id_meniu).ToList())
                        {
                            cantitate_meniu += (int)init - 80;
                        }

                        foreach (var init in restaurant.GetAlergeniMeniu(meniu.id_meniu).ToList())
                        {
                            if (init.Contains("nu contine alergeni") != true)
                            {
                                denumire_alergeni_meniu.Add(init);
                            }
                        }

                        result.Add(new SearchVM()
                        {
                            Id           = meniu.id_meniu,
                            Categorie    = restaurant.GetCategorie(meniu.id_categorie).ElementAt(0).ToString().ToUpper(),
                            Denumire     = meniu.denumire_meniu,
                            Pret         = pret - (pret * 15 / 100),
                            Cantitate    = cantitate_meniu,
                            Img          = meniu.fotografie,
                            ListAlergeni = denumire_alergeni_meniu.Distinct().ToList()
                        });
                    }
                }
            }
            searchContext.ListPreparate = result;
            return(result);
        }