/// <summary> /// Initializes a new instance of the <see cref="ProducersAndMaterialsTabItemViewModel"/> class. /// </summary> /// <param name="modalDialogProvider">The modal dialog service.</param> /// <param name="serviceFactory">The service factory.</param> public RecipesTabItemViewModel(IMainViewModel mainViewModel, IModalDialogProvider modalDialogProvider, IServiceFactory serviceFactory) : base(mainViewModel, modalDialogProvider, serviceFactory) { RecipeDetailsViewModel = new RecipeDetailsViewModel(MainViewModel, ModalDialogProvider, ServiceFactory); RecipeListViewModel = new RecipeListViewModel(MainViewModel, RecipeDetailsViewModel, ModalDialogProvider, ServiceFactory); RecipeComponentDetailsViewModel = new RecipeComponentDetailsViewModel(MainViewModel, ModalDialogProvider, ServiceFactory); RecipeComponentListViewModel = new RecipeComponentListViewModel(MainViewModel, RecipeComponentDetailsViewModel, ModalDialogProvider, ServiceFactory); }
public async Task <IActionResult> SetRating(RecipeDetailsViewModel recipeDetailsViewModel) { Recipe recipe = await recipeRepository.FindAsync(r => r.Id == recipeDetailsViewModel.Recipe.Id); var user = await _signInManager.UserManager.GetUserAsync(User); Rating rating = new Rating { Recipe = recipe, Comment = recipeDetailsViewModel.Rating.Comment, RatingValue = recipeDetailsViewModel.Rating.RatingValue, User = user }; recipe.Ratings.Add(rating); recipe.AverageRating = recipe.Ratings.Average(r => r.RatingValue); recipeRepository.Update(recipe); return(PartialView("_RecipeDetails", new RecipeDetailsViewModel { Recipe = recipe, DidUserRate = true })); }
public IActionResult Details(int id) { var recipe = recipeService.GetRecipe(id); if (recipe == null) { return(NotFound()); } var ingredients = context.IngredientsInRecipes .Include(i => i.Ingredient) .Where(i => i.RecipeId == id) .Select(ingredient => new IngredientWithQuantity() { Ingredient = ingredient.Ingredient, Quantity = ingredient.Quantity }); var recipePicture = recipeService.GetRecipePicture(recipe.Id); if (recipePicture != null) { ViewData["RecipePicturePath"] = recipeService.GetPicturePath(recipePicture); } var currentUserId = userManager.GetUserId(User); var vm = new RecipeDetailsViewModel() { Recipe = recipe, Ingredients = ingredients, IsFavouritedByCurrentUser = recipeService.CheckIfRecipeIsFavouritedByUser(recipe, currentUserId), NumberOfLikes = recipeService.GetNumberOfLikes(id) }; return(View(vm)); }
public DetailsPage(Recipe recipe) { InitializeComponent(); BindingContext = new RecipeDetailsViewModel(recipe); }
public RecipeDetailView(string Name, string Details, string ImageUrl, string Description, string Time, string Calories, string Servings) { InitializeComponent(); BindingContext = new RecipeDetailsViewModel(Name, Details, ImageUrl, Description, Time, Calories, Servings, Navigation); }
public async Task <IActionResult> Remove(RecipeDetailsViewModel recipesDetailsViewModel) { await this.recipesService.DeleteByIdAsync(recipesDetailsViewModel.Id); return(this.RedirectToAction("GetAll", "Recipes", new { area = "Administration" })); }