public IHttpActionResult UpdateProductosMix(ProductosMixUpdateDTO productosDTO) { if (!ModelState.IsValid) { log.Error("Formulario con datos inexistentes o incorrectos."); return(BadRequest()); } try { //Actualizamos productos existentes foreach (var prodDTO in productosDTO.ProductosAnteriores) { var productoMixInDB = productoBL.GetProductoDelMixById(prodDTO.ProdMixId, prodDTO.ProductoDelMixId); if (productoMixInDB == null) { log.Error("Producto Mix no encontrado en la base de datos, ProdMixId: " + prodDTO.ProdMixId + " y ProductoDelMixId: " + prodDTO.ProductoDelMixId); return(NotFound()); } productoMixInDB.Cantidad = prodDTO.Cantidad; productoBL.UpdateProductoMix(productoMixInDB); log.Info("ProdMixId: " + prodDTO.ProdMixId + " y ProductoDelMixId: " + prodDTO.ProductoDelMixId + ", Actualizado Satisfactoriamente"); } //Si hay productos nuevos, los agregamos if (productosDTO.ProductosNuevos != null) { foreach (var prodDTO in productosDTO.ProductosNuevos) { var productoMix = Mapper.Map <ProductoMixDTO, ProductoMix>(prodDTO); productoBL.AddProductoMix(productoMix); log.Info("ProdMixId: " + prodDTO.ProdMixId + " y ProductoDelMixId: " + prodDTO.ProductoDelMixId + ", Actualizado Satisfactoriamente"); } } return(Ok()); } catch (Exception ex) { log.Error("Se ha producido un error al intentar actualizar Producto Mix. Error: " + ex.Message); return(BadRequest()); } }