00001 00002 using System; 00003 using Gtk; 00004 using Foodolini.Activities; 00005 using Foodolini.BusinessLogic; 00006 00007 namespace Foodolini.Activities.RegisterExercise 00008 { 00009 00010 [FoodoliniActivity("Register exercise", false,"Exercise.png")] 00011 [System.ComponentModel.ToolboxItem(true)] 00012 public partial class RegisterExerciseActivity : Gtk.Bin, IActivity 00013 { 00014 private IOwner owner; 00015 00016 public RegisterExerciseActivity() 00017 { 00018 this.Build(); 00019 this.Shown += HandleShown; 00020 } 00021 00022 void HandleShown(object sender, EventArgs e) 00023 { 00024 CheckUser(); 00025 } 00026 00027 public void Register(IOwner owner){ 00028 this.owner = owner; 00029 this.owner.CurrentUserChanged += HandleCurrentUserChanged; 00030 } 00031 00032 void HandleCurrentUserChanged(object sender, PersonEventArgs e) 00033 { 00034 CheckUser(); 00035 } 00036 00041 private void CheckUser() { 00042 if (this.owner.CurrentUser == null) { 00043 btSaveExercise.Sensitive = false; 00044 } else { 00045 btSaveExercise.Sensitive = true; 00046 } 00047 } 00048 00052 public void Unregister(){ 00053 this.owner.CurrentUserChanged -= HandleCurrentUserChanged; 00054 this.owner = null; 00055 } 00056 00066 protected virtual void OnBtSaveExerciseClicked (object sender, System.EventArgs e) 00067 { 00068 TimeSpan time = new TimeSpan((int)spbtHours.Value, (int)spbtMinutes.Value, 0); 00069 Exercise exer = new Exercise(this.choosesportsactivity1.SportsActivity, time, this.owner.CurrentUser, calDatePerformed.Date); 00070 exer.Save(); 00071 this.owner.PopActivity(); 00072 } 00073 00074 protected virtual void OnBtCancelClicked (object sender, System.EventArgs e) 00075 { 00076 this.owner.PopActivity(); 00077 } 00078 00079 public Exercise Exercise{get; private set;} 00080 00081 public Widget Widget{ 00082 get{ 00083 return this; 00084 } 00085 } 00086 } 00087 00088 00089 }