Ejemplo n.º 1
0
        public async Task <IActionResult> CreadasPaginado([FromBody] Paginacion paginacion)
        {
            #region CreadasPaginado
            try
            {
                var             user = _httpContextAccessor.GetUsuarioInfoViewModel();
                List <Encuesta> encuestas;
                if (user.Rol.Equals(Constantes.RolesSistema.Administrador))
                {
                    encuestas = (await _repository.FindBy <Encuesta>(null, x => x.OrderByDescending(x => x.Fecha), x => x.IdCarreraNavigation, x => x.IdEstatusEncuestaNavigation)).ToList();
                }
                else
                {
                    encuestas = (await _repository.FindBy <Encuesta>(x => x.IdUsuarioRegistro == user.Id, x => x.OrderByDescending(x => x.Fecha), x => x.IdCarreraNavigation, x => x.IdEstatusEncuestaNavigation)).ToList();
                }

                int totalRegistros = encuestas.Count();
                int column         = paginacion.Order[0].Column;
                var order          = paginacion.Order[0].Dir;

                if (!string.IsNullOrEmpty(paginacion.Search.Value))
                {
                    encuestas = encuestas.Where(x => x.Nombre.Contains(paginacion.Search.Value)).ToList();
                }

                switch (column)
                {
                case 0:
                    if (order.Equals("asc"))
                    {
                        encuestas = encuestas.OrderBy(x => x.IdEstatusEncuestaNavigation.Descripcion).ToList();
                    }
                    else
                    {
                        encuestas = encuestas.OrderByDescending(x => x.IdEstatusEncuestaNavigation.Descripcion).ToList();
                    }
                    break;

                case 1:
                    if (order.Equals("asc"))
                    {
                        encuestas = encuestas.OrderBy(x => x.Fecha).ToList();
                    }
                    else
                    {
                        encuestas = encuestas.OrderByDescending(x => x.Fecha).ToList();
                    }
                    break;

                case 2:
                    if (order.Equals("asc"))
                    {
                        encuestas = encuestas.OrderBy(x => x.Nombre).ToList();
                    }
                    else
                    {
                        encuestas = encuestas.OrderByDescending(x => x.Nombre).ToList();
                    }
                    break;

                case 3:
                    if (order.Equals("asc"))
                    {
                        encuestas = encuestas.OrderBy(x => x.IdCarreraNavigation.Nombre).ToList();
                    }
                    else
                    {
                        encuestas = encuestas.OrderByDescending(x => x.IdCarreraNavigation.Nombre).ToList();
                    }
                    break;

                default:
                    break;
                }
                var encuestasResult = encuestas
                                      .Skip(paginacion.Start)
                                      .Take(paginacion.Length)
                                      .Select(x => new
                {
                    x.Id,
                    x.Fecha,
                    x.Nombre,
                    IdCarreraNavigation = new
                    {
                        x.IdCarreraNavigation.Nombre
                    },
                    x.IdEstatusEncuesta,
                    IdEstatusEncuestaNavigation = new
                    {
                        x.IdEstatusEncuestaNavigation.Descripcion
                    }
                })
                                      .ToList();


                var registrosFiltrados      = encuestasResult.Count();
                var totalRegistrosFiltrados = totalRegistros;
                var datosPaginados          = encuestasResult;
                return(Json(new { draw = paginacion.Draw, recordsFiltered = registrosFiltrados, recordsTotal = totalRegistrosFiltrados, data = datosPaginados }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest(ex.Message));
            }
            #endregion
        }
Ejemplo n.º 2
0
        // GET: Carrera
        public async Task <IActionResult> Index(string search, string Filter, string sortOrder, int?page)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                //Permisos de usuario
                var permisos = i.Claims.Where(c => c.Type == "Carreras").Select(c => c.Value).SingleOrDefault().Split(";");
                ViewData["Crear"]    = Convert.ToBoolean(permisos[1]);
                ViewData["Editar"]   = Convert.ToBoolean(permisos[2]);
                ViewData["Eliminar"] = Convert.ToBoolean(permisos[3]);
                ViewData["Exportar"] = Convert.ToBoolean(permisos[4]);

                if (Convert.ToBoolean(permisos[0]))
                {
                    ViewData["NombreSortParam"]   = string.IsNullOrEmpty(sortOrder) ? "nombre_desc" : "";
                    ViewData["FacultadSortParam"] = sortOrder == "fac_asc" ? "fac_desc" : "fac_asc";

                    //permite mantener la busqueda introducida en el filtro de busqueda

                    if (search != null)
                    {
                        page = 1;
                    }
                    else
                    {
                        search = Filter;
                    }

                    ViewData["Filter"]      = search;
                    ViewData["CurrentSort"] = sortOrder;

                    var carrera = from c in _context.Carrera.Include(c => c.Facultad) select c;
                    if (!String.IsNullOrEmpty(search))
                    {
                        carrera = carrera.Where(s => s.Nombre.Contains(search) || s.Facultad.Nombre.Contains(search));
                    }

                    switch (sortOrder)
                    {
                    case "nombre_desc":
                        carrera = carrera.OrderByDescending(s => s.Nombre);
                        break;

                    case "fac_asc":
                        carrera = carrera.OrderBy(s => s.Facultad.Nombre);
                        break;

                    case "fac_desc":
                        carrera = carrera.OrderByDescending(s => s.Facultad.Nombre);
                        break;

                    default:
                        carrera = carrera.OrderBy(s => s.Nombre);
                        break;
                    }
                    int pageSize = 10;
                    return(View(await Paginacion <Carrera> .CreateAsync(carrera, page ?? 1, pageSize)));                  // page devuelve valor si lo tiene caso contrario devuelve 1
                }
                else
                {
                    return(Redirect("../Home"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 3
0
        public ListaPaginada <SubCategoriaDto> ListarSubCategoriasPaginado(string filtro, Paginacion paginacion)
        {
            Expression <Func <SubCategoria, bool> > expresionFiltro = null;

            if (!string.IsNullOrEmpty(filtro))
            {
                filtro          = filtro.Trim();
                expresionFiltro =
                    x =>
                    x.Descripcion.Contains(filtro) ||
                    x.Categoria.Descripcion.Contains(filtro);
            }

            var subCategorias = Repositorio.Listar <SubCategoria>(expresionFiltro, paginacion);

            return(MapearPaginado <SubCategoria, SubCategoriaDto>(subCategorias));
        }
Ejemplo n.º 4
0
        // GET: MetricaViews
        public async Task <IActionResult> Index(string SortOrder, string currentFilter, string searchString, int?page)
        {
            ViewData["NombreSortParm"] = String.IsNullOrEmpty(SortOrder) ? "nombre_desc" : "";
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewData["CurrentFilter"] = searchString;
            ViewData["CurrentSort"]   = SortOrder;

            var metricasView = from m in _context.MetricasView select m;

            if (!String.IsNullOrEmpty(searchString))
            {
                metricasView = metricasView.Where(m => m.Documento.Contains(searchString) || m.Nombre.Contains(searchString) || m.Apellido.Contains(searchString) || m.UserName.Contains(searchString));
            }

            switch (SortOrder)
            {
            case "nombre_desc":
                metricasView = metricasView.OrderByDescending(m => m.Nombre);
                break;

            case "apellido_desc":
                metricasView = metricasView.OrderByDescending(m => m.Apellido);
                break;

            case "apellido_asc":
                metricasView = metricasView.OrderBy(m => m.Apellido);
                break;

            case "documento_desc":
                metricasView = metricasView.OrderByDescending(m => m.Documento);
                break;

            case "documento_asc":
                metricasView = metricasView.OrderBy(m => m.Documento);
                break;

            case "useName_desc":
                metricasView = metricasView.OrderByDescending(m => m.UserName);
                break;

            case "useName_asc":
                metricasView = metricasView.OrderBy(m => m.UserName);
                break;

            default:
                metricasView = metricasView.OrderBy(m => m.Nombre).OrderBy(m => m.HoraInicio);
                break;
            }

            int pageSize = 7;

            return(View(await Paginacion <MetricasView> .CreateAsync(metricasView.AsNoTracking(), page ?? 1, pageSize)));
            //return View(await _context.MetricasView.ToListAsync());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Consulta en la base de datos  la tabla Bitacora
        /// </summary>
        /// <param name="pBitacora"></param>
        /// <returns></returns>
        public RespuestaListaBitacoraAplicacion ObtenerBitacoraPaginado(BitacoraAplicacion pBitacora, Paginacion pPaginacion)
        {
            RespuestaListaBitacoraAplicacion respuesta = new RespuestaListaBitacoraAplicacion();

            respuesta.ListaBitacora = new List <BitacoraAplicacion>();

            //STRORE PROCEDURE DEFINITION
            DbCommand dbCommand = database1.GetStoredProcCommand(defaultSchema + StoredProcedure.ObtenerBitacoraPaginado);

            //IN PARAMETERS

            if (pBitacora.IdBitacora != 0)
            {
                database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.idBitacoraProperty), DbType.Decimal, pBitacora.IdBitacora);
            }
            if (pBitacora.FechaRegistro != DateTime.MinValue)
            {
                database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.fechaRegistroProperty), DbType.DateTime, pBitacora.FechaRegistro);
            }
            if (pBitacora.FechaInicio != DateTime.MinValue)
            {
                database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.fechaInicioProperty), DbType.DateTime, pBitacora.FechaInicio);
            }
            if (pBitacora.FechaFinal != DateTime.MinValue)
            {
                database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.fechaFinalProperty), DbType.DateTime, pBitacora.FechaFinal);
            }
            database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.tipoEventoProperty), DbType.String, pBitacora.TipoEvento);
            database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.mensajeRegistroProperty), DbType.AnsiString, pBitacora.MensajeRegistro);
            database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.mensajeTecnicoProperty), DbType.AnsiString, pBitacora.MensajeTecnico);
            database1.AddInParameter(dbCommand, parameterName(BitacoraAplicacion.trazadorProperty), DbType.AnsiString, pBitacora.Trazador);
            database1.AddInParameter(dbCommand, parameterName(BaseEntidad.idEntidadProperty), DbType.Int64, pBitacora.IdEntidad);

            database1.AddInParameter(dbCommand, parameterName(Paginacion.numPaginaProperty), DbType.Int32, pPaginacion.NumPagina);


            //OUT PARAMETERS
            database1.AddOutParameter(dbCommand, parameterName(Paginacion.totalRegistrosProperty), DbType.Int32, 32);
            database1.AddOutParameter(dbCommand, parameterName(Paginacion.tamanoPaginaProperty), DbType.Int32, 32);
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.codErrorProperty), DbType.String, Constantes.BaseDatos.codErrorTamano);
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.mensajeProperty), DbType.String, Constantes.BaseDatos.mensajeTamano);



            //EXECUTE PROCEDURE - CONVERT ROWS
            using (IDataReader Reader = database1.ExecuteReader(dbCommand))
            {
                while (Reader.Read())
                {
                    respuesta.ListaBitacora.Add(new BitacoraAplicacion(Reader));
                }
            }

            //ERROR CODE AND MESSAGE COLLECTOR
            respuesta.Respuesta            = new Respuesta();
            respuesta.Respuesta.CodMensaje = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.codErrorProperty)));
            respuesta.Respuesta.Mensaje    = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.mensajeProperty)));
            respuesta.TotalRegistros       = DBHelper.ReadNullSafeInt(database1.GetParameterValue(dbCommand, parameterName(Paginacion.totalRegistrosProperty)));
            respuesta.NumPagina            = pPaginacion.NumPagina;
            respuesta.TamanoPagina         = pPaginacion.TamanoPagina;

            if (respuesta.Respuesta.CodMensaje == Respuesta.CodExitoso)
            {
                respuesta.Respuesta = new Respuesta(respuesta.Respuesta.CodMensaje);
            }

            return(respuesta);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Metodo que sirve para Obtener la lista de tipo AutorizacionDetalle con paginacion
        /// </summary>
        /// <param name="pAutorizacionDetalle">Filtro de tipo AutorizacionDetalle</param>
        /// <param name="pPaginacion">Uso de Paginacion</param>
        /// <returns></returns>
        public RespuestaListaAutorizacionDetalle ObtenerAutorizacionDetallePaginado(AutorizacionDetalle pAutorizacionDetalle, Paginacion pPaginacion)
        {
            var respuesta = new RespuestaListaAutorizacionDetalle();

            try
            {
                RespuestaSesion respS = sesion.ObtenerSesion(new Sesion()
                {
                    Token = pAutorizacionDetalle.UsrtokensAuthenticate
                });
                if (respS.Respuesta.CodMensaje == Respuesta.CodExitoso)
                {
                    respuesta = dal.ObtenerAutorizacionDetallePaginado(pAutorizacionDetalle, pPaginacion);

                    return(respuesta);
                }
                else
                {
                    return new RespuestaListaAutorizacionDetalle {
                               Respuesta = respS.Respuesta, ListaAutorizacionDetalle = new List <AutorizacionDetalle>()
                    }
                };
            }
            catch (Exception ex)
            {
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, pAutorizacionDetalle);

                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.ErrorExcepcion,
                                                         TraceData.Utilities.Enums.TypeTrace.Exception, ex, MethodBase.GetCurrentMethod().Name);

                return(new RespuestaListaAutorizacionDetalle {
                    Respuesta = new Respuesta(TipoRespuesta.Excepcion, ex.Message, Respuesta.CodNoValido)
                });
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Metodo que sirve para Obtener la lista de tipo Proveedor con paginacion
        /// </summary>
        /// <param name="pProveedor">Filtro de tipo Proveedor</param>
        /// <param name="pPaginacion">Uso de Paginacion</param>
        /// <returns></returns>
        public RespuestaListaProveedor ObtenerProveedorPaginado(Proveedor pProveedor, ref Paginacion pPaginacion)
        {
            var respuesta = new RespuestaListaProveedor();

            try
            {
                respuesta = dal.ObtenerProveedorPaginado(pProveedor, ref pPaginacion);
                return(respuesta);
            }
            catch (Exception ex)
            {
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, pProveedor);

                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.ErrorExcepcion,
                                                         TraceData.Utilities.Enums.TypeTrace.Exception, ex, MethodBase.GetCurrentMethod().Name);

                return(new RespuestaListaProveedor {
                    Respuesta = new Respuesta(TipoRespuesta.Excepcion, ex.Message, Respuesta.CodNoValido)
                });
            }
        }
