Esempio n. 1
0
        public async Task <HttpResponseMessage> ObtenerCatalogo(CatalogoRequestDTO CatalogoRequest)
        {
            return(await HandleOperationExecutionAsync(async() =>
            {
                var catalogo = await new CatalogosService().ConsultaCatalogoPorIdCatalogo(CatalogoRequest);

                return Request.CreateResponse(HttpStatusCode.OK, catalogo);
            }));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="CatalogoReques"></param>
        /// <param name="EsActivo"></param>
        /// <returns></returns>
        public async Task <PagedInformationDTO <TramiteUnidadAtencionDTO> > ConsultaConceptos(
            CatalogoRequestDTO CatalogoReques, bool?EsActivo)
        {
            var pageInfo = new PagedInformationDTO <TramiteUnidadAtencionDTO>();

            var paginado = CatalogoReques.Paginado;

            pageInfo.SetElementosPorPagina = paginado.PageSize;
            pageInfo.CurrentPage           = paginado.CurrentPage;
            pageInfo.QueryString           = paginado.QueryString;

            using (var modelo = new ISSSTEEntities())
            {
                var requestsQuery = (from a in modelo.TramiteUnidadAtencion
                                     where !EsActivo.HasValue || a.EsActivo == EsActivo
                                     select new TramiteUnidadAtencionDTO
                {
                    TramiteUnidadAtencionId = a.TramiteUnidadAtencionId,
                    UnidadAtencionConcepto = a.UnidadAtencion.Descripcion,
                    TramiteUnidadAtencionConcepto = a.CatTipoTramite.Concepto,
                    EsActivo = a.EsActivo,
                    UnidadAtencionId = a.UnidadAtencionId,
                    CatTipoTramiteId = a.CatTipoTramiteId
                }).AsQueryable();

                if (!string.IsNullOrEmpty(pageInfo.GetFiltroBusqueda))
                {
                    requestsQuery = requestsQuery
                                    .Where(R => R.UnidadAtencionConcepto.ToLower().Contains(pageInfo.GetFiltroBusqueda.ToLower()) ||
                                           R.TramiteUnidadAtencionConcepto.ToLower()
                                           .Contains(pageInfo.GetFiltroBusqueda.ToLower()));
                }

                var requestCount = requestsQuery;
                pageInfo.ResultCount = await requestCount.CountAsync();

                var requests = await requestsQuery
                               .OrderByDescending(R => R.UnidadAtencionId)
                               .Skip(pageInfo.GetElementosPorPagina * (pageInfo.GetCurrentPage - 1))
                               .Take(pageInfo.GetElementosPorPagina)
                               .ToListAsync();

                pageInfo.ResultList = requests;
            }

            return(pageInfo);
        }
        public async Task <InformacionCatalogo> ConsultaCatalogoPorIdCatalogo(CatalogoRequestDTO CatalogoReques)
        {
            var informacionCatalogo = new InformacionCatalogo();


            switch (CatalogoReques.CatalogoId)
            {
            case (int)CatalogoEnum.TipoTramite:
                informacionCatalogo.Atributos =
                    ReflexionHelper.ObtenerElementosLinq(new CatTipoTramiteDTO(), MemberTypes.Property);
                informacionCatalogo.Resultado =
                    await new CatTipoTramiteDAO().ConsultaConceptos(CatalogoReques, null);
                break;

            case (int)CatalogoEnum.EstadoCita:

                informacionCatalogo.Atributos =
                    ReflexionHelper.ObtenerElementosLinq(new CatTipoEdoCitaDTO(), MemberTypes.Property);
                informacionCatalogo.Resultado =
                    await new CatTipoEdoCitaDAO().ConsultaConceptos(CatalogoReques, null);
                break;

            case (int)CatalogoEnum.UnidadAtencion:
                informacionCatalogo.Atributos =
                    ReflexionHelper.ObtenerElementosLinq(new UnidadAtencionDTO(), MemberTypes.Property);
                informacionCatalogo.Resultado =
                    await new UnidadAtencionDAO().ConsultaConceptos(CatalogoReques, null);
                break;

            case (int)CatalogoEnum.TramiteUnidadAtencion:
                informacionCatalogo.Atributos =
                    ReflexionHelper.ObtenerElementosLinq(new TramiteUnidadAtencionDTO(), MemberTypes.Property);
                informacionCatalogo.Resultado =
                    await new TramiteUnidadAtencionDAO().ConsultaConceptos(CatalogoReques, null);
                break;

            case (int)CatalogoEnum.UnidadMedica:
                informacionCatalogo.Atributos =
                    ReflexionHelper.ObtenerElementosLinq(new UnidadMedicaDTO(), MemberTypes.Property);
                informacionCatalogo.Resultado = await new UnidadMedicaDAO().ConsultaConceptos(CatalogoReques, null);
                break;
            }

            return(informacionCatalogo);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="CatalogoReques"></param>
        /// <param name="EsActivo"></param>
        /// <returns></returns>
        public async Task <PagedInformationDTO <UnidadAtencionDTO> > ConsultaConceptos(CatalogoRequestDTO CatalogoReques,
                                                                                       bool?EsActivo)
        {
            var paginado = CatalogoReques.Paginado;

            var pageInfo = new PagedInformationDTO <UnidadAtencionDTO>
            {
                SetElementosPorPagina = paginado.PageSize,
                CurrentPage           = paginado.CurrentPage,
                QueryString           = paginado.QueryString
            };

            using (var modelo = new ISSSTEEntities())
            {
                var requestsQuery = (from a in modelo.UnidadAtencion
                                     join b in modelo.Domicilio on a.DomicilioId equals b.DomicilioId into ab
                                     from res in ab.DefaultIfEmpty()
                                     select new UnidadAtencionDTO
                {
                    UnidadAtencionId = a.UnidadAtencionId,
                    Descripcion = a.Descripcion,
                    EsActivo = a.EsActivo,
                    CatTipoEntidadId = a.CatTipoEntidadId,
                    Contador = a.Contador,
                    Prefijo = a.Prefijo,
                    Mascara = a.Mascara,
                    ReiniciarContador = a.ReiniciarContador,
                    DomicilioId = res == null ? default(int) : res.DomicilioId,
                    Calle = res == null ? string.Empty : res.Calle,
                    NumeroExterior = res == null ? string.Empty : res.NumeroExterior,
                    NumeroInterior = res == null ? string.Empty : res.NumeroInterior,
                    CodigoPostal = res == null ? default(int) : res.CodigoPostal,
                    Colonia = res == null ? string.Empty : res.Colonia,
                    Municipio = res == null ? string.Empty : res.Municipio
                }).AsQueryable();

                if (EsActivo.HasValue)
                {
                    requestsQuery = requestsQuery.Where(R => R.EsActivo == EsActivo);
                }

                if (!string.IsNullOrEmpty(pageInfo.GetFiltroBusqueda))
                {
                    requestsQuery = requestsQuery
                                    .Where(R => R.Descripcion.ToLower().Contains(pageInfo.GetFiltroBusqueda.ToLower()));
                }

                var requestCount = requestsQuery;

                pageInfo.ResultCount = await requestCount.CountAsync();

                pageInfo.ResultList = await requestsQuery
                                      .OrderByDescending(R => R.UnidadAtencionId)
                                      .Skip(pageInfo.GetElementosPorPagina * (pageInfo.GetCurrentPage - 1))
                                      .Take(pageInfo.GetElementosPorPagina)
                                      .ToListAsync();
            }

            return(pageInfo);
        }