public async Task <CarritoDto> Handle(Ejecuta request, CancellationToken cancellationToken) { var carritoSesion = await _contexto.CarritoSesion.FirstOrDefaultAsync(x => x.CarritoSesionId == request.CarritoSesionId); var carritoDetalleSesion = await _contexto.CarritoSesionDetalle.Where(x => x.CarritoSesionId == request.CarritoSesionId).ToListAsync(); var listaCarritoDto = new List <CarritoDetalleDto>(); foreach (var libro in carritoDetalleSesion) { var respone = await _librosService.GetLibro(new Guid(libro.ProductoSeleccionado)); if (respone.resultado) { var objetoLibro = respone.Libro; var carritoDetalle = new CarritoDetalleDto { TituloLibro = objetoLibro.Titulo, FechaPublicacion = objetoLibro.FechaPublicacion, LibroId = objetoLibro.LibreriaMaterialId }; listaCarritoDto.Add(carritoDetalle); } } var carritoSesionDto = new CarritoDto { CarritoId = carritoSesion.CarritoSesionId, FechaCreacionSesion = carritoSesion.FechaCreacion, ListaProductos = listaCarritoDto }; return(carritoSesionDto); }
public async Task <CarritoDto> Handle(Ejecuta request, CancellationToken cancellationToken) { CarritoSesion carritoSesion = await _contexto.CarritoSesion.FirstOrDefaultAsync(x => x.CarritoSesionId == request.CarritoSesionId); List <CarritoSesionDetalle> carritoSesionDetalle = await _contexto.CarritoSesionDetalle.Where(x => x.CarritoSesionId == request.CarritoSesionId).ToListAsync(); List <CarritoDetalleDto> carritoDetalleDtos = new List <CarritoDetalleDto>(); foreach (var libro in carritoSesionDetalle) { var response = await _libroService.GetLibro(new Guid(libro.ProductoSeleccionado)); if (response.resultado) { LibroRemote ObjetoLibro = response.libro; CarritoDetalleDto carritoDetalle = _mapper.Map <LibroRemote, CarritoDetalleDto>(ObjetoLibro); carritoDetalleDtos.Add(carritoDetalle); } } CarritoDto carritoDto = new CarritoDto() { CarritoId = carritoSesion.CarritoSesionId, FechaCreacionSesion = carritoSesion.FechaCreacion, ListaProductos = carritoDetalleDtos }; return(carritoDto); }
public async Task <CarritoDto> Handle(Ejecuta request, CancellationToken cancellationToken) { CarritoSesion carritoSesion = await Contexto.CarritoSesion.FirstOrDefaultAsync(c => c.CarritoSesionId == request.CarritoSesionId); List <CarritoSesionDetalle> carritoSesionDetalle = await Contexto.CarritoSesionDetalle.Where(c => c.CarritoSesionId == request.CarritoSesionId).ToListAsync(); List <CarritoDetalleDto> listaCarritoDto = new List <CarritoDetalleDto>(); foreach (CarritoSesionDetalle libro in carritoSesionDetalle) { (bool resultado, RemoteModel.LibroRemote Libro, string ErrorMessage)response = await LibroService.GetLibro(new Guid(libro.ProductoSeleccionado)); if (response.resultado) { LibroRemote objectoLibro = response.Libro; CarritoDetalleDto carritoDetalle = new CarritoDetalleDto() { TituloLibro = objectoLibro.Titulo, FechaPublicacion = objectoLibro.FechaPublicacion, LibroId = objectoLibro.LibreriaMaterialId }; listaCarritoDto.Add(carritoDetalle); } } return(new CarritoDto { CarritoId = carritoSesion?.CarritoSesionId, ListaProductos = listaCarritoDto, FechaCreacionSesion = carritoSesion?.FechaCompra }); }
public async Task <CarritoDto> Handle(Ejecuta request, CancellationToken cancellationToken) { var carritoSesion = await _context.CarritoSesion.FirstOrDefaultAsync(x => x.CarritoSesionId == request.CarritoSesionId); var carritoSesionDetalle = await _context.CarritoSesionDetalle.Where(a => a.CarritoSesionId == request.CarritoSesionId).ToListAsync(); var lDto = new List <CarritoDetalleDto>(); foreach (var item in carritoSesionDetalle) { var(resultado, libro, errorMessage) = await _libro.GetLibro(new System.Guid(item.ProductoSeleccionado)); if (resultado) { var objetoLibro = libro; var carritoDetalle = new CarritoDetalleDto() { TituloLibro = objetoLibro.Titulo, FechaPublicacion = objetoLibro.FechaPublicacion, LibroId = objetoLibro.LibreriaMaterialId }; lDto.Add(carritoDetalle); } } var cDto = new CarritoDto() { ListaProductos = lDto, CarritoId = carritoSesion.CarritoSesionId, FechaCreacionSesion = carritoSesion.FechaCreacion }; return(cDto); }
public async Task <CarritoDto> Handle(Ejecuta request, CancellationToken cancellationToken) { var carritoSesion = await _contexto.CarritoSesion.FirstOrDefaultAsync(x => x.CarritoSesionId == request.CarritoSesionId); var carritoSesionDetalle = await _contexto.CarritoSesionDetalle.Where(x => x.CarritoSesionId == request.CarritoSesionId).ToListAsync(); var listaCarritoDto = new List <CarritoDetalleDto>(); foreach (var libro in carritoSesionDetalle) { var response = await _libroService.GetLibro(new Guid (libro.ProductoSelecionado)); if (response.resultado) { //objLibro es el resultado de la microservice Libro var objLibro = response.Libro; //Estoy usando esos resultaod para llenar el nuevo objeto CarritoDetalleDto var carritoDetalle = new CarritoDetalleDto() { TituloLibro = objLibro.Titulo, FechaPublicacion = objLibro.FechaPublicacion, LibroId = objLibro.LibreriaMaterialId }; //una vez teniendo mi carritoDetalleDto lleno, cargado lo voy a agregar a mi lista listaCarritoDto.Add(carritoDetalle); } } var carritoSesionDto = new CarritoDto { CarritoId = carritoSesion.CarritoSesionId, FechaCreacionSesion = carritoSesion.FechaCreacion, ListaProductos = listaCarritoDto }; return(carritoSesionDto); }