Beispiel #1
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSession = new CarritoSesion
                {
                    FechaCreacion = request.FechaDeCreacionSesion,
                };

                _contexto.CarritoSesion.Add(carritoSession);
                var valor = await _contexto.SaveChangesAsync();

                if (valor == 0)
                {
                    throw new Exception("Errores en la inserción de la sesión del carrito.");
                }

                foreach (var producto in request.ListaDeProductos)
                {
                    var carritoSessionDetalle = new CarritoSesionDetalle
                    {
                        CarritoSesionId      = carritoSession.CarritoSesionId,
                        ProductoSeleccionado = producto,
                        FechaCreacion        = DateTime.Now,
                    };

                    _contexto.CarritoSesionDetalle.Add(carritoSessionDetalle);
                }
                valor = await _contexto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el detalle del carrito de compras.");
            }
Beispiel #2
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion {
                    FechaCreacion = request.FechaCreacionSesion
                };

                _contexto.CarritoSesion.Add(carritoSesion);
                var value = await _contexto.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("Errores en la insercion del carrito de compras.");
                }
                int id = carritoSesion.CarritoSesionId;

                foreach (var item in request.ProductoLista)
                {
                    var detalleSesion = new CarritoSesionDetalle
                    {
                        FechaCreacion        = DateTime.Now,
                        CarritoSesionId      = id,
                        ProductoSeleccionado = item,
                    };
                    _contexto.CarritoSesionDetalle.Add(detalleSesion);
                }
                value = await _contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se pudo insertar el detalle del carrito de compras.");
            }
Beispiel #3
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion
                {
                    FechaCreacion = request.FechaCreacion,
                };

                _contexto.CarritoSesion.Add(carritoSesion);
                var valor = await _contexto.SaveChangesAsync();

                if (valor == 0)
                {
                    throw new Exception("No se pudo crear la sesion del carrito");
                }
                int id = carritoSesion.CarritoSesionId;

                foreach (var obj in request.ProductoLista)
                {
                    var detalleSesion = new CarritoSesionDetalle
                    {
                        FechaCreacion        = DateTime.Now,
                        ProductoSeleccionado = obj,
                        CarritoSesionId      = id
                    };
                    _contexto.CarritoSesionDetalle.Add(detalleSesion);
                }
                valor = await _contexto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se pudo insertar el detalle del carrito");
            }
Beispiel #4
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion()
                {
                    FechaCreacion = request.FechaCreacionSesion
                };

                _context.CarritoSesion.Add(carritoSesion);
                var value = await _context.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("Error en insert");
                }

                foreach (var item in request.ProductoLista)
                {
                    var carritoDetalle = new CarritoSesionDetalle()
                    {
                        CarritoSesionId      = carritoSesion.CarritoSesionId,
                        ProductoSeleccionado = item,
                        FechaCreacion        = DateTime.Now
                    };

                    _context.CarritoSesionDetalle.Add(carritoDetalle);
                }
                value = await _context.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("Error en insert");
            }
Beispiel #5
0
            // Se implementa la interfaz
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion
                {
                    FechaCreacion = request.FechaCreacionSesion
                };

                _contexto.CarritoSesion.Add(carritoSesion);
                var value = await _contexto.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("Errores en la insersión del carrito");
                }

                // Se recupera el id que se genera en la db
                // magia
                int id = carritoSesion.CarritoSesionId;

                // ProductoLista lista de productos que envía el cliente
                // por cada elem de la lista se crea un nuevo objeto de tipo CarritoSesionDetalle
                foreach (var item in request.ProductoLista)
                {
                    var detalleSesion = new CarritoSesionDetalle
                    {
                        FechaCreacion        = DateTime.Now,
                        CarritoSesionId      = id, // con el id respectivo
                        ProductoSeleccionado = item
                    };

                    _contexto.CarritoSesionDetalle.Add(detalleSesion);
                }

                value = await _contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el detalle del carrito de compras");
            }
Beispiel #6
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                foreach (string obj in request.ProductoLista)
                {
                    CarritoSesionDetalle detalleSesion = new CarritoSesionDetalle()
                    {
                        FechaCreacion        = DateTime.Now,
                        CarritoSesionId      = request.SesionId,
                        ProductoSeleccionado = obj
                    };
                    _contexto.CarritoSesionDetalle.Add(detalleSesion);
                }
                int value = await _contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("Error al insetar el detalle");
            }
