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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }