public IHttpActionResult Put(int id, PEDIDOS_W pEDIDOS_W) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != pEDIDOS_W.ID) { return(BadRequest()); } db.Entry(pEDIDOS_W).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PedidosExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult Get(int id) { PEDIDOS_W pedidos = db.PEDIDOS_W.Find(id); if (pedidos == null) { return(NotFound()); } pedidos.PEDIDOS_DETALLE_W = db.PEDIDOS_DETALLE_W.Where(p => p.ID_PEDIDO == id).ToList(); return(Ok(pedidos)); }
public IHttpActionResult Delete(int id) { PEDIDOS_W pEDIDOS_W = db.PEDIDOS_W.Find(id); if (pEDIDOS_W == null) { return(NotFound()); } db.PEDIDOS_W.Remove(pEDIDOS_W); db.SaveChanges(); return(Ok(pEDIDOS_W)); }
public IHttpActionResult Post(PEDIDOS_W pedido) { log.Debug($"Se recibe pedido {pedido.PEDIDOS_DETALLE_W.Count} productos"); decimal total = 0; try { if (pedido.PEDIDOS_DETALLE_W != null && pedido.PEDIDOS_DETALLE_W.Count > 0) { foreach (var det in pedido.PEDIDOS_DETALLE_W) { var productoDB = db.PRODUCTO_W.Where(p => p.SKU == det.SKU).FirstOrDefault(); det.PRODUCTO_W = productoDB; det.PRICE = productoDB.PRICE; total += det.AMOUT.Value * det.PRICE.Value; det.ID_PEDIDO = pedido.ID; db.PEDIDOS_DETALLE_W.Add(det); log.Debug($" ---- Producto sku [{det.SKU}], cantidad [{det.AMOUT}] total[{det.AMOUT.Value * det.PRICE.Value}] Acumulado [{total}]"); productoDB.EXISTENCIA -= Convert.ToInt32(det.AMOUT.Value); db.Entry(productoDB).State = EntityState.Modified; } } if (!(pedido.TOTAL.Value > 0)) { pedido.TOTAL = total; } log.Debug($"Total pedido [{pedido.TOTAL}]"); db.PEDIDOS_W.Add(pedido); db.SaveChanges(); } catch (Exception ex) { log.Error("Ocurrio un error en el almacenado", ex); } return(Ok(pedido)); }