/// <summary>
        /// Realiza la adaptación de campos para la búsqueda
        /// </summary>
        /// <param name="listadoRequerimientoLogic">Entidad Lógica Listado Requerimiento</param>
        /// <param name="tipoServicio">Lista de Tipos de Servicios</param>
        /// <param name="tipoRequerimiento">Lista de Tipos de Requerimientos</param>
        /// <param name="tipoDocumentoRequerimiento">Lista de Documentos de Requerimientos</param>
        /// <param name="estadoRequerimiento">Lista de Estados de Requerimientos</param>
        /// <param name="listaTrabajador">Lista de Trabajador</param>
        /// <param name="listaUnidadOperativa">Lista de Unidad Operativa</param>
        /// <returns>Clase Listado Requerimiento Response con los datos de búsqueda</returns>
        public static ListadoRequerimientoResponse ObtenerListadoRequerimientoPaginado(ListadoRequerimientoLogic listadoRequerimientoLogic, List <CodigoValorResponse> tipoServicio = null, List <CodigoValorResponse> tipoRequerimiento = null, List <CodigoValorResponse> tipoDocumento = null, List <CodigoValorResponse> estadoRequerimiento = null, List <CodigoValorResponse> estadoEdicion = null, List <TrabajadorDatoMinimoResponse> listaTrabajador = null, List <UnidadOperativaResponse> listaUnidadOperativa = null)
        {
            string descripcionTipoServicio        = null;
            string descripcionTipoRequerimiento   = null;
            string descripcionTipoDocumento       = null;
            string descripcionEstadoRequerimiento = null;
            string descripcionEstadoEdicion       = null;

            if (tipoServicio != null)
            {
                var tServicio = tipoServicio.Where(n => n.Codigo.ToString() == listadoRequerimientoLogic.CodigoTipoServicio).FirstOrDefault();
                descripcionTipoServicio = (tServicio == null ? null : tServicio.Valor.ToString());
            }

            if (tipoRequerimiento != null)
            {
                var tRequerimiento = tipoRequerimiento.Where(n => n.Codigo.ToString() == listadoRequerimientoLogic.CodigoTipoRequerimiento).FirstOrDefault();
                descripcionTipoRequerimiento = (tRequerimiento == null ? null : tRequerimiento.Valor.ToString());
            }

            if (tipoDocumento != null)
            {
                var tDocumentoRequerimiento = tipoDocumento.Where(n => n.Codigo.ToString() == listadoRequerimientoLogic.CodigoTipoDocumento).FirstOrDefault();
                descripcionTipoDocumento = (tDocumentoRequerimiento == null ? null : tDocumentoRequerimiento.Valor.ToString());
            }

            if (estadoRequerimiento != null)
            {
                var eRequerimiento = estadoRequerimiento.Where(n => n.Codigo.ToString() == listadoRequerimientoLogic.CodigoEstadoRequerimiento).FirstOrDefault();
                descripcionEstadoRequerimiento = (eRequerimiento == null ? null : eRequerimiento.Valor.ToString());
            }

            if (estadoEdicion != null)
            {
                if (listadoRequerimientoLogic.CodigoEstadoRequerimiento == DatosConstantes.EstadoRequerimiento.Edicion || listadoRequerimientoLogic.CodigoEstadoRequerimiento == DatosConstantes.EstadoRequerimiento.Revision)
                {
                    var eEdicion = estadoEdicion.Where(n => n.Codigo.ToString() == listadoRequerimientoLogic.CodigoEstadoEdicion).FirstOrDefault();
                    descripcionEstadoEdicion = (eEdicion == null ? null : eEdicion.Valor.ToString());
                }
            }

            var listadoRequerimientoResponse = new ListadoRequerimientoResponse();

            NumberFormatInfo numberFormatInfo = new NumberFormatInfo();

            numberFormatInfo.NumberDecimalSeparator = ".";
            numberFormatInfo.NumberGroupSeparator   = ",";

            listadoRequerimientoResponse.CodigoRequerimiento   = listadoRequerimientoLogic.CodigoRequerimiento;
            listadoRequerimientoResponse.CodigoUnidadOperativa = listadoRequerimientoLogic.CodigoUnidadOperativa;

            string strGuid      = listadoRequerimientoResponse.CodigoUnidadOperativa.ToString();
            var    nombreUnidad = string.Empty;

            if (strGuid != "00000000-0000-0000-0000-000000000000")
            {
                var unidadEncontrada = listaUnidadOperativa.Where(item => item.CodigoUnidadOperativa == listadoRequerimientoLogic.CodigoUnidadOperativa);
                if (unidadEncontrada != null && unidadEncontrada.FirstOrDefault() != null)
                {
                    nombreUnidad = unidadEncontrada.FirstOrDefault().Nombre;
                }
            }
            else
            {
            }

            listadoRequerimientoResponse.NombreUnidadOperativa    = nombreUnidad;
            listadoRequerimientoResponse.CodigoProveedor          = listadoRequerimientoLogic.CodigoProveedor;
            listadoRequerimientoResponse.NumeroDocumentoProveedor = listadoRequerimientoLogic.NumeroDocumentoProveedor;
            listadoRequerimientoResponse.NombreProveedor          = listadoRequerimientoLogic.NombreProveedor;
            listadoRequerimientoResponse.NumeroRequerimiento      = listadoRequerimientoLogic.NumeroRequerimiento;
            listadoRequerimientoResponse.Descripcion = listadoRequerimientoLogic.Descripcion;
            //listadoRequerimientoResponse.CodigoTipoServicio = listadoRequerimientoLogic.CodigoTipoServicio;
            //listadoRequerimientoResponse.DescripcionTipoServicio = descripcionTipoServicio;
            listadoRequerimientoResponse.CodigoTipoRequerimiento        = listadoRequerimientoLogic.CodigoTipoRequerimiento;
            listadoRequerimientoResponse.DescripcionTipoRequerimiento   = descripcionTipoRequerimiento;
            listadoRequerimientoResponse.CodigoTipoDocumento            = listadoRequerimientoLogic.CodigoTipoDocumento;
            listadoRequerimientoResponse.DescripcionTipoDocumento       = descripcionTipoDocumento;
            listadoRequerimientoResponse.CodigoEstadoRequerimiento      = listadoRequerimientoLogic.CodigoEstadoRequerimiento;
            listadoRequerimientoResponse.DescripcionEstadoRequerimiento = descripcionEstadoRequerimiento;
            listadoRequerimientoResponse.FechaInicioVigencia            = listadoRequerimientoLogic.FechaInicioVigencia;
            listadoRequerimientoResponse.FechaInicioVigenciaString      = listadoRequerimientoLogic.FechaInicioVigencia.ToString(DatosConstantes.Formato.FormatoFecha);
            listadoRequerimientoResponse.FechaFinVigencia       = listadoRequerimientoLogic.FechaFinVigencia;
            listadoRequerimientoResponse.FechaFinVigenciaString = listadoRequerimientoLogic.FechaFinVigencia.ToString(DatosConstantes.Formato.FormatoFecha);
            listadoRequerimientoResponse.FechaResolucion        = listadoRequerimientoLogic.FechaResolucion;
            listadoRequerimientoResponse.ValidacionResolucion   = listadoRequerimientoLogic.ValidacionResolucion;

            if (listadoRequerimientoResponse.FechaResolucion == new DateTime(3100, 12, 30))
            {
                listadoRequerimientoResponse.FechaResolucionString = string.Empty;
            }
            else
            {
                listadoRequerimientoResponse.FechaResolucionString = listadoRequerimientoLogic.FechaResolucion.ToString(DatosConstantes.Formato.FormatoFecha);
            }

            if (listadoRequerimientoResponse.FechaInicioVigencia > listadoRequerimientoResponse.FechaFinVigencia)
            {
                listadoRequerimientoResponse.DiasVencimiento = 0;
            }
            else
            {
                listadoRequerimientoResponse.DiasVencimiento = (listadoRequerimientoResponse.FechaFinVigencia - DateTime.Today).Days;
            }

            listadoRequerimientoResponse.CodigoMoneda = listadoRequerimientoLogic.CodigoMoneda;

            listadoRequerimientoResponse.MontoRequerimiento       = listadoRequerimientoLogic.MontoRequerimiento;
            listadoRequerimientoResponse.MontoRequerimientoString = listadoRequerimientoLogic.MontoRequerimiento.ToString(DatosConstantes.Formato.FormatoNumeroDecimal);
            listadoRequerimientoResponse.MontoAcumulado           = listadoRequerimientoLogic.MontoAcumulado;
            listadoRequerimientoResponse.MontoAcumuladoString     = listadoRequerimientoLogic.MontoAcumulado.ToString(DatosConstantes.Formato.FormatoNumeroDecimal);

            listadoRequerimientoResponse.CodigoEstadoEdicion          = listadoRequerimientoLogic.CodigoEstadoEdicion;
            listadoRequerimientoResponse.DescripcionEstadoEdicion     = descripcionEstadoEdicion;
            listadoRequerimientoResponse.CodigoPlantilla              = listadoRequerimientoLogic.CodigoPlantilla;
            listadoRequerimientoResponse.CodigoRequerimientoPrincipal = listadoRequerimientoLogic.CodigoRequerimientoPrincipal;
            listadoRequerimientoResponse.CodigoTrabajadorResponsable  = listadoRequerimientoLogic.CodigoTrabajadorResponsable;

            var trabajadorResponsable = listadoRequerimientoLogic.CodigoTrabajadorResponsable.HasValue ? listaTrabajador.Where(item => item.CodigoTrabajador == listadoRequerimientoLogic.CodigoTrabajadorResponsable.Value).FirstOrDefault() : null;

            listadoRequerimientoResponse.NombreTrajadorResponsable = trabajadorResponsable != null ? trabajadorResponsable.NombreCompleto : null;
            listadoRequerimientoResponse.CantidadAdenda            = listadoRequerimientoLogic.CantidadAdenda;
            listadoRequerimientoResponse.NumeroAdendaConcatenado   = listadoRequerimientoLogic.NumeroAdendaConcatenado;
            listadoRequerimientoResponse.IndicadorAdhesion         = listadoRequerimientoLogic.IndicadorAdhesion;
            listadoRequerimientoResponse.ComentarioModificacion    = listadoRequerimientoLogic.ComentarioModificacion;
            listadoRequerimientoResponse.FechaCreacionString       = listadoRequerimientoLogic.FechaCreacion.ToString(DatosConstantes.Formato.FormatoFecha);
            listadoRequerimientoResponse.UsuarioCreacion           = listadoRequerimientoLogic.UsuarioCreacion;
            listadoRequerimientoResponse.EsFlexible = listadoRequerimientoLogic.EsFlexible;

            if (listadoRequerimientoLogic.FechaCreacionEstadioActual.HasValue)
            {
                TimeSpan ts = DateTime.Now.Date - listadoRequerimientoLogic.FechaCreacionEstadioActual.Value.Date;
                if (ts.Days < 0)
                {
                    listadoRequerimientoResponse.DiasEnBandeja = 0;
                }
                else
                {
                    listadoRequerimientoResponse.DiasEnBandeja = ts.Days;
                }
            }

            listadoRequerimientoResponse.FilasTotal          = listadoRequerimientoLogic.TotalRegistro;
            listadoRequerimientoResponse.NumeroFila          = listadoRequerimientoLogic.NumeroRegistro;
            listadoRequerimientoResponse.NombreEstadioActual = listadoRequerimientoLogic.NombreEstadioActual;

            return(listadoRequerimientoResponse);
        }
        /// <summary>
        /// Realiza la adaptación de campos para la búsqueda
        /// </summary>
        /// <param name="listadoRequerimientoLogic">Entidad Lógica Listado Requerimiento</param>
        /// <returns>Clase Listado Requerimiento Response con los datos de búsqueda</returns>
        public static ListadoRequerimientoResponse ObtenerBusquedaRequerimiento(ListadoRequerimientoLogic listadoRequerimientoLogic)
        {
            string descripcionTipoServicio        = null;
            string descripcionTipoRequerimiento   = null;
            string descripcionTipoDocumento       = null;
            string descripcionEstadoRequerimiento = null;
            string descripcionEstadoEdicion       = null;


            var listadoRequerimientoResponse = new ListadoRequerimientoResponse();

            NumberFormatInfo numberFormatInfo = new NumberFormatInfo();

            numberFormatInfo.NumberDecimalSeparator = ".";
            numberFormatInfo.NumberGroupSeparator   = ",";

            listadoRequerimientoResponse.CodigoRequerimiento      = listadoRequerimientoLogic.CodigoRequerimiento;
            listadoRequerimientoResponse.CodigoUnidadOperativa    = listadoRequerimientoLogic.CodigoUnidadOperativa;
            listadoRequerimientoResponse.CodigoProveedor          = listadoRequerimientoLogic.CodigoProveedor;
            listadoRequerimientoResponse.NumeroDocumentoProveedor = listadoRequerimientoLogic.NumeroDocumentoProveedor;
            listadoRequerimientoResponse.NombreProveedor          = listadoRequerimientoLogic.NombreProveedor;
            listadoRequerimientoResponse.NumeroRequerimiento      = listadoRequerimientoLogic.NumeroRequerimiento;
            listadoRequerimientoResponse.Descripcion = listadoRequerimientoLogic.Descripcion;
            //listadoRequerimientoResponse.CodigoTipoServicio = listadoRequerimientoLogic.CodigoTipoServicio;
            //listadoRequerimientoResponse.DescripcionTipoServicio = descripcionTipoServicio;
            listadoRequerimientoResponse.CodigoTipoRequerimiento        = listadoRequerimientoLogic.CodigoTipoRequerimiento;
            listadoRequerimientoResponse.DescripcionTipoRequerimiento   = descripcionTipoRequerimiento;
            listadoRequerimientoResponse.CodigoTipoDocumento            = listadoRequerimientoLogic.CodigoTipoDocumento;
            listadoRequerimientoResponse.DescripcionTipoDocumento       = descripcionTipoDocumento;
            listadoRequerimientoResponse.CodigoEstadoRequerimiento      = listadoRequerimientoLogic.CodigoEstadoRequerimiento;
            listadoRequerimientoResponse.DescripcionEstadoRequerimiento = descripcionEstadoRequerimiento;
            listadoRequerimientoResponse.FechaInicioVigencia            = listadoRequerimientoLogic.FechaInicioVigencia;
            listadoRequerimientoResponse.FechaInicioVigenciaString      = listadoRequerimientoLogic.FechaInicioVigencia.ToString(DatosConstantes.Formato.FormatoFecha);
            listadoRequerimientoResponse.FechaFinVigencia       = listadoRequerimientoLogic.FechaFinVigencia;
            listadoRequerimientoResponse.FechaFinVigenciaString = listadoRequerimientoLogic.FechaFinVigencia.ToString(DatosConstantes.Formato.FormatoFecha);

            if (listadoRequerimientoResponse.FechaInicioVigencia > listadoRequerimientoResponse.FechaFinVigencia)
            {
                listadoRequerimientoResponse.DiasVencimiento = 0;
            }
            else
            {
                listadoRequerimientoResponse.DiasVencimiento = (listadoRequerimientoResponse.FechaFinVigencia - DateTime.Today).Days;
            }

            listadoRequerimientoResponse.CodigoMoneda                 = listadoRequerimientoLogic.CodigoMoneda;
            listadoRequerimientoResponse.MontoRequerimiento           = listadoRequerimientoLogic.MontoRequerimiento;
            listadoRequerimientoResponse.MontoRequerimientoString     = listadoRequerimientoLogic.MontoRequerimiento.ToString(DatosConstantes.Formato.FormatoNumeroDecimal);
            listadoRequerimientoResponse.CodigoEstadoEdicion          = listadoRequerimientoLogic.CodigoEstadoEdicion;
            listadoRequerimientoResponse.DescripcionEstadoEdicion     = descripcionEstadoEdicion;
            listadoRequerimientoResponse.CodigoPlantilla              = listadoRequerimientoLogic.CodigoPlantilla;
            listadoRequerimientoResponse.CodigoRequerimientoPrincipal = listadoRequerimientoLogic.CodigoRequerimientoPrincipal;
            listadoRequerimientoResponse.CodigoTrabajadorResponsable  = listadoRequerimientoLogic.CodigoTrabajadorResponsable;

            listadoRequerimientoResponse.CantidadAdenda          = listadoRequerimientoLogic.CantidadAdenda;
            listadoRequerimientoResponse.NumeroAdendaConcatenado = listadoRequerimientoLogic.NumeroAdendaConcatenado;
            listadoRequerimientoResponse.IndicadorAdhesion       = listadoRequerimientoLogic.IndicadorAdhesion;
            listadoRequerimientoResponse.ComentarioModificacion  = listadoRequerimientoLogic.ComentarioModificacion;
            listadoRequerimientoResponse.FechaCreacionString     = listadoRequerimientoLogic.FechaCreacion.ToString(DatosConstantes.Formato.FormatoFecha);
            listadoRequerimientoResponse.UsuarioCreacion         = listadoRequerimientoLogic.UsuarioCreacion;
            listadoRequerimientoResponse.EsFlexible          = listadoRequerimientoLogic.EsFlexible;
            listadoRequerimientoResponse.NombreEstadioActual = listadoRequerimientoLogic.NombreEstadioActual;

            return(listadoRequerimientoResponse);
        }