Ejemplo n.º 8
0
        public async Task <ActionResult <List <Inventario> > > GetInventarioPorDeposito([FromQuery] Paginacion paginacion, int depositoId, int cantidadDeRegistros, string filtro)
        {
            var queryable = _context.inventario
                            .Include(x => x.ProductoPresentacion.Producto)
                            .Include(x => x.ProductoPresentacion.PresentacionProducto).Where(x => x.DepositoId == depositoId)
                            .OrderBy(x => x.ProductoPresentacion.Producto.nombre).AsQueryable();

            if (cantidadDeRegistros != 0)
            {
                paginacion.CantidadRegistros = cantidadDeRegistros;
            }
            if (!string.IsNullOrWhiteSpace(filtro))
            {
                queryable = queryable.Where(x => x.ProductoPresentacion.Producto.nombre.Contains(filtro)).AsQueryable();
            }
            await HttpContext.InsertarParametrosPaginacionEnRespuesta(queryable, paginacion.CantidadRegistros);

            return(await queryable.Paginar(paginacion).ToListAsync());
        }
Ejemplo n.º 9
0
        // GET: CertificadosMedicos
        public async Task <IActionResult> Index(string sortOrder, string Filter, int?page, string search)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                //Permisos de usuario
                var permisos = i.Claims.Where(c => c.Type == "CertificadosMedicos").Select(c => c.Value).SingleOrDefault().Split(";");
                ViewData["Crear"]    = Convert.ToBoolean(permisos[1]);
                ViewData["Editar"]   = Convert.ToBoolean(permisos[2]);
                ViewData["Eliminar"] = Convert.ToBoolean(permisos[3]);
                ViewData["Exportar"] = Convert.ToBoolean(permisos[4]);

                if (Convert.ToBoolean(permisos[0]))
                {
                    ViewData["NombreSortParam"] = String.IsNullOrEmpty(sortOrder) ? "nombre_desc" : "";

                    //permite mantener la busqueda introducida en el filtro de busqueda
                    if (search != null)
                    {
                        page = 1;
                    }
                    else
                    {
                        search = Filter;
                    }

                    ViewData["Filter"]      = search;
                    ViewData["CurrentSort"] = sortOrder;

                    var fechaInicioDia    = new DateTime();
                    var fechaInicioFinDia = new DateTime();



                    if (String.IsNullOrEmpty(search))
                    {
                        var fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                        //fechaInicioDia = new DateTime(fecha.Year, fecha.Month, fecha.Day, 00, 00, 00);
                        //fechaInicioFinDia = new DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59);
                        fechaInicioDia    = new DateTime(fecha.Year, fecha.Month, 11, 00, 00, 00);
                        fechaInicioFinDia = new DateTime(fecha.Year, fecha.Month, 11, 23, 59, 59);
                    }
                    else
                    {
                        var fecha = Convert.ToDateTime(search);
                        fechaInicioDia    = new DateTime(fecha.Year, fecha.Month, fecha.Day, 00, 00, 00);
                        fechaInicioFinDia = new DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59);
                    }                    //poner liuego esto

                    var citaOdontologica = from c in _context.CitaOdontologica.Include(a => a.Personal).Include(a => a.Paciente)
                                           .Where(a => a.FechaInicio > fechaInicioDia && a.FechaInicio < fechaInicioFinDia && (a.Estado == "A"))
                                           .OrderBy(p => p.FechaInicio)
                                           select c;


                    int pageSize = 10;

                    return(View(await Paginacion <CitaOdontologica> .CreateAsync(citaOdontologica, page ?? 1, pageSize)));                  // page devuelve valor si lo tiene caso contrario devuelve 1
                }
                else
                {
                    return(Redirect("../Home"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }