Beispiel #1
0
        public async Task <DietSocketsModelWithOwner> GetDietByIdAsync(int id)
        {
            using (ShapeAppDbContext ctx = new ShapeAppDbContext())
            {
                Diet diet;
                try
                {
                    diet = await ctx.Diet.Where(d => d.Id == id).Include(d => d.Owner).FirstAsync();
                }
                catch (Exception e)
                {
                    return(null);
                }

                List <Meal>   meals = ctx.DietMeals.Where(dm => dm.DietId == id).Select(dm => dm.Meal).ToList();
                SearchBarUser owner = new SearchBarUser
                {
                    UserId   = diet.Owner.Id,
                    FullName = diet.Owner.Name
                };
                return(new DietSocketsModelWithOwner
                {
                    Description = diet.Description,
                    Global = diet.IsPublic,
                    Id = diet.Id,
                    Meals = meals,
                    Owner = owner,
                    Title = diet.Title
                });
            }
        }
Beispiel #2
0
 public async Task <TrainingSocketsModelWithOwner> GetTrainingByIdAsync(int id)
 {
     using (ShapeAppDbContext ctx = new ShapeAppDbContext())
     {
         Training training;
         try {
             training = await ctx.Training.Where(t => t.Id == id)
                        .Include(t => t.Owner).FirstAsync();
         }
         catch (Exception e) {
             return(null);
         }
         List <Exercise> exercises = ctx.TrainingExercises.Where(te => te.TrainingId == id)
                                     .Select(te => te.Exercise).ToList();
         SearchBarUser owner = new SearchBarUser
         {
             UserId   = training.Owner.Id,
             FullName = training.Owner.Name
         };
         return(new TrainingSocketsModelWithOwner
         {
             Duration = training.Duration,
             Exercises = exercises,
             Id = training.Id,
             Completed = training.IsCompleted,
             Global = training.IsPublic,
             Owner = owner,
             TimeStamp = training.TimeStamp,
             Title = training.Title,
             Type = training.Type
         });
     }
 }
Beispiel #3
0
        public List <DietSVWithOwner> GetPublicDiets(int offset)
        {
            using (ShapeAppDbContext ctx = new ShapeAppDbContext())
            {
                List <Diet> diets = ctx.Diet.Where(d => d.IsPublic)
                                    .OrderBy(d => d.Title).Include(d => d.Owner).ToList();

                if (offset >= diets.Count)
                {
                    return(null);
                }

                List <DietSVWithOwner> publicDiets = new List <DietSVWithOwner>();
                for (int i = offset; i < offset + 10; i++)
                {
                    if (i >= diets.Count)
                    {
                        break;
                    }

                    SearchBarUser owner = new SearchBarUser
                    {
                        UserId   = diets[i].Owner.Id,
                        FullName = diets[i].Owner.Name
                    };
                    publicDiets.Add(new DietSVWithOwner
                    {
                        Owner       = owner,
                        Id          = diets[i].Id,
                        Title       = diets[i].Title,
                        Description = diets[i].Description
                    });
                }

                return(publicDiets);
            }
        }
Beispiel #4
0
        public List <TrainingSVWithOwner> GetTrainingsForUser(int id, int offset)
        {
            using (ShapeAppDbContext ctx = new ShapeAppDbContext())
            {
                List <Training> trainings = ctx.Training.Where(t => t.IsPublic || t.Owner.Id == id)
                                            .OrderByDescending(t => t.TimeStamp).Include(t => t.Owner).ToList();

                if (offset >= trainings.Count)
                {
                    return(null);
                }

                List <TrainingSVWithOwner> publicTrainings = new List <TrainingSVWithOwner>();
                for (int i = offset; i < offset + 10; i++)
                {
                    if (i >= trainings.Count)
                    {
                        break;
                    }

                    SearchBarUser owner = new SearchBarUser
                    {
                        UserId   = trainings[i].Owner.Id,
                        FullName = trainings[i].Owner.Name
                    };
                    publicTrainings.Add(new TrainingSVWithOwner
                    {
                        Owner         = owner,
                        TrainingId    = trainings[i].Id,
                        TrainingTitle = trainings[i].Title
                    });
                }

                return(publicTrainings);
            }
        }