public async Task <int> DeleteItemAsync(DbWorkoutModel item) { return(await database.DeleteAsync(item)); }
public async void Add() { DbSetModel setModel = new DbSetModel(); setModel.Date = DateTime.Now; setModel.comment = comment; string trainingData = ""; foreach (var a in repsKgsList) { trainingData += "| " + a.Reps + "*" + a.Kgs + " |"; } //setModel.trainingData = "3*23 | 13*0 | 12*2"; string[] ids = exerciseModel.trainingId.Split('_'); setModel.trainingData = trainingData; setModel.trainingId = exerciseModel.trainingId; bool answer = await App.Current.MainPage.DisplayAlert("Is data correct?", trainingData + "\n\n" + comment, "Yes", "No"); if (!answer) { return; } if (setsList.Count != 0) { if (setsList.First().setDate.Date == DateTime.Now.Date) { bool dateAnswer = await App.Current.MainPage.DisplayAlert("Caution!", "You have already done this exercise today, do you want to add else one entry?", "Yes", "No"); if (!dateAnswer) { return; } } } try { await App.SetDatabase.SaveItemAsync(setModel); //changing data in workout DbWorkoutModel tmpWorkModel = new DbWorkoutModel(); await App.WorkoutDatabase.CreateTable(); foreach (var a in await App.WorkoutDatabase.GetItemsAsync()) { if (a.Id == Convert.ToInt32(ids[0])) { tmpWorkModel = a; break; } } tmpWorkModel.lastTrainingDate = DateTime.Now; await App.WorkoutDatabase.SaveItemAsync(tmpWorkModel); //changing data in exercise DbExerciseModel tmpExModel = new DbExerciseModel(); tmpExModel.trainingId = exerciseModel.trainingId; tmpExModel.Title = exerciseModel.titleExcercice; tmpExModel.Id = Convert.ToInt32(ids[1]); tmpExModel.lastTrainingDate = DateTime.Now; tmpExModel.amountOfSets = exerciseModel.amountOfSets; //tmpExModel.comment = exerciseModel.comment; await App.ExerciseDatabase.SaveItemAsync(tmpExModel); } catch { await App.Current.MainPage.DisplayAlert("Oops, something wrong!", "We couldn't save expression to dataBase, write to developer", "OK"); } Comment = ""; List <RepsKgsModel> tmpKgList = new List <RepsKgsModel>(repsKgsList); foreach (var a in tmpKgList) { a.Kgs = ""; a.Reps = ""; } RepsKgsList = tmpKgList; OnAppearing(new object(), new EventArgs()); }
public async void Save() { DbWorkoutModel model = new DbWorkoutModel(); List <DbExerciseModel> exercises = new List <DbExerciseModel>(); if (mainTitle == "" || String.IsNullOrEmpty(mainTitle)) { await App.Current.MainPage.DisplayAlert("Oops!", "You didn't fill Workout title!", "OK"); return; } string exercisesNames = ""; foreach (var a in exerciseList) { if (a.Title == "" || String.IsNullOrEmpty(a.Title)) { await App.Current.MainPage.DisplayAlert("Oops!", "You didn't fill all exercises!", "OK"); return; } if (a.amountOfSets <= 0) { await App.Current.MainPage.DisplayAlert("Oops!", "In " + a.Title + " exercise amount of sets cannot be <= 0!", "OK"); return; } exercisesNames += a.Title + " *" + a.amountOfSets + " sets\n"; exercises.Add(a); } model.Title = mainTitle; bool answer = await App.Current.MainPage.DisplayAlert("Caution!", "Do you really want to save " + mainTitle + " with such exercises:\n" + exercisesNames, "Yes", "No"); if (!answer) { return; } //saving to db try { int id = await App.WorkoutDatabase.SaveItemAsync(model); foreach (var a in exercises) { int tmpid = await App.ExerciseDatabase.SaveItemAsync(a); a.trainingId = id + "_" + tmpid + "_"; await App.ExerciseDatabase.SaveItemAsync(a); } } catch { await App.Current.MainPage.DisplayAlert("Oops, something wrong!", "We couldn't save expression to dataBase, write to developer", "OK"); } await Navigation.PopModalAsync(); }