コード例 #1
0
        protected ExerciseProfileData CreateExerciseRecord(Exercise exercise, Profile profile, Tuple <int, decimal> serie, DateTime trainingDate, Customer customer = null)
        {
            var trainingDay = new TrainingDay(trainingDate);

            trainingDay.Customer = customer;
            trainingDay.Profile  = profile;
            StrengthTrainingEntry entry = new StrengthTrainingEntry();

            entry.MyPlace = GetDefaultMyPlace(profile);
            trainingDay.AddEntry(entry);
            StrengthTrainingItem item = new StrengthTrainingItem();

            item.Exercise = exercise;
            entry.AddEntry(item);

            Serie set1 = new Serie();

            set1.RepetitionNumber = serie.Item1;
            set1.Weight           = serie.Item2;
            item.AddSerie(set1);
            insertToDatabase(trainingDay);

            ExerciseProfileData data = new ExerciseProfileData();

            data.Profile      = profile;
            data.Customer     = customer;
            data.Serie        = set1;
            data.TrainingDate = trainingDate;
            data.Repetitions  = serie.Item1;
            data.MaxWeight    = serie.Item2;
            data.Exercise     = exercise;
            insertToDatabase(data);
            return(data);
        }
コード例 #2
0
        public void DeleteOrphandExerciseRecords(DeleteOldProfilesParam param)
        {
            Serie serie = null;
            ExerciseProfileData profileData = null;
            var unusedProfiles = NHibernateContext.Current().Session.QueryOver <ExerciseProfileData>().JoinAlias(x => x.Serie, () => serie)
                                 .JoinAlias(x => serie.ExerciseProfileData, () => profileData)
                                 .Where(x => profileData.GlobalId != x.GlobalId).List();

            if (!param.OnlyShowUsers)
            {
                using (var trans = NHibernateContext.Current().Session.BeginSaveTransaction())
                {
                    foreach (var unusedProfile in unusedProfiles)
                    {
                        try
                        {
                            if (unusedProfile.GlobalId != unusedProfile.Serie.ExerciseProfileData.GlobalId)
                            {
                                NHibernateContext.Current().Session.Delete(unusedProfile);
                            }
                        }
                        catch (Exception ex)
                        {
                            BodyArchitect.Logger.ExceptionHandler.Default.Process(ex);
                            throw;
                        }
                    }
                    trans.Commit();
                }
            }
        }
コード例 #3
0
        public void ExerciseProfileData_RemoveMaxWeightDay_LastEntryForExercise()
        {
            var         profile = (ProfileDTO)profiles[0].Tag;
            SessionData data    = CreateNewSession(profile, ClientInformation);
            var         day     = new TrainingDay(DateTime.Now.Date);

            day.Profile = profiles[0];

            var exercise = CreateExercise(Session, null, "test", "t", ExerciseType.Nogi, MechanicsType.Isolation,
                                          ExerciseForceType.Pull);

            var entry = new StrengthTrainingEntry();

            entry.MyPlace = GetDefaultMyPlace(profiles[0]);
            day.AddEntry(entry);
            var item = new StrengthTrainingItem();

            item.Exercise = exercise;
            entry.AddEntry(item);
            var serie1 = new Serie("10x10");

            item.AddSerie(serie1);
            var serie2 = new Serie("2x40");

            item.AddSerie(serie2);
            var serie3 = new Serie("4x20");

            item.AddSerie(serie3);
            insertToDatabase(day);

            ExerciseProfileData exData = new ExerciseProfileData();

            exData.Exercise     = exercise;
            exData.Profile      = profiles[0];
            exData.Serie        = serie2;
            exData.MaxWeight    = 40;
            exData.Repetitions  = 2;
            exData.TrainingDate = day.TrainingDate;
            insertToDatabase(exData);

            RunServiceMethod(delegate(InternalBodyArchitectService Service)
            {
                DeleteTrainingDayParam param = new DeleteTrainingDayParam();
                param.TrainingDayId          = day.GlobalId;
                Service.DeleteTrainingDay(data.Token, param);
            });

            exData = Session.QueryOver <ExerciseProfileData>().SingleOrDefault();
            Assert.IsNull(exData);
        }