public async Task <IActionResult> GetAllAsync() { var meals = await mealService.ListAsync(); var resources = mapper.Map <IEnumerable <Meal>, IEnumerable <MealResource> >(meals); return(Ok(new ResponseResult() { Data = resources, Success = true })); }
public async Task <IActionResult> GetRecipe(int id, string username) { Recipe recipe = (await recipeService.ListAsync()).Where(x => x.Id == id).FirstOrDefault(); User creator = (await userRepository.ListAsync()).Where(x => x.Id == recipe.CreatorId).FirstOrDefault(); User user = (await userRepository.ListAsync()).Where(x => x.Username == username).FirstOrDefault(); Mark mark = (await markService.ListAsync()).Where(x => x.UserId == user.Id && x.RecipeId == id).FirstOrDefault(); var marks = (await markService.ListAsync()).Where(x => x.RecipeId == id); var meals = await mealService.ListAsync(); var isLiked = (await likeRepository.ListAsync()).Where(x => x.Username == username && x.RecipeId == id).Count() > 0 ? true : false; var resources = mapper.Map <Recipe, RecipeResource>(recipe); resources.User = new User() { Username = creator.Username }; resources.IsLiked = isLiked; resources.UserMark = mark == null ? 0 : mark.Value; resources.Meal = (await mealService.ListAsync()).Where(x => x.Id == recipe.MealId).FirstOrDefault().Name; resources.Level = (await levelService.ListAsync()).Where(x => x.Id == recipe.LevelId).FirstOrDefault().Name; try{ var marksSum = marks.Sum(x => x.Value); var totalMarks = marks.Count(); resources.Mark = marksSum; resources.TotalMarks = totalMarks; } catch { resources.Mark = 0; resources.TotalMarks = 0; } return(Ok(new ResponseResult() { Data = resources, Success = true })); }