public static async Task CreateUserWorkoutTemplateMapping (int profileID, int gymID, ObservableCollection<MemberExerciseViewModel> simpleExerciseList)
		{


			//Start by deleting any current mappings for the member
			List<UserWorkoutTemplateMapping> workoutTemplateMappingToDelete = await UserWorkoutTemplateMappingDAL.GetMappingsByUserProfileID (profileID);
			if (workoutTemplateMappingToDelete.Count > 0) {
				foreach (UserWorkoutTemplateMapping workoutTemplateMapDelete in workoutTemplateMappingToDelete) {
					var db = DependencyService.Get<ISQLite> ().GetAsyncConnection ();
					//Make sure table is created
					await db.CreateTableAsync<UserWorkoutTemplateMapping> ();
					await db.DeleteAsync<UserWorkoutTemplateMapping> (workoutTemplateMapDelete.Id);
				}
			}

			UserWorkoutTemplateMapping workoutTemplateMapping = new UserWorkoutTemplateMapping ();

			int sequence = 0;
			List<UserWorkoutTemplateMapping> workoutTemplateMappingToInsert = new List<UserWorkoutTemplateMapping> ();
			foreach (MemberExerciseViewModel simpleExercise in simpleExerciseList) {
				workoutTemplateMapping = new UserWorkoutTemplateMapping ();
				workoutTemplateMapping.ProfileID = profileID;
				workoutTemplateMapping.ExerciseID = simpleExercise.Exercise.ExerciseID;
				workoutTemplateMapping.TargetSets = simpleExercise.Sets;
				workoutTemplateMapping.TargetReps = simpleExercise.Reps;
				workoutTemplateMapping.ExerciseSequence = sequence++;
				workoutTemplateMapping.TargetWeight = simpleExercise.Weight;

				workoutTemplateMapping.TargetDurationMin = simpleExercise.Duration;
				workoutTemplateMapping.TargetHRMin = simpleExercise.TargetHRMin;
				workoutTemplateMapping.TargetHRMax = simpleExercise.TargetHRMax;

				workoutTemplateMapping.SeatPosValue1 = simpleExercise.SeatPosition1Value;
				workoutTemplateMapping.SeatPosValue2 = simpleExercise.SeatPosition2Value;
				workoutTemplateMapping.SeatPosValue3 = simpleExercise.SeatPosition3Value;
				workoutTemplateMapping.SeatPosValue4 = simpleExercise.SeatPosition4Value;

				workoutTemplateMapping.SeatPosLabel1 = simpleExercise.GetSeatPosition1Label ();
				workoutTemplateMapping.SeatPosLabel2 = simpleExercise.GetSeatPosition2Label ();
				workoutTemplateMapping.SeatPosLabel3 = simpleExercise.GetSeatPosition3Label ();
				workoutTemplateMapping.SeatPosLabel4 = simpleExercise.GetSeatPosition4Label ();

				workoutTemplateMapping.GymID = gymID;

				workoutTemplateMapping.LastUpdatedTime = DateTime.UtcNow;
				workoutTemplateMappingToInsert.Add (workoutTemplateMapping);
			}
			if (workoutTemplateMappingToInsert.Count > 0) {
				var db = DependencyService.Get<ISQLite> ().GetAsyncConnection ();
				await db.CreateTableAsync<UserWorkoutTemplateMapping> ();
				await db.InsertAllAsync (workoutTemplateMappingToInsert);
			}
		}
