protected void BindGrid()
        {
            List <int> idLocali = GetIdLocali();

            grdFruttiInLocale.DataSource = OrdineFruttiDAO.GetFruttiPerStampaExcel(ddlScegliCantiere.SelectedValue, GetStringFromListForQuery(idLocali));
            grdFruttiInLocale.DataBind();
        }
 protected void btnInserisciDaDefault_Click(object sender, EventArgs e)
 {
     try
     {
         if (ddlScegliCantiere.SelectedValue != "-1")
         {
             if (ddlScegliLocale.SelectedValue != "-1" && ddlScegliLocaleDefault.SelectedValue != "-1")
             {
                 OrdineFruttiDAO.InserisciDaDefault(Convert.ToInt32(ddlScegliCantiere.SelectedValue), Convert.ToInt32(ddlScegliLocale.SelectedValue), Convert.ToInt32(ddlScegliLocaleDefault.SelectedValue));
                 (Master as layout).SetAlert("alert-success", $"Dati di default correttamente inseriti da {ddlScegliLocaleDefault.SelectedItem.Text} a {ddlScegliLocale.SelectedItem.Text}");
             }
             else
             {
                 (Master as layout).SetAlert("alert-warning", $"È necessario impostare entrambi i locali (sorgente e destinazione)");
             }
         }
         else
         {
             (Master as layout).SetAlert("alert-warning", $"È necessario selezionare un cantiere prima di inserire un locale di default");
         }
     }
     catch (Exception ex)
     {
         (Master as layout).SetAlert("alert-danger", $"Errore durante l'inserimento da Default ===> {ex.Message}");
     }
 }
        private void BindGrid()
        {
            List <MatOrdFrut> ordFrutList = OrdineFruttiDAO.GetInfoForCantiereAndLocale(ddlScegliCantiere.SelectedValue, ddlScegliLocale.SelectedValue);

            grdOrdini.DataSource = ordFrutList;
            grdOrdini.DataBind();
        }
        //protected void FillNomiGruppoOrdine()
        //{
        //    ddlScegliGruppoOrdine.Items.Clear();
        //    ddlScegliGruppoOrdine.Items.Add(new ListItem("", "-1"));
        //    DropDownListManager.FillDdlMatOrdFrutGroup(MatOrdFrutGroupDAO.GetAll(), ref ddlScegliGruppoOrdine);
        //}

        protected void PopolaListe()
        {
            string idCantiere = ddlScegliCantiere.SelectedItem.Value;
            string idLocale   = ddlScegliLocale.SelectedItem.Value;

            fruttiList = OrdineFruttiDAO.GetFruttiNonInGruppo(idCantiere, idLocale);
            compList   = OrdineFruttiDAO.GetGruppi(idCantiere, idLocale);
        }
        /* EVENTI ROW-COMMAND */
        protected void grdOrdini_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int id = Convert.ToInt32(e.CommandArgument.ToString());

            if (e.CommandName == "EliminaOrdine")
            {
                OrdineFruttiDAO.Delete(id);
            }

            BindGrid();
        }
 private void BindRepeater()
 {
     try
     {
         List <MatOrdFrut> items = OrdineFruttiDAO.GetByIdCantiere(Convert.ToInt32(ddlScegliCantiere.SelectedValue));
         Session["locali"]    = items.Select(s => s.IdLocale).ToList();
         rptLocali.DataSource = items;
         rptLocali.DataBind();
     }
     catch (Exception ex)
     {
         (Master as layout).SetAlert("alert-danger", $"Errore durante il GeneraCodiceHtmlLocali in StampaOrdFrutCantExcel ===> {ex.Message}");
     }
 }
 protected void btnEliminaOrdine_Click(object sender, EventArgs e)
 {
     try
     {
         OrdineFruttiDAO.DeleteOrdine(Convert.ToInt32(ddlScegliCantiere.SelectedValue));
         lblMsg.Text      = "Ordine eliminato con successo";
         lblMsg.ForeColor = Color.Blue;
         BindGrid();
         SvuotaCampi();
     }
     catch (Exception ex)
     {
         lblMsg.Text      = "Errore durante l'eliminazione dell'ordine ==> " + ex.Message;
         lblMsg.ForeColor = Color.Red;
     }
 }
        protected void btnInserisciGruppo_Click(object sender, EventArgs e)
        {
            int? idGruppoOrdine = null; // (ddlScegliGruppoOrdine != null && ddlScegliGruppoOrdine.SelectedIndex != 0) ? Convert.ToInt32(ddlScegliGruppoOrdine.SelectedValue) : (int?)null;
            long?idSerie        = ddlScegliSerie.SelectedValue != "-1" ? Convert.ToInt64(ddlScegliSerie.SelectedValue) : (long?)null;
            bool isAggiunto     = OrdineFruttiDAO.InserisciGruppo(ddlScegliCantiere.SelectedItem.Value, ddlScegliGruppo.SelectedItem.Value, ddlScegliLocale.SelectedItem.Value, idGruppoOrdine, idSerie);

            if (isAggiunto)
            {
                lblIsGruppoInserito.Text      = "Componente '" + ddlScegliGruppo.SelectedItem.Text + "' aggiunto correttamente!";
                lblIsGruppoInserito.ForeColor = Color.Blue;
            }
            else
            {
                lblIsGruppoInserito.Text      = "Errore durante l'inserimento del gruppo '" + ddlScegliGruppo.SelectedItem.Text + "'";
                lblIsGruppoInserito.ForeColor = Color.Red;
            }

            PopolaListe();
            BindGrid();
            ddlScegliGruppo.SelectedIndex = 0;
        }
        protected void BindGrid()
        {
            string     idCant = ddlScegliCantiere.SelectedItem.Value;
            List <int> indiciFruttiDaInserire = new List <int>();

            List <StampaOrdFrutCantLoc> listGruppi            = OrdineFruttiDAO.GetAllGruppiInLocale(idCant);
            List <StampaOrdFrutCantLoc> listFrutti            = OrdineFruttiDAO.GetAllFruttiInLocale(idCant);
            List <StampaOrdFrutCantLoc> listFruttiNonInGruppo = OrdineFruttiDAO.GetAllFruttiNonInGruppo(idCant);

            // Per ogni frutto non appartenente ad un gruppo
            foreach (StampaOrdFrutCantLoc fruttoNonInGruppo in listFruttiNonInGruppo)
            {
                StampaOrdFrutCantLoc frutto = listFrutti.Where(w => w.Descr001 == fruttoNonInGruppo.Descr001).FirstOrDefault();

                // Verifico che esista nella lista dei Frutti
                if (frutto != null)
                {
                    // Elimino il frutto dalla lista
                    listFrutti.Remove(frutto);

                    // Sommo la quantità del frutto iniziale con quella del frutto non ancora in gruppo
                    frutto.Qta += fruttoNonInGruppo.Qta;

                    // Re-inserisco il frutto in lista
                    listFrutti.Add(frutto);
                }
                else
                {
                    // Altrimenti aggiungo l'elemento alla lista
                    listFrutti.Add(fruttoNonInGruppo);
                }
            }

            // Popolo tutte le griglie
            grdGruppiInLocale.DataSource = listGruppi;
            grdGruppiInLocale.DataBind();

            grdFruttiInLocale.DataSource = listFrutti;
            grdFruttiInLocale.DataBind();
        }
        protected void btnInserisciFrutto_Click(object sender, EventArgs e)
        {
            if (ddlScegliFrutto.SelectedValue != "-1")
            {
                if (txtQtaFrutto.Text != "" && Convert.ToInt32(txtQtaFrutto.Text) > 0)
                {
                    int? idGruppoOrdine = null; // (ddlScegliGruppoOrdine != null && ddlScegliGruppoOrdine.SelectedIndex != 0) ? Convert.ToInt32(ddlScegliGruppoOrdine.SelectedValue) : (int?)null;
                    long?idSerie        = ddlScegliSerie.SelectedValue != "-1" ? Convert.ToInt64(ddlScegliSerie.SelectedValue) : (long?)null;
                    bool isInserito     = OrdineFruttiDAO.InserisciFruttoNonInGruppo(ddlScegliCantiere.SelectedItem.Value, ddlScegliLocale.SelectedItem.Value, ddlScegliFrutto.SelectedItem.Value, txtQtaFrutto.Text, idGruppoOrdine, idSerie);

                    if (isInserito)
                    {
                        lblIsFruttoInserito.Text      = "Frutto inserito con successo";
                        lblIsFruttoInserito.ForeColor = Color.Blue;
                    }
                    else
                    {
                        lblIsFruttoInserito.Text      = "Errore durante l'inserimento del frutto";
                        lblIsFruttoInserito.ForeColor = Color.Red;
                    }

                    ddlScegliFrutto.SelectedIndex = 0;
                    txtQtaFrutto.Text             = "";
                }
                else
                {
                    lblIsFruttoInserito.Text      = "Il campo quantità deve essere compilato e deve essere inserito un valore maggiore di 0";
                    lblIsFruttoInserito.ForeColor = Color.Red;
                }
            }
            else
            {
                lblIsFruttoInserito.Text      = "È necessario scegliere un frutto prima di inserirlo";
                lblIsFruttoInserito.ForeColor = Color.Red;
            }
            PopolaListe();
            BindGrid();
        }