Example #1
0
        private IHttpActionResult UpdatedOrder(int id, Order order)
        {
            db.Entry(order).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrderExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            Order orderUpdated = db.Orders.Find(id);

            return Ok(orderUpdated);
        }
Example #2
0
        public IHttpActionResult PutOrder(int id, Order order)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != order.Id)
            {
                return BadRequest();
            }

            return UpdatedOrder(id, order);
        }
Example #3
0
        private bool IsAuthorized(Order order)
        {
            bool isAuthorized = false;
            if (User.IsInRole("ADMIN"))
            {
                Trace.TraceInformation("Usuário com papel ADMIN");
                isAuthorized = true;

            }
            if (User.Identity.Name.Equals(order.userName))
            {
                Trace.TraceInformation("Usuário dono do pedido.");
                isAuthorized = true;
            }
            return isAuthorized;
        }
Example #4
0
        public IHttpActionResult PostOrder(Order order)
        {
            if (order == null)
            {
                return BadRequest("O pedido está vazio.");
            }
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            foreach (OrderItem item in order.OrderItems)
            {
                if (item.Quantidade <= 0)
                {
                    return BadRequest("Um ou mais produtos não contém uma quantidade válida.");
                }
            }
            order.Status = Novo;
            order.PesoTotal = 0;
            order.PrecoFrete = 0;
            order.PrecoTotal = 0;
            order.DataPedido = DateTime.Now;
            order.DataEntrega = DateTime.Now;

            db.Orders.Add(order);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = order.Id }, order);
        }