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."); }
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."); }
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"); }
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"); }
// 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"); }
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"); }
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"); }
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"); }