Esempio n. 1
0
 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));
        }