Example #1
0
        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);
        }
Example #2
0
        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));
        }
Example #7
0
 public async Task <List <MtrContactos> > GetByIdCliente(MtrClienteQueryFilter filter)
 {
     return(await _unitOfWork.MtrContactosRepository.GetByEmailContactosCliente(filter));
 }