Exemplo n.º 1
0
        public async Task <DataEntityPager <MarcaOutput> > GetMarcasAsync(FiltroMarcaDto filtro, int itemperpage, int page)
        {
            //verificamos los parametros del filtro para poder verificar si vienen vacios
            bool isNullNombre = string.IsNullOrEmpty(filtro.Nombre);

            Expression <Func <Marca, bool> > where = x => ((isNullNombre) || (x.NombreMarca.Contains(filtro.Nombre))) &&
                                                     ((filtro.Estado == Core.Enums.Estado.Activo && x.Activo == true) ||
                                                      (filtro.Estado == Core.Enums.Estado.Inactivo && x.Activo == false) || (filtro.Estado == Core.Enums.Estado.Todos));

            List <Marca> marcas = await _marcaRepository.GetMarcaAsync(where, itemperpage, page);

            List <MarcaOutput> result = _mapper.Map <List <MarcaOutput> >(marcas);
            int totalItems            = await _marcaRepository.CountAsync(where);

            DataEntityPager <MarcaOutput> lista = new DataEntityPager <MarcaOutput>();

            lista.CantidadPorPagina = itemperpage;
            lista.CantidadTotal     = totalItems;
            lista.PaginaActual      = page;
            lista.Results           = result;

            return(lista);
        }