protected void grdBollette_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                long idBolletta = Convert.ToInt64(e.CommandArgument);
                hfIdBolletta.Value = idBolletta.ToString();

                if (e.CommandName == "Modifica")
                {
                    Bolletta bolletta = BolletteDAO.GetSingle(idBolletta);
                    ddlScegliFornitore.SelectedValue = bolletta.IdFornitori.ToString();
                    txtDataBolletta.Text             = bolletta.DataBolletta.ToString("yyyy-MM-dd");
                    txtDataScadenza.Text             = bolletta.DataScadenza.ToString("yyyy-MM-dd");
                    txtDataPagamento.Text            = bolletta.DataPagamento.ToString("yyyy-MM-dd");
                    txtDataScadenza.TextMode         = txtDataPagamento.TextMode = TextBoxMode.Date;
                    txtTotaleBolletta.Text           = bolletta.TotaleBolletta.ToString("N2");
                    txtProgressivo.Text         = bolletta.Progressivo.ToString();
                    btnAggiungiBolletta.Visible = false;
                    btnModificaBolletta.Visible = true;
                }
                else
                {
                    BolletteDAO.Delete(idBolletta);
                    ResetToInitial();
                }
            }
            catch (Exception ex)
            {
                lblMsg.Text = $"Errore durante il grdBollette_RowCommand, " + ex.Message;
            }
        }
        public static Bolletta GetSingle(long idBolletta)
        {
            Bolletta      ret = new Bolletta();
            StringBuilder sql = new StringBuilder("SELECT * FROM TblBollette WHERE id_bollette = @idBolletta");

            try
            {
                using (SqlConnection cn = GetConnection())
                {
                    ret = cn.Query <Bolletta>(sql.ToString(), new { idBolletta }).FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante la GetSingle in BolletteDAO", ex);
            }
            return(ret);
        }
        public static void Update(Bolletta item)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine($"UPDATE TblBollette SET id_fornitori = @IdFornitori, data_bolletta = @DataBolletta, data_scadenza = @DataScadenza,");
            sql.AppendLine($"data_pagamento = @DataPagamento, totale_bolletta = @TotaleBolletta, progressivo = @Progressivo WHERE id_bollette = @IdBollette");
            try
            {
                using (SqlConnection cn = GetConnection())
                {
                    cn.Execute(sql.ToString(), item);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante la Update in BolletteDAO", ex);
            }
        }
        public static void Insert(Bolletta item)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine($"INSERT INTO TblBollette (id_fornitori, data_bolletta, data_scadenza, data_pagamento, totale_bolletta, progressivo)");
            sql.AppendLine($"VALUES (@IdFornitori, @DataBolletta, @DataScadenza, @DataPagamento, @TotaleBolletta, @Progressivo)");
            try
            {
                using (SqlConnection cn = GetConnection())
                {
                    cn.Execute(sql.ToString(), item);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante la Insert in BolletteDAO", ex);
            }
        }