Esempio n. 1
0
            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);
            }
Esempio n. 2
0
            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);
            }
Esempio n. 3
0
            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
                });
            }
Esempio n. 4
0
            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);
            }