public ProductoReposicionDTO(OrdenReposicionDetalle pr, Producto p) { id = pr.Id; producto = new ProductoResumenDTO(p); cantidad_solicitada = pr.CantidadSolicitada; precio_unitario = pr.PrecioUnitario; }
public IHttpActionResult PostNuevaReposicion(ReposicionNuevaDTO dto) { if (!ModelState.IsValid) return BadRequest(ModelState); PlantaElaboracion pe = db.PlantasElaboracion.Where(x => x.Id == dto.planta_elaboracion_id).FirstOrDefault(); if (pe == null) return NotFound(); PuntoVenta pv = db.PuntosVenta.Where(x => x.Id == dto.punto_venta_id).FirstOrDefault(); if (pv == null) return NotFound(); OrdenReposicion orden = new OrdenReposicion(); orden.PlantaElaboracionId = pe.Id; orden.PuntoVentaId = pv.Id; orden.FechaEntregaDeseada = dto.fecha_entrega_deseada; orden.Comentario = dto.comentario; OrdenReposicionDetalle repos_producto; foreach (ProductoReposicionNuevoDTO p in dto.productos) { repos_producto = new OrdenReposicionDetalle(); repos_producto.ProductoId = p.producto_id; repos_producto.CantidadSolicitada = p.cantidad_solicitada; repos_producto.PrecioUnitario = p.precio_unitario; orden.Productos.Add(repos_producto); } db.OrdenesReposicion.Add(orden); db.SaveChanges(); return Ok(new ReposicionResumenDTO(orden)); }