public async Task <IActionResult> GetAllOficinas(MtrOficinaQueryFilter filters) { PagedList <MtrOficina> oficinas = await _mtrOficinaService.ListOficinasPorUsuario(filters); IEnumerable <MtrOficinaDto> oficinasDtos = _mapper.Map <IEnumerable <MtrOficinaDto> >(oficinas); Metadata metadata = new Metadata { TotalCount = oficinas.TotalCount, PageSize = oficinas.PageSize, CurrentPage = oficinas.CurrentPage, TotalPage = oficinas.TotalPage, HasNextPage = oficinas.HasNextPage, HasPreviousPage = oficinas.HasPreviousPage, NextPageUrl = "", PreviousPageUrl = "", }; var response = new ApiResponse <IEnumerable <MtrOficinaDto> >(oficinasDtos) { Meta = metadata }; return(Ok(response)); }
public async Task <PagedList <MtrOficina> > ListOficinasPorUsuario(MtrOficinaQueryFilter filter) { filter.PageNumber = filter.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filter.PageNumber; filter.PageSize = filter.PageSize == 0 ? _paginationOptions.DefaultPageSize : filter.PageSize; var oficinas = await _unitOfWork.MtrOficinaRepository.ListOficinasPorUsuario(filter); var pagedOficinas = PagedList <MtrOficina> .Create(oficinas, filter.PageNumber, filter.PageSize); return(pagedOficinas); }
public async Task <IEnumerable <MtrOficina> > ListOficinasPorUsuario(MtrOficinaQueryFilter filter) { List <MtrOficina> result = new List <MtrOficina>(); string usuario = filter.Usuario; var vendedor = await _context.MtrVendedor.Where(x => x.Codigo == usuario).FirstOrDefaultAsync(); if (vendedor != null) { result = await _context.MtrOficina.Where(x => x.CodOficina == vendedor.Oficina).ToListAsync(); } var supervisor = await _context.MtrVendedor.Where(x => x.Supervisor == usuario).FirstOrDefaultAsync(); if (supervisor != null) { result = await _context.MtrOficina.Where(x => x.CodOficina == supervisor.Oficina).ToListAsync(); } var cobRolCobranza = await _context.CobRolCobranza.Where(x => x.IdUsuario == usuario).ToListAsync(); if (cobRolCobranza.Count > 0) { foreach (var item in cobRolCobranza) { var ofi = await _context.MtrOficina.Where(x => x.CodOficina == item.IdOficina).ToListAsync(); foreach (var itemofi in ofi) { result.Add(itemofi); } } } var usuarioOficina = await _context.MtrUsuarioOficina.Where(x => x.Usuario == usuario).ToListAsync(); if (usuarioOficina.Count > 0) { foreach (var item in usuarioOficina) { var ofi = await _context.MtrOficina.Where(x => x.CodOficina == item.Oficina).ToListAsync(); foreach (var itemofi in ofi) { result.Add(itemofi); } } } return(result); }