protected List <string> getDescrizioni()
        {
            var descrizioni = new List <string>();

            using (var db = new cDB(GB.Instance.getCurrentSession(Session).PathDB))
                using (var dr = db.EseguiSQLDataReader(cDB.Queries.Movimenti_AutoCompleteSource))
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            descrizioni.Add(dr["descrizione"] as string);
                        }
                    }

            return(descrizioni);
        }
        protected List <string> getMacroAree()
        {
            var macroaree = new List <string>();

            using (var db = new cDB(GB.Instance.getCurrentSession(Session).PathDB))
                using (var dr = db.EseguiSQLDataReader(cDB.Queries.Movimenti_AutoCompleteSourceMA))
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            macroaree.Add(dr["MacroArea"] as string);
                        }
                    }

            return(macroaree);
        }
        public static string getMacroAreaByDescrizione(string userName, string descrizione)
        {
            var PathDB = GB.getDBPathByName(userName);

            using (var db = new cDB(PathDB))
                using (var dr = db.EseguiSQLDataReader(cDB.Queries.Movimenti_GetMacroAree_E_Descrizioni))
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            if (descrizione.Equals(dr["descrizione"] as string, StringComparison.OrdinalIgnoreCase))
                            {
                                return(dr["MacroArea"] as string);
                            }
                        }
                    }

            return("");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString.HasKeys())
            {
                try
                {
                    IDCassa = Request.QueryString["ID"] ?? "";
                }
                catch
                {
                    // no id
                }
            }

            SottoTitolo = "".Equals(IDCassa)
                  ? "Nuova cassa"
                  : $"Cassa {IDCassa}";

            if (!Page.IsPostBack)
            {
                if (!"".Equals(IDCassa))
                {
                    using (var db = new cDB(GB.Instance.getCurrentSession(Session).PathDB))
                    {
                        var par = new System.Data.Common.DbParameter[] {
                            cDB.NewPar("nome", IDCassa)
                        };

                        using (var dr = db.EseguiSQLDataReader(cDB.Queries.Casse_Carica, par))
                            if (dr.HasRows)
                            {
                                while (dr.Read())
                                {
                                    idNome.Value     = dr["nome"] as string;
                                    idNascondi.Value = GB.ObjectToBool(dr["Nascondi"]) ? "1" : "0";
                                }
                            }
                    }
                }
            }
        }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" + e.Row.RowIndex);
            }
            else if (e.Row.RowType == DataControlRowType.Footer)
            {
                using (var db = new cDB(GB.Instance.getCurrentSession(Session).PathDB))
                    using (var dr = db.EseguiSQLDataReader(cDB.Queries.Movimenti_Saldo))
                        if (dr.HasRows)
                        {
                            var lbl = (Label)e.Row.FindControl("lblTotal");

                            while (dr.Read())
                            {
                                lbl.Text = GB.ObjectToDouble(dr["Saldo"], 0).ToString("c");
                            }
                        }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString.HasKeys())
            {
                try
                {
                    IDMovimento = GB.ObjectToInt(Request.QueryString["ID"], -1);
                }
                catch
                {
                    // no id
                }

                try
                {
                    Tipo = Request.QueryString["T"];
                }
                catch
                {
                    // no tipo
                }
            }

            SottoTitolo = IDMovimento == -1
                ? "Nuovo importo"
                : $"Importo {IDMovimento}";

            if (!Page.IsPostBack)
            {
                using (var db = new cDB(GB.Instance.getCurrentSession(Session).PathDB))
                {
                    var casse = db.EseguiSQLDataTable(cDB.Queries.Casse_Lista);
                    idCassa.DataSource = casse;
                    idCassa.DataBind();

                    if (Tipo != null)
                    {
                        idCassa.SelectedValue = Tipo;
                    }

                    idGiroconto.DataSource = casse;
                    idGiroconto.DataBind();

                    if (IDMovimento > -1)
                    {
                        var par = new System.Data.Common.DbParameter[] {
                            cDB.NewPar("ID", IDMovimento)
                        };

                        using (var dr = db.EseguiSQLDataReader(cDB.Queries.Movimenti_Dettaglio, par))
                            if (dr.HasRows)
                            {
                                while (dr.Read())
                                {
                                    idNome.Value          = dr["Nome"] as string;
                                    idDescrizione.Value   = dr["Descrizione"] as string;
                                    idMacroarea.Value     = dr["Macroarea"] as string;
                                    idCassa.SelectedValue = dr["Tipo"] as string;
                                    idSoldi.Value         = GB.ObjectToHTMLDouble(dr["Soldi"], 0);
                                    idData.Value          = GB.ObjectToDateTimeStringHTML(dr["Data"]);
                                }
                            }
                    }
                    else
                    {
                        idData.Value = GB.ObjectToDateTimeStringHTML(DateTime.Now);
                    }
                }
            }
        }