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