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 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();
            }
        }
        public DettaglioListino GetDettaglioByListinoProdotto(int idListino, int idProdotto)
        {
            DettaglioListino dettaglioListino = context.DettaglioListinoSet.SingleOrDefault(x => x.Id_listino == idListino && x.Id_prodotto == idProdotto);

            return(dettaglioListino);
        }
        public DettaglioListino GetDettaglioListino(int id)
        {
            DettaglioListino dettaglioListino = context.DettaglioListinoSet.SingleOrDefault(x => x.Id == id);

            return(dettaglioListino);
        }