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());
            }
        }