Beispiel #7
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion()
                {
                    FechaCreacion = request.FechaCreacionSesion
                };

                await this.contextoCarrito.CarritoSesion.AddAsync(carritoSesion);

                var value = await this.contextoCarrito.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("Errores en la inserción del carrito de compras");
                }

                int sesionId = carritoSesion.CarritoSesionId;

                foreach (var x in request.ProductoLista)
                {
                    var sesionDetalle = new CarritoSesionDetalle()
                    {
                        FechaCreacion        = DateTime.Now,
                        CarritoSesionId      = sesionId,
                        ProductoSeleccionado = x
                    };

                    await this.contextoCarrito.CarritoSesionDetalle.AddAsync(sesionDetalle);
                }

                var value2 = await this.contextoCarrito.SaveChangesAsync();

                if (value2 > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el detalle del carrito de compras");
            }
Beispiel #8
0
        public async Task <Unit> Handle(NewCarritoSesionCommand request, CancellationToken cancellationToken)
        {
            var carritoSesion = new CarritoSesion
            {
                FechaCreacion = request.FechaCreacionSesion
            };

            await _context.AddAsync(carritoSesion);

            var value = await _context.SaveChangesAsync();

            if (value == 0)
            {
                throw new Exception("Error al intentar guardar el carrito de comprar.");
            }

            int id = carritoSesion.CarritoSesionId;

            foreach (var prod in request.ProductosId)
            {
                var carritoSesionDetalle = new CarritoSesionDetalle
                {
                    CarritoSesionId        = id,
                    FechaCreacion          = DateTime.Now,
                    ProductoSeleccionadoId = prod
                };

                await _context.CarritoSesionDetalles.AddAsync(carritoSesionDetalle);
            }

            value = await _context.SaveChangesAsync();

            if (value > 0)
            {
                return(Unit.Value);
            }

            throw new Exception("No se pudo guardar el detalle del carrito de compras.");
        }
            public async Task <Unit> Handle(Request request, CancellationToken cancellationToken)
            {
                var carritoSesion = new CarritoSesion()
                {
                    FechaCreacion = request.FechaCreacion ?? DateTime.Now
                };

                _contexto.CarritoSesion.Add(carritoSesion);
                var result = await _contexto.SaveChangesAsync();

                if (result < 1)
                {
                    throw new Exception("Error al crear carrito de compra");
                }

                foreach (var elemento in request.ListaLibroSeleccionado)
                {
                    var carritoSesionDetalle = new CarritoSesionDetalle()
                    {
                        FechaCreacion     = DateTime.Now,
                        LibroSeleccionado = elemento,
                        CarritoSesionId   = carritoSesion.CarritoSesionId
                    };

                    _contexto.CarritoSesionDetalle.Add(carritoSesionDetalle);
                }

                var result2 = await _contexto.SaveChangesAsync();

                if (result2 < 1)
                {
                    throw new Exception("Error al crear carrito de compra detalles");
                }

                return(Unit.Value);
            }
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                CarritoSesion carrito = new CarritoSesion
                {
                    FechaCreacion = request.FechaCreasionSesion,
                    // ListaDetalle = (ICollection<CarritoSesionDetalle>)request.ProductoLista
                };

                this._context.CarritoSesion.Add(carrito);
                var resultado = await _context.SaveChangesAsync();

                if (resultado == 0)
                {
                    throw new Exception("Error al registrar carrito de compra");
                }

                int id = carrito.CarritoSesionId;

                foreach (string libro in request.ProductoLista)
                {
                    var detalleSesion = new CarritoSesionDetalle
                    {
                        FechaCreacion        = DateTime.Now,
                        CarritoSesionId      = id,
                        ProductoSeleccionado = libro
                    };
                    this._context.CarritoSesionDetalle.Add(detalleSesion);
                }
                resultado = await _context.SaveChangesAsync();

                if (resultado >= 1)
                {
                    return(Unit.Value);
                }
                throw new Exception("Error al registrar carrito y los productos seleccionados");
            }