Example #2
0
		public static List<UserWorkoutTemplateMapping> CreateUserWorkoutTemplateMappingListFromObservableCollectionMemberExerciseViewModel(ObservableCollection<MemberExerciseViewModel> memberExerciseViewModelList, int gymID, int localUserExerciseGroupID, int profileID)
		{
			//Create List<UserWorkoutTemplateMapping> from ObservableCollection<MemberExerciseViewModel>
			List<UserWorkoutTemplateMapping> userWorkoutTemplateMappingList = new List<UserWorkoutTemplateMapping> ();

			int exSequence = 1;

			foreach(MemberExerciseViewModel memberExerciseViewModel in memberExerciseViewModelList){
				UserWorkoutTemplateMapping userWorkoutTemplateMapping = new UserWorkoutTemplateMapping ();
				userWorkoutTemplateMapping.ExerciseID = memberExerciseViewModel.Exercise.ExerciseID;
				userWorkoutTemplateMapping.ExerciseSequence = exSequence++;
				userWorkoutTemplateMapping.GymID = gymID;
				userWorkoutTemplateMapping.LastUpdatedTime = DateTime.UtcNow;
				userWorkoutTemplateMapping.LocalUserExerciseGroupID = localUserExerciseGroupID;
				userWorkoutTemplateMapping.ProfileID = profileID;
				userWorkoutTemplateMapping.TargetReps = memberExerciseViewModel.Reps;

				userWorkoutTemplateMapping.SeatPosLabel1 = memberExerciseViewModel.GetSeatPosition1Label();
				userWorkoutTemplateMapping.SeatPosLabel2 = memberExerciseViewModel.GetSeatPosition2Label();
				userWorkoutTemplateMapping.SeatPosLabel3 = memberExerciseViewModel.GetSeatPosition3Label();
				userWorkoutTemplateMapping.SeatPosLabel4 = memberExerciseViewModel.GetSeatPosition4Label();

				userWorkoutTemplateMapping.SeatPosValue1 = memberExerciseViewModel.SeatPosition1Value;
				userWorkoutTemplateMapping.SeatPosValue2 = memberExerciseViewModel.SeatPosition2Value;
				userWorkoutTemplateMapping.SeatPosValue3 = memberExerciseViewModel.SeatPosition3Value;
				userWorkoutTemplateMapping.SeatPosValue4 = memberExerciseViewModel.SeatPosition4Value;

				userWorkoutTemplateMapping.TargetSets = memberExerciseViewModel.Sets;
				userWorkoutTemplateMapping.TargetWeight = memberExerciseViewModel.Weight;

				userWorkoutTemplateMapping.TargetHRMin = memberExerciseViewModel.TargetHRMin;
				userWorkoutTemplateMapping.TargetHRMax = memberExerciseViewModel.TargetHRMax;

				userWorkoutTemplateMapping.TargetDurationMin = memberExerciseViewModel.Duration;

				userWorkoutTemplateMappingList.Add (userWorkoutTemplateMapping);
			}

			return userWorkoutTemplateMappingList;

		}
		public static async Task CreateUserWorkoutTemplateMapping (int profileID, int gymID, ObservableCollection<ExerciseViewModel> simpleExerciseList, int localUserExerciseGroupID)
		{

			UserWorkoutTemplateMapping workoutTemplateMapping = new UserWorkoutTemplateMapping ();
		
			int sequence = 0;
			List<UserWorkoutTemplateMapping> workoutTemplateMappingToInsert = new List<UserWorkoutTemplateMapping> ();
			foreach (ExerciseViewModel simpleExercise in simpleExerciseList) {
				workoutTemplateMapping = new UserWorkoutTemplateMapping ();
				workoutTemplateMapping.ProfileID = profileID;
				workoutTemplateMapping.ExerciseID = simpleExercise.Exercise.ExerciseID;
				workoutTemplateMapping.TargetSets = simpleExercise.Sets;
				workoutTemplateMapping.TargetReps = simpleExercise.Reps;

				//workoutTemplateMapping.TargetHRMin = simpleExercise.TargetHRMin;
				//workoutTemplateMapping.TargetHRMax = simpleExercise.TargetHRMax;

				workoutTemplateMapping.TargetDurationMin = simpleExercise.Duration;
				//workoutTemplateMapping.CardioExID = simpleExercise.Exercise.CardioExID;

				workoutTemplateMapping.ExerciseSequence = sequence++;
				workoutTemplateMapping.TargetWeight = simpleExercise.Weight;


				workoutTemplateMapping.GymID = gymID;

				workoutTemplateMapping.LastUpdatedTime = DateTime.UtcNow;

				workoutTemplateMapping.LocalUserExerciseGroupID = localUserExerciseGroupID;
	
				workoutTemplateMappingToInsert.Add (workoutTemplateMapping);
			}
			if (workoutTemplateMappingToInsert.Count > 0) {
				var db = DependencyService.Get<ISQLite> ().GetAsyncConnection ();
				await db.CreateTableAsync<UserWorkoutTemplateMapping> ();
				await db.InsertAllAsync (workoutTemplateMappingToInsert);
			}
		}
		public static UserWorkoutTemplateMappingsDTO CreateWorkoutTemplateExercisesDTO(ObservableCollection<ExerciseViewModel> exercises, WorkoutTemplate template, int profileID, bool logFeedback)
		{
			UserWorkoutTemplateMappingsDTO returnValue = new UserWorkoutTemplateMappingsDTO ();
			returnValue.GymID = template.GymID;
			returnValue.TemplateName = template.TemplateName;
			returnValue.TemplateDescription = template.TemplateDescription;
			returnValue.TemplateImageName = "skinandbones.png";
			returnValue.LastUpdatedContext = "MobileFit_Coach";
			returnValue.AssignToProfileID = profileID;
			returnValue.LogFeedback = logFeedback;
			returnValue.WorkoutTemplateExercises = new List<UserWorkoutTemplateMapping> ();

			int sequence = 1;
			foreach (ExerciseViewModel exerciseViewModel in exercises) {
				UserWorkoutTemplateMapping workoutTemplate = new UserWorkoutTemplateMapping ();
				workoutTemplate.ExerciseID = exerciseViewModel.Exercise.ExerciseID;
				workoutTemplate.TargetSets = exerciseViewModel.Sets;
				workoutTemplate.TargetReps = exerciseViewModel.Reps;

				//workoutTemplate.TargetHRMin = exerciseViewModel.TargetHRMin;
				//workoutTemplate.TargetHRMax = exerciseViewModel.TargetHRMax;

				workoutTemplate.TargetDurationMin = exerciseViewModel.Duration;

				workoutTemplate.TargetWeight = exerciseViewModel.Weight;

				workoutTemplate.LastUpdatedContext = "MobileFit_Coach";
				workoutTemplate.ExerciseSequence = sequence++;
				returnValue.WorkoutTemplateExercises.Add (workoutTemplate);
			}
			return returnValue;
		}
		public static List<UserWorkoutTemplateMapping> TransferFromDTOList (List<WorkoutCreator.Model.UserExercise> userExerciseList, int gymID, int localUserExerciseGroupID)
		{
			List<UserWorkoutTemplateMapping> returnList = new List<UserWorkoutTemplateMapping> ();
			UserWorkoutTemplateMapping map;
			foreach (WorkoutCreator.Model.UserExercise dto in userExerciseList) {
				map = new UserWorkoutTemplateMapping ();
				map.ExerciseID = dto.ExerciseID;
				map.ExerciseSequence = dto.ExerciseSequence;
				map.GymID = gymID;
				map.LastUpdatedTime = Convert.ToDateTime (dto.LastUpdatedTime);
				map.LocalUserExerciseGroupID = localUserExerciseGroupID;
				map.ProfileID = dto.ProfileID;
				map.TargetReps = dto.TargetReps;

				map.SeatPosLabel1 = dto.SeatPosLabel1;
				map.SeatPosLabel2 = dto.SeatPosLabel2;
				map.SeatPosLabel3 = dto.SeatPosLabel3;
				map.SeatPosLabel4 = dto.SeatPosLabel4;

				map.SeatPosValue1 = dto.SeatPosValue1;
				map.SeatPosValue2 = dto.SeatPosValue2;
				map.SeatPosValue3 = dto.SeatPosValue3;
				map.SeatPosValue4 = dto.SeatPosValue4;

				map.TargetSets = dto.TargetSets;
				map.TargetWeight = dto.TargetWeight;

				map.TargetDurationMin = dto.TargetDurationMin;
				map.TargetHRMin = dto.TargetHRMin;
				map.TargetHRMax = dto.TargetHRMax;

				returnList.Add (map);
			}

			return returnList;
		}
		public async static Task CreateUserWorkoutTemplateMappingByTemplateID (int profileID, int gymID, int templateID, int localUserExerciseGroupID, string templateName, string templateDescription)
		{
			var templateMappings = await WorkoutTemplateMappingDAL.GetMappingsByTemplateID (templateID);

			UserWorkoutTemplateMapping workoutTemplateMapping = new UserWorkoutTemplateMapping ();

			List<UserWorkoutTemplateMapping> templateMappingToInsert = new List<UserWorkoutTemplateMapping> ();
			foreach (WorkoutTemplateMapping templateMapping in templateMappings) {
				workoutTemplateMapping = new UserWorkoutTemplateMapping ();
				workoutTemplateMapping.ProfileID = profileID;
				workoutTemplateMapping.ExerciseID = templateMapping.ExerciseID;
				workoutTemplateMapping.TargetSets = templateMapping.Sets;
				workoutTemplateMapping.TargetReps = templateMapping.Reps;
				workoutTemplateMapping.TargetDurationMin = templateMapping.TargetDurationMin;
				workoutTemplateMapping.TargetHRMin = templateMapping.TargetHRMin;
				workoutTemplateMapping.TargetHRMax = templateMapping.TargetHRMax;


				workoutTemplateMapping.ExerciseSequence = templateMapping.ExerciseSequence;
				workoutTemplateMapping.LastUpdatedTime = DateTime.UtcNow;
				workoutTemplateMapping.GymID = gymID;
				workoutTemplateMapping.LocalUserExerciseGroupID = localUserExerciseGroupID;
				templateMappingToInsert.Add (workoutTemplateMapping);
			}
			if (templateMappingToInsert.Count > 0) {
				var db = DependencyService.Get<ISQLite> ().GetAsyncConnection ();
				await db.CreateTableAsync<UserWorkoutTemplateMapping> ();
				await db.InsertAllAsync (templateMappingToInsert);
			}

		}