public Boolean AddProduct(Listino listino, Prodotto prodotto, int quantita)
        {
            Listino existingListino = GetListino(listino.Id);

            if (existingListino != null)
            {
                ProdottoService prodSrv          = new ProdottoService();
                Prodotto        existingProdotto = prodSrv.GetProdotto(prodotto.Id);

                if (existingProdotto != null)
                {
                    DettaglioListino dettaglio = new DettaglioListino()
                    {
                        Id_listino  = listino.Id,
                        Id_prodotto = prodotto.Id,
                        quantita    = quantita
                    };
                    context.DettaglioListinoSet.Add(dettaglio);
                    context.SaveChanges();

                    return(true);
                }
                else
                {
                    return(false);
                    //throw new DbUpdateException();
                }
            }
            else
            {
                return(false);
                //throw new DbUpdateException();
            }
        }
        public List <Prodotto> GetProdotti(Listino listino)
        {
            var listProduct = context.DettaglioListinoSet.Where(x => x.Id_listino == listino.Id).ToList();

            List <Prodotto> prodotti = new List <Prodotto>();

            foreach (var dettaglio in listProduct)
            {
                ProdottoService prodSrv = new ProdottoService();
                if (dettaglio.Id_prodotto.HasValue)
                {
                    prodotti.Add(prodSrv.GetProdotto(dettaglio.Id_prodotto.Value));
                }
            }
            return(prodotti);
        }
        public Boolean RemoveProduct(Listino listino, Prodotto prodotto, int quantita)
        {
            Listino existingListino = GetListino(listino.Id);

            if (existingListino != null)
            {
                ProdottoService prodSrv          = new ProdottoService();
                Prodotto        existingProdotto = prodSrv.GetProdotto(prodotto.Id);

                if (existingProdotto != null)
                {
                    DettaglioListinoService dlSrv = new DettaglioListinoService();

                    ///Get from different context (NOT WORKING)
                    //DettaglioListino dettaglio = dlSrv.GetDettaglioByListinoProdotto(listino.Id, prodotto.Id);

                    ///Get from same context (OK)
                    DettaglioListino dettaglio = context.DettaglioListinoSet.SingleOrDefault(x => x.Id_listino == listino.Id && x.Id_prodotto == prodotto.Id);

                    if (dettaglio != null)
                    {
                        context.DettaglioListinoSet.Remove(dettaglio);
                        context.SaveChanges();

                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                    //throw new DbUpdateException();
                }
            }
            else
            {
                return(false);
                //throw new DbUpdateException();
            }
        }