Exemple #1
0
        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
            }));
        }
Exemple #2
0
        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
            }));
        }