示例#1
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.");
            }
示例#2
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.");
            }
示例#3
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");
            }
示例#4
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var carrito = new CarritoSesion
                {
                    FechaCreacion = request.FechaCreacionSesion
                };

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

                if (valor == 0)
                {
                    throw new Exception("No se guardó el carrito");
                }

                int id = carrito.CarritoSesionId;

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

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

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se guardó el detalle del carrito");
            }
示例#5
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                int           value;
                CarritoSesion carritoSesion = new CarritoSesion()
                {
                    FechaCompra = request.FechaCreacionSesion
                };

                Contexto.CarritoSesion.Add(carritoSesion);
                value = await Contexto.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("Error en la inserción");
                }

                foreach (string item in request.ProductoLista)
                {
                    Contexto.CarritoSesionDetalle.Add(new CarritoSesionDetalle
                    {
                        CarritoSesionId      = carritoSesion.CarritoSesionId,
                        FechaCompra          = DateTime.Now,
                        ProductoSeleccionado = item
                    });
                }

                value = await Contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }
                else
                {
                    throw new Exception("Error al insertar el detalle de carrito de compra.");
                }
            }
示例#6
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("Errores en la insercion del carrito de compras");
                }

                int id = carritoSesion.CarritoSesionId;

                var carritoSesionDetalle = request.ProductoLista.Select(x =>
                                                                        new CarritoSesionDetalle
                {
                    FechaCreacion        = DateTime.Now,
                    CarritoSesionId      = id,
                    ProductoSeleccionado = x
                }).ToList();

                context.CarritoSesionDetalle.AddRange(carritoSesionDetalle);

                value = await context.SaveChangesAsync();

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

                throw new Exception("Errores en la insercion en detalles en el carrito de compras");
            }
            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");
            }