public ResponseConsultarDocumento ValidarDocumento(RequestConsultarDocumento request)
        {
            var response       = new ResponseConsultarDocumento();
            var listaDocumento = new List <Documento>();

            using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB")))
            {
                Dictionary <string, object> parametrosIn = new Dictionary <string, object>();

                parametrosIn.Add("@CodigoDocumento", request.CodigoDocumento);
                parametrosIn.Add("@CodigoItinerario", request.CodigoItinerario);
                parametrosIn.Add("@CodigoPuertoOrigenDocumento", request.CodigoPuertoOrigenDocumento);
                parametrosIn.Add("@CodigoPuertoEmbarqueDocumento", request.CodigoPuertoEmbarqueDocumento);
                parametrosIn.Add("@CodigoPuertoDescargaDocumento", request.CodigoPuertoDescargaDocumento);
                parametrosIn.Add("@CodigoPuertoFinalDocumento", request.CodigoPuertoFinalDocumento);
                parametrosIn.Add("@CodigoLineaNaviera", request.CodigoLineaNaviera);
                parametrosIn.Add("@CodigoAduana", request.CodigoAduana);
                parametrosIn.Add("@NumeroDocumento", request.NumeroDocumento);

                using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_VALIDAR_DOCUMENTO", conexion, parametrosIn, true))
                {
                    using (IDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Documento Documento = new Documento();
                            Documento.NumeroDocumento = dr.GetString(dr.GetOrdinal("NumeroDocumento")).Trim();
                            listaDocumento.Add(Documento);
                        }

                        SqlHelper.CloseConnection(conexion);
                    }
                    response.ListaDocumento = listaDocumento;
                }
            }
            return(response);
        }
        public ResponseConsultarDocumento ConsultarDocumento(RequestConsultarDocumento request)
        {
            var response       = new ResponseConsultarDocumento();
            var listaDocumento = new List <Documento>();

            using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB")))
            {
                Dictionary <string, object> parametrosIn  = new Dictionary <string, object>();
                Dictionary <string, object> parametrosOut = new Dictionary <string, object>();
                int totRegs  = 0;
                int cantRegs = 0;

                parametrosIn.Add("@CodigoDocumento", request.CodigoDocumento);
                parametrosIn.Add("@CodigoItinerario", request.CodigoItinerario);
                parametrosIn.Add("@CodigoPuertoOrigenDocumento", request.CodigoPuertoOrigenDocumento);
                parametrosIn.Add("@CodigoPuertoEmbarqueDocumento", request.CodigoPuertoEmbarqueDocumento);
                parametrosIn.Add("@CodigoPuertoDescargaDocumento", request.CodigoPuertoDescargaDocumento);
                parametrosIn.Add("@CodigoPuertoFinalDocumento", request.CodigoPuertoFinalDocumento);
                parametrosIn.Add("@CodigoLineaNaviera", request.CodigoLineaNaviera);
                parametrosIn.Add("@CodigoAduana", request.CodigoAduana);
                parametrosIn.Add("@CodigoTipoBL", request.CodigoTipoBL);
                parametrosIn.Add("@CodigoTipoEnvio", request.CodigoTipoEnvio);
                parametrosIn.Add("@NumeroDocumento", request.NumeroDocumento);
                parametrosIn.Add("@FechaEmisionDocumentoInicio", request.FechaEmisionDocumentoInicio);
                parametrosIn.Add("@FechaEmisionDocumentoFin", request.FechaEmisionDocumentoFin);

                parametrosIn.Add("@OrdenCampo", request.OrdenCampo);
                parametrosIn.Add("@OrdenOrientacion", request.OrdenOrientacion);
                parametrosIn.Add("@PaginaActual", request.PaginaActual);
                parametrosIn.Add("@NroRegistrosPorPagina", request.NroRegistrosPorPagina);

                parametrosOut.Add("@TotalRegistros", totRegs);
                parametrosOut.Add("@CantidadPaginas", cantRegs);

                using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_CONSULTAR_DOCUMENTO", conexion, parametrosIn, true, parametrosOut))
                {
                    using (IDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Documento Documento = new Documento();
                            Documento.CodigoDocumento               = dr.GetInt64(dr.GetOrdinal("CodigoDocumento"));
                            Documento.NombreNave                    = dr.GetString(dr.GetOrdinal("NombreNave")).Trim();
                            Documento.NumeroViajeItinerario         = dr.GetString(dr.GetOrdinal("NumeroViajeItinerario")).Trim();
                            Documento.NombrePuertoOrigenDocumento   = dr.GetString(dr.GetOrdinal("NombrePuertoOrigenDocumento")).Trim();
                            Documento.NombrePuertoEmbarqueDocumento = dr.GetString(dr.GetOrdinal("NombrePuertoEmbarqueDocumento")).Trim();
                            Documento.NombrePuertoDescargaDocumento = dr.GetString(dr.GetOrdinal("NombrePuertoDescargaDocumento")).Trim();
                            Documento.NombrePuertoFinalDocumento    = dr.GetString(dr.GetOrdinal("NombrePuertoFinalDocumento")).Trim();
                            Documento.NombreLineaNaviera            = dr.GetString(dr.GetOrdinal("NombreLineaNaviera")).Trim();
                            Documento.NumeroDocumento               = dr.GetString(dr.GetOrdinal("NumeroDocumento")).Trim();
                            Documento.NombreAduana                  = dr.GetString(dr.GetOrdinal("NombreAduana")).Trim();
                            Documento.NombreTipoBL                  = dr.GetString(dr.GetOrdinal("NombreTipoBL")).Trim();
                            Documento.NombreTipoEnvio               = dr.GetString(dr.GetOrdinal("NombreTipoEnvio")).Trim();
                            Documento.FechaEmisionDocumento         = dr.IsDBNull(dr.GetOrdinal("FechaEmisionDocumento")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaEmisionDocumento"));
                            Documento.FechaEmbarqueDocumento        = dr.IsDBNull(dr.GetOrdinal("FechaEmbarqueDocumento")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaEmbarqueDocumento"));
                            Documento.UsuarioCreacion               = dr.IsDBNull(dr.GetOrdinal("UsuarioCreacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioCreacion")).Trim();
                            Documento.FechaHoraCreacion             = dr.IsDBNull(dr.GetOrdinal("FechaHoraCreacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraCreacion"));
                            Documento.UsuarioActualizacion          = dr.IsDBNull(dr.GetOrdinal("UsuarioActualizacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioActualizacion")).Trim();
                            Documento.FechaHoraActualizacion        = dr.IsDBNull(dr.GetOrdinal("FechaHoraActualizacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraActualizacion"));

                            listaDocumento.Add(Documento);
                        }

                        SqlHelper.CloseConnection(conexion);
                    }
                    response.ListaDocumento  = listaDocumento;
                    response.TotalRegistros  = Int32.Parse(cmd.Parameters["@TotalRegistros"].Value.ToString());
                    response.CantidadPaginas = Int32.Parse(cmd.Parameters["@CantidadPaginas"].Value.ToString());
                }
            }
            return(response);
        }