public TransacaoModel CarregaRegistro(int?id)
        {
            TransacaoModel item = new TransacaoModel();

            string _usuario_id = HttpContextAccessor.HttpContext.Session.GetString("UsuarioLogadoId");


            string sql = $"Select t.id, t.data, t.tipo, t.valor,t.descricao as Historico,c.Nome as Conta, c.saldo, p.descricao as Plano_Conta," +
                         $" a.nome as Nome_Usuario, a.id as Usuario_Id, a.email, t.conta_Id, t.Plano_Contas_Id " +
                         $" from Transacao t " +
                         $" join conta c on c.id = t.conta_id " +
                         $" join plano_contas p on p.id = t.plano_contas_id " +
                         $" join usuario a on a.id = c.usuario_id " +
                         $" where t.id = '{id}' order by t.data desc ";



            DAL       objdal = new DAL();
            DataTable dt     = objdal.retDataTable(sql);

            item                     = new TransacaoModel();
            item.Id                  = int.Parse(dt.Rows[0]["ID"].ToString());
            item.Data                = DateTime.Parse(dt.Rows[0]["Data"].ToString()).ToString("dd/MM/yyyy");
            item.Tipo                = dt.Rows[0]["TIPO"].ToString();
            item.Descricao           = dt.Rows[0]["Historico"].ToString();
            item.Valor               = double.Parse(dt.Rows[0]["Valor"].ToString());
            item.NomeConta           = dt.Rows[0]["Conta"].ToString();
            item.DescricaoPlanoConta = dt.Rows[0]["Plano_Conta"].ToString();
            item.Conta_Id            = int.Parse(dt.Rows[0]["Conta_Id"].ToString());
            item.Plano_Conta_Id      = int.Parse(dt.Rows[0]["Plano_Contas_Id"].ToString());

            return(item);
        }
        public List <TransacaoModel> ListaTransacao()
        {
            List <TransacaoModel> lista = new List <TransacaoModel>();

            TransacaoModel item;


            string filtro = "";

            if (Data != null && DataFinal != null)
            {
                filtro += $" and t.Data >='{DateTime.Parse(Data).ToString("yyyy/MM/dd")}' and t.Data <='{DateTime.Parse(DataFinal).ToString("yyyy/MM/dd")}'";
            }

            if (Tipo != null)
            {
                if (Tipo != "A")
                {
                    filtro += $" and t.tipo ='{Tipo}'";
                }
            }

            if (Conta_Id != 0)
            {
                filtro += $" and t.Conta_Id ='{Conta_Id}'";
            }



            string _usuario_id = HttpContextAccessor.HttpContext.Session.GetString("UsuarioLogadoId");

            string sql = $"Select t.id, t.data, t.tipo, t.valor,t.descricao as Historico,c.Nome as Conta, c.saldo, p.descricao as Plano_Conta," +
                         $" a.nome as Nome_Usuario, a.id as Usuario_Id, a.email, t.conta_Id, t.Plano_Contas_Id " +
                         $" from Transacao t " +
                         $" join conta c on c.id = t.conta_id " +
                         $" join plano_contas p on p.id = t.plano_contas_id " +
                         $" join usuario a on a.id = c.usuario_id " +
                         $" where a.id = '{_usuario_id}' {filtro} order by t.data desc ";

            DAL       objdal = new DAL();
            DataTable dt     = objdal.retDataTable(sql);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                item                     = new TransacaoModel();
                item.Id                  = int.Parse(dt.Rows[i]["ID"].ToString());
                item.Data                = (dt.Rows[i]["Data"].ToString());
                item.Tipo                = dt.Rows[i]["TIPO"].ToString();
                item.Descricao           = dt.Rows[i]["Historico"].ToString();
                item.Valor               = double.Parse(dt.Rows[i]["Valor"].ToString());
                item.NomeConta           = dt.Rows[i]["Conta"].ToString();
                item.DescricaoPlanoConta = dt.Rows[i]["Plano_Conta"].ToString();
                item.Conta_Id            = int.Parse(dt.Rows[i]["Conta_Id"].ToString());
                item.Plano_Conta_Id      = int.Parse(dt.Rows[i]["Plano_Contas_Id"].ToString());
                lista.Add(item);
            }

            return(lista);
        }