/// <summary> /// Adds a given exercise to a member /// </summary> /// <typeparam name="T">Any class that inherits from IExercise</typeparam> /// <param name="exercise">A exercise</param> /// <returns>The success of the operation</returns> protected async Task <bool> RegisterExercise <T>(T exercise) where T : IExercise, new() { int memberID = await SelectMember(await _master.GetMembers()); if (memberID < 0) { return(false); } await _quarry.Add(exercise); await AddExerciseToMember(_quarry, memberID, exercise.ID, exercise.Identifier); return(true); }
public MemberCreationPage(MasterPage master, Quarry quarry) { InitializeComponent(); btn_create.Clicked += async(s, e) => { var forename = ety_forename.Text; var surname = ety_surname.Text; var member = new Member() { Forename = forename, Surname = surname }; await quarry.Add(member); await master.RefreshList(); await master.ShowMemberDetail(member); }; }
/// <summary> /// It couples an exercise with a member /// </summary> /// <param name="quarry">Quarry to the DB</param> /// <param name="exerciseID">Id of an exercise</param> /// <param name="memberID">Id of a member</param> /// <returns></returns> private async Task AddExerciseToMember(Quarry quarry, int memberID, int exerciseID, int exerciseIdentifier) => await quarry.Add(new MemberExercise() { MemberID = memberID, ExerciseID = exerciseID, ExerciseIdentifier = exerciseIdentifier });