public async Task <List <MtrContactos> > GetByEmailContactosCliente(MtrClienteQueryFilter filter) { if (filter.PageSize == 0) { filter.PageSize = 20; } if (filter.PageNumber == 0) { filter.PageNumber = 1; } string idCliente = filter.Codigo; if (idCliente == "000000") { idCliente = "0"; } else { var cliente = await _context.MtrCliente.Where(x => x.Codigo == idCliente).FirstOrDefaultAsync(); filter.Rif = cliente.NoRegTribut; } List <MtrContactos> contactos = new List <MtrContactos>(); if (filter.SearchText.Length > 0) { contactos = await _context.MtrContactos.Where(x => (x.IdCliente == idCliente || x.IdCliente == filter.Codigo)).OrderByDescending(x => x.FechaCreacion).ToListAsync(); contactos = contactos.Where(x => x.Rif == filter.Rif).OrderByDescending(x => x.FechaCreacion).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToList(); contactos = contactos.Where(x => (x.Cargo.ToLower().Contains(filter.SearchText.Trim().ToLower()) || x.Nombre.ToLower().Contains(filter.SearchText.Trim().ToLower()) || x.Email.ToLower().Contains(filter.SearchText.Trim().ToLower()))).OrderByDescending(x => x.FechaCreacion).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToList(); } else { contactos = await _context.MtrContactos.Where(x => (x.IdCliente == idCliente || x.IdCliente == filter.Codigo) && (x.Rif == filter.Rif) && (x.Email.Trim().Length > 0)).OrderByDescending(x => x.FechaCreacion).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } List <MtrContactos> result = new List <MtrContactos>(); MtrContactos resultItem = new MtrContactos(); foreach (var item in contactos) { var resultBusqueda = result.Where(x => x.Email.Trim() == item.Email.Trim()).FirstOrDefault(); if (resultBusqueda == null) { result.Add(item); } } return(result); }
public async Task <IEnumerable <MtrCliente> > ListClientesPorUsuario(MtrClienteQueryFilter filter) { filter.PageNumber = filter.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filter.PageNumber; filter.PageSize = filter.PageSize == 0 ? _paginationOptions.DefaultPageSize : filter.PageSize; var clientes = await _unitOfWork.MtrClienteRepository.ListClientesPorUsuario(filter); return(clientes); }
public async Task <IActionResult> ListContactosCliente(MtrClienteQueryFilter filters) { List <MtrContactos> contactos = await _mtrContactosService.GetByIdCliente(filters); IEnumerable <MtrContactosDto> contactosDtos = _mapper.Map <IEnumerable <MtrContactosDto> >(contactos); ApiResponse <IEnumerable <MtrContactosDto> > response = new ApiResponse <IEnumerable <MtrContactosDto> >(contactosDtos); return(Ok(response)); }
public async Task <IActionResult> GetMtrClientes([FromQuery] MtrClienteQueryFilter filters) { IEnumerable <MtrCliente> clientes = await _mtrClienteService.ListClientesPorUsuario(filters); IEnumerable <MtrClienteDto> clientesDtos = _mapper.Map <IEnumerable <MtrClienteDto> >(clientes); ApiResponse <IEnumerable <MtrClienteDto> > response = new ApiResponse <IEnumerable <MtrClienteDto> >(clientesDtos); return(Ok(response)); }
public async Task <IActionResult> ListDireccionesCliente(MtrClienteQueryFilter filters) { List <MtrDireccionesDto> mtrDireccionesDtos = await _mtrClienteService.GetDireccionestDtoByCodigo(filters.Codigo); if (filters.SearchText.Length > 0) { mtrDireccionesDtos = mtrDireccionesDtos.Where(x => x.Rif.ToLower().Contains(filters.SearchText.Trim().ToLower()) || x.Direccion.ToLower().Contains(filters.SearchText.Trim().ToLower()) || x.Direccion1.ToLower().Contains(filters.SearchText.Trim().ToLower()) || x.Estado.ToLower().Contains(filters.SearchText.Trim().ToLower())).ToList(); } ApiResponse <List <MtrDireccionesDto> > response = new ApiResponse <List <MtrDireccionesDto> >(mtrDireccionesDtos); return(Ok(response)); }
public async Task <IActionResult> ListClientesPorUsuario(MtrClienteQueryFilter filters) { IEnumerable <MtrCliente> clientes = await _mtrClienteService.ListClientesPorUsuario(filters); IEnumerable <MtrClienteDto> clientesDtos = _mapper.Map <IEnumerable <MtrClienteDto> >(clientes); foreach (var item in clientesDtos) { MtrDireccionesDto direccionFacturar = await _mtrClienteService.GetDireccionestDtoById((decimal)item.IdDireccion); if (direccionFacturar != null) { item.MtrDireccionesDto = direccionFacturar; } } var pagedclientes = PagedList <MtrClienteDto> .Create(clientesDtos, filters.PageNumber, filters.PageSize); ApiResponse <IEnumerable <MtrClienteDto> > response = new ApiResponse <IEnumerable <MtrClienteDto> >(clientesDtos); return(Ok(response)); }
public async Task <List <MtrContactos> > GetByIdCliente(MtrClienteQueryFilter filter) { return(await _unitOfWork.MtrContactosRepository.GetByEmailContactosCliente(filter)); }