public ActionResult PostComprarProducto(OrdenDto ordenDto) { try { var producto = _context.Productos.FirstOrDefault(data => data.id == ordenDto.ProductoId); if (producto != null && producto.Cantidad >= ordenDto.Cantidad) { producto.Cantidad = producto.Cantidad - ordenDto.Cantidad; _context.Entry(producto).State = EntityState.Modified; var orden = new Orden { ProductoId = ordenDto.ProductoId, Estado = ordenDto.Estado, Cantidad = ordenDto.Cantidad, Fecha = ordenDto.Fecha, UsuarioId = ordenDto.UsuarioId }; _context.Ordenes.Add(orden); _context.SaveChanges(); return(Ok(orden)); } else { return(BadRequest()); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ActionResult <OrdenDto> > Post(OrdenDto ordenDto) { try { var orden = _mapper.Map <Orden>(ordenDto); var nuevaOrden = await _ordenesRepositorio.Agregar(orden); if (nuevaOrden == null) { return(BadRequest()); } var nuevaOrdenDto = _mapper.Map <OrdenDto>(nuevaOrden); return(CreatedAtAction(nameof(Post), new { id = nuevaOrdenDto.Id }, nuevaOrdenDto)); } catch (Exception ex) { return(BadRequest()); } }