コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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());
            }
        }