public List <ContaMovimentoTipoModel> Listar(ContaMovimentoTipoModel obj)
 {
     try
     {
         return(Selecionar(obj));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public ContaMovimentoTipoModel Consultar(ContaMovimentoTipoModel obj)
 {
     try
     {
         List <ContaMovimentoTipoModel> lst = Selecionar(obj);
         return(lst.Count > 0 ? lst.FirstOrDefault() : null);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        private List <ContaMovimentoTipoModel> Selecionar(ContaMovimentoTipoModel obj)
        {
            List <ContaMovimentoTipoModel> lst = null;

            try
            {
                objSbSelect = new StringBuilder();

                objSbSelect.AppendLine(@"
                                            SELECT ContaMovimentoTipo.IdContaMovimentoTipo
                                                 , ContaMovimentoTipo.Descricao AS ContaMovimentoTipo
                                                 , ContaMovimentoTipo.Sigla AS ContaMovimentoTipoSigla
                                                 , TipoContabil.IdTipoContabil
                                                 , TipoContabil.Descricao AS TipoContabil
                                                 , TipoContabil.Sigla AS TipoContabilSigla
                                            FROM ContaMovimentoTipo
                                            INNER JOIN TipoContabil
                                                    ON ContaMovimentoTipo.IdTipoContabil = TipoContabil.IdTipoContabil
                                            WHERE 1 = 1 ");

                if (obj != null)
                {
                    GetSqlCommand().Parameters.Clear();
                    if (obj.Id > 0)
                    {
                        objSbSelect.AppendLine(@" AND ContaMovimentoTipo.IdContaMovimentoTipo = @IdContaMovimentoTipo");
                        GetSqlCommand().Parameters.Add("IdContaMovimentoTipo", SqlDbType.Int).Value = obj.Id;
                    }
                    if (!string.IsNullOrEmpty(obj.Descricao))
                    {
                        objSbSelect.AppendLine(@" AND ContaMovimentoTipo.Descricao LIKE '%@ContaMovimentoTipoDescricao%'");
                        GetSqlCommand().Parameters.Add("ContaMovimentoTipoDescricao", SqlDbType.VarChar).Value = obj.Descricao;
                    }
                    if (!string.IsNullOrEmpty(obj.Sigla))
                    {
                        objSbSelect.AppendLine(@" AND ContaMovimentoTipo.Sigla = @ContaMovimentoTipoSigla");
                        GetSqlCommand().Parameters.Add("ContaMovimentoTipoSigla", SqlDbType.VarChar).Value = obj.Sigla;
                    }
                    if (obj.TipoContabil.Id > 0)
                    {
                        objSbSelect.AppendLine(@" AND TipoContabil.IdTipoContabil = @IdTipoContabil");
                        GetSqlCommand().Parameters.Add("IdTipoContabil", SqlDbType.Int).Value = obj.TipoContabil.Id;
                    }
                    if (!string.IsNullOrEmpty(obj.TipoContabil.Descricao))
                    {
                        objSbSelect.AppendLine(@" AND TipoContabil.Descricao LIKE '%@TipoContabilDescricao%'");
                        GetSqlCommand().Parameters.Add("TipoContabilDescricao", SqlDbType.VarChar).Value = obj.TipoContabil.Descricao;
                    }
                    if (!string.IsNullOrEmpty(obj.TipoContabil.Sigla))
                    {
                        objSbSelect.AppendLine(@" AND TipoContabil.Sigla = @TipoContabilSigla");
                        GetSqlCommand().Parameters.Add("TipoContabilSigla", SqlDbType.VarChar).Value = obj.TipoContabil.Sigla;
                    }
                }

                GetSqlCommand().CommandText = "";
                GetSqlCommand().CommandText = objSbSelect.ToString();

                lst = new List <ContaMovimentoTipoModel>();

                while (GetSqlDataReader().Read())
                {
                    ContaMovimentoTipoModel item = new ContaMovimentoTipoModel();

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("IdContaMovimentoTipo"))))
                    {
                        item.Id = Convert.ToInt32(GetSqlDataReader()["IdContaMovimentoTipo"]);
                    }

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("ContaMovimentoTipo"))))
                    {
                        item.Descricao = Convert.ToString(GetSqlDataReader()["ContaMovimentoTipo"]);
                    }

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("ContaMovimentoTipoSigla"))))
                    {
                        item.Sigla = Convert.ToString(GetSqlDataReader()["ContaMovimentoTipoSigla"]);
                    }

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("IdTipoContabil"))))
                    {
                        item.TipoContabil.Id = Convert.ToInt32(GetSqlDataReader()["IdTipoContabil"]);
                    }

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("TipoContabil"))))
                    {
                        item.TipoContabil.Descricao = Convert.ToString(GetSqlDataReader()["TipoContabil"]);
                    }

                    if (!(GetSqlDataReader().IsDBNull(GetSqlDataReader().GetOrdinal("TipoContabilSigla"))))
                    {
                        item.TipoContabil.Sigla = Convert.ToString(GetSqlDataReader()["TipoContabilSigla"]);
                    }

                    lst.Add(item);
                }

                return(lst);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objSbSelect != null)
                {
                    objSbSelect = null;
                }
                Close();
            }
        }