bool onlyOne = false; // View session live for more details. /* * MainPage - Constructor, initialize the componets, make sure there is no live session in the database * Fill projetcs list. */ public MainPage() { List <Project> ProjectsL; if (database.GetUser() == null) { Settings temp_settings = new Settings(); ProjectsL = new List <Project>(); user = new User("Erick", temp_settings, ProjectsL); database.SaveUser(user); } else { user = database.GetUser(); user.projects = database.GetProjectUser(user.Id); } InitializeComponent(); live = database.GetliveSession(); if (live != null) { DisplayAlert("Session left Live", "The appplication was closed and a session was alive the end time was set to now, this can be change on the edit option for the session.", "OK"); live.end = DateTime.Now; database.UpdateSession(live); } Proyects.ItemTapped += OnSelection; GlobalUtilities.setAccel(); }
bool onlyOne = false; // View session live for more details. /* * Project_View_Page - Class constructor. * @param session - Selected session. * @param databaseAccess - database. */ public Session_Detail(Session session, Database_Controller databaseAccess) { selectedSession = session; database = databaseAccess; InitializeComponent(); live = database.GetliveSession(); if (live != null) { Resume_Session.IsVisible = true; LiveSession = true; } selectedSession.interrupts = database.GetInterruptsOfSession(selectedSession.Id); foreach (var interruptsTemp in selectedSession.interrupts) { list.Add(interruptsTemp); } var objectsList = new ListView() { HeightRequest = 200 }; Interrupt_List.ItemTemplate = new DataTemplate(typeof(ObjectsInterrupt)); Interrupt_List.ItemsSource = list; Interrupt_List.ItemTapped += OnSelection; }
/* * SessionLive - Initialize the Content view when a session is being resume. * @param databaseAccess - The database. */ public SessionLive(Database_Controller databaseAccess) { InitializeComponent(); RefreshTime(); database = databaseAccess; current = database.GetliveSession(); selected_project = database.GetOneProject(current.project); selected_task = database.GetOneTask(current.taskId); this.Task_Name.Text = selected_task.name; this.Project_Name.Text = selected_project.name; interrupt = database.GetliveInterrupt(); if (!Resolver.IsSet) { var container = new SimpleContainer(); container.Register <IAccelerometer, Accelerometer>(); Resolver.SetResolver(container.GetResolver()); } GlobalUtilities.accelerometer = Resolver.Resolve <IAccelerometer>(); GlobalUtilities.accelerometer.Interval = AccelerometerInterval.Normal; if (interrupt is null) { Start.Text = "Pause"; getlocation = true; askLocation(); accelometeractive = true; GlobalUtilities.accelerometer.ReadingAvailable += Accelerometer_ReadingAvailable; } else { Start.Text = "Resume"; getlocation = false; askLocation(); } }
bool onlyOne = false; // View session live for more details. /* * Project_View_Page - Class constructor. * @param project - Selected project. * @param databaseAccess - database. */ public Project_View_Page(Project project, Database_Controller databaseAccess) { selectedProject = project; database = databaseAccess; InitializeComponent(); live = database.GetliveSession(); if (live != null) { Resume_Session.IsVisible = true; LiveSession = true; } Project_Name.Text += selectedProject.name; Project_Description.Text += selectedProject.description; foreach (var tasks in selectedProject.tasks) { list.Add(tasks); } var objectsList = new ListView() { HeightRequest = 200 }; Tasks_List.ItemTemplate = new DataTemplate(typeof(Objects)); Tasks_List.ItemsSource = list; Tasks_List.ItemTapped += OnSelection; }
/* * OnAppearing - Get live session. */ protected override void OnAppearing() { live = database.GetliveSession(); if (live != null) { interrupt = database.GetliveInterrupt(); if (interrupt is null) { getlocation = true; askLocation(); accelometeractive = true; GlobalUtilities.accelerometer.ReadingAvailable += Accelerometer_ReadingAvailable; } } }
/* * OnAppearing - Get live session, calculates the engage time and estimation time for the project. */ protected override void OnAppearing() { overlay.IsVisible = false; Tasks_List.IsVisible = true; View_Sessions.IsVisible = true; Delete_Project.IsVisible = true; tapped = null; live = database.GetliveSession(); Estimation_Time.Text = "Estimation: "; Engage_Time.Text = "Time spend: "; double auxEstimation = GetEstimation(selectedProject); double auxSpend = GetEngageTime(selectedProject); Estimation_Time.Text += TimeSpan.FromMinutes(Math.Round(auxEstimation, 3)).ToString(); Engage_Time.Text += TimeSpan.FromMinutes(Math.Round(auxSpend, 3)).ToString(); if (auxEstimation < auxSpend) { Engage_Time.BackgroundColor = Color.Red; } else { Engage_Time.BackgroundColor = Color.Green; } if (live != null) { Resume_Session.IsVisible = true; LiveSession = true; interrupt = database.GetliveInterrupt(); if (interrupt is null) { getlocation = true; askLocation(); accelometeractive = true; GlobalUtilities.accelerometer.ReadingAvailable += Accelerometer_ReadingAvailable; } } else { Resume_Session.IsVisible = false; LiveSession = false; } }
bool onlyOne = false; // View session live for more details. /* * View_Sessions - Class constructor. * @param sessionsSelected - List of session to display. * @param databaseAccess - database. */ public View_Sessions(List <Session> sessionsSelected, Database_Controller databaseAccess) { sessions = sessionsSelected; InitializeComponent(); database = databaseAccess; foreach (var session in sessions) { list.Add(session); } var objectsList = new ListView() { HeightRequest = 200 }; Session_List.ItemTemplate = new DataTemplate(typeof(ObjectsSession)); Session_List.ItemsSource = list; Session_List.ItemTapped += OnSelection; live = database.GetliveSession(); }
/* * OnAppearing - Get live session, calculates the engage time for the session. */ protected override void OnAppearing() { overlayLocation.IsVisible = false; Interrupt_List.IsVisible = true; live = database.GetliveSession(); if (live != null) { Resume_Session.IsVisible = true; LiveSession = true; interrupt = database.GetliveInterrupt(); if (interrupt is null) { getlocation = true; askLocation(); accelometeractive = true; GlobalUtilities.accelerometer.ReadingAvailable += Accelerometer_ReadingAvailable; } } else { Resume_Session.IsVisible = false; LiveSession = false; } Start_Time.Text = selectedSession.start.ToString(); End_Time.Text = selectedSession.end.ToString(); Task_Name.Text = "Task: " + database.GetOneTask(selectedSession.taskId).name; Time_Spend.Text = "Time Spend: "; List <Interrupts> interruptsList = database.GetInterruptsOfSession(selectedSession.Id); double lessTime = 0; foreach (var interrupt in interruptsList) { try { if (interrupt.end is null) { lessTime += 0; } else { lessTime += ((double)((TimeSpan)(interrupt.end - interrupt.start)).TotalMinutes); } } catch (Exception ex) { lessTime += 0; } } try { if (selectedSession.end is null) { } else { double aux = (double)(((TimeSpan)(selectedSession.end - selectedSession.start)).TotalMinutes); Time_Spend.Text += TimeSpan.FromMinutes((aux - lessTime)).ToString(); } } catch (Exception ex) { Time_Spend.Text += TimeSpan.FromMinutes(0); } }