public async Task <Unit> Handle(SessionCartRequest request, CancellationToken cancellationToken) { SessionCart sessionCart = new SessionCart { CreateAt = request.CreateAt }; await _context.SessionCarts.AddAsync(sessionCart); var result = await _context.SaveChangesAsync(); if (result == 0) { throw new Exception("Error en la creacion de la session"); } foreach (var item in request.SelecctedItems) { SessionCartDetail sessionCartDetail = new SessionCartDetail { CreateAt = DateTime.Now, SessionCartID = sessionCart.SessionCartID, SelecctedItemID = item }; await _context.SessionCartDetails.AddAsync(sessionCartDetail); } var result1 = await _context.SaveChangesAsync(); if (result1 > 0) { return(Unit.Value); } throw new Exception("No se pudo agregar los produtos a la session"); }
public async Task <Unit> Handle(Execute request, CancellationToken cancellationToken) { var sesionCart = new SessionCart { CreationDate = request.CreationDate, }; _context.SessionCart.Add(sesionCart); var value = await _context.SaveChangesAsync(); if (value == 0) { throw new Exception("la sesion del carrito no se pudo insertar"); } int id = sesionCart.SesionCartId; foreach (var obj in request.ListProduct) { var detailSesion = new SessionCartDetail { CreationDate = DateTime.Now, SesionCartId = id, SelectedProduct = obj, }; _context.SessionCartDetail.Add(detailSesion); } value = await _context.SaveChangesAsync(); if (value > 0) { return(Unit.Value); } throw new Exception("No se pudo insetar el detalle del carrito compras"); }