public async Task <Result <RecipeManageModel> > UpdateRecipe([FromBody] RecipeManageModel model) { model.CrossSellRecipes = model.CrossSellRecipes.Where(x => x.InUse).ToList(); model.RelatedRecipes = model.RelatedRecipes.Where(x => x.InUse).ToList(); if (!Validate(model)) { return(null); } var item = model.Convert(); var sUserId = _userManager.GetUserId(User); int userId; if (Int32.TryParse(sUserId, out userId)) { item.UserId = userId; } item = await recipeService.UpdateRecipeAsync(item); await recipeService.AttachRecipeToCategoriesAsync(item.Id, model.CategoryIds); return(new RecipeManageModel(item)); }