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; }
Semaphore semaphoreObject = new Semaphore(initialCount: 1, maximumCount: 1, name: "accel"); //semaphore to allow only one reading of the accelerometer. /* * SessionLive - Initialize the Content view and its components. * @param project - The project that own the task and the session. * @param task - The task that own the session. * @param databaseAccess - The database. */ public SessionLive(Project project, Project_Task task, Database_Controller databaseAccess) { InitializeComponent(); this.Task_Name.Text = task.name; this.Project_Name.Text = project.name; selected_project = project; selected_task = task; database = databaseAccess; //Timer_Counter.Text = "Session is not live"; }
void Awake() { if (dbController != null) { Destroy(gameObject); return; } dbController = this; DontDestroyOnLoad(this); }
/* * AverageOfTasks - Get the average time spend in tasks. * @param selectedProject -The Project. * @param database -The database. */ public static TimeSpan AverageOfTasks(Project selectedProject, Database_Controller database) { double minutes = 0; double Final = 0; TimeSpan difference; List <Session> projectSessions = database.GetSessionsOfProjects(selectedProject.Id); selectedProject.tasks = database.GetTaskOfProjects(selectedProject.Id); foreach (var tempTask in selectedProject.tasks) { tempTask.sessions = database.GetSessionsOfTask(tempTask.Id); foreach (var tempSession in tempTask.sessions) { minutes = 0; try { double lessTime = 0; List <Interrupts> interruptsList = database.GetInterruptsOfSession(tempSession.Id); foreach (var interrupt in interruptsList) { try { if (interrupt.end is null) { lessTime += 0; } else { lessTime += ((double)((TimeSpan)(interrupt.end - interrupt.start)).TotalMinutes); } } catch { lessTime += 0; } } if (tempSession.end is null) { minutes += 0; } else { difference = (TimeSpan)(tempSession.end - tempSession.start); minutes += ((double)difference.TotalMinutes) - lessTime; } } catch { minutes += 0; } Final += minutes; } } return(TimeSpan.FromMinutes(Final / selectedProject.tasks.Count)); }
/* * GetEstimation - Get the overall estimation for one project, * This methos simply add all the estimations in the tasks of the project. * @param project -The Project. * @param database -The database. */ public static TimeSpan GetEstimation(Project project, Database_Controller database) { double minutes = 0; project.tasks = database.GetTaskOfProjects(project.Id); foreach (var projectTask in project.tasks) { minutes += projectTask.estimation; } return(TimeSpan.FromMinutes(minutes)); }
bool onlyOne = false; // View session live for more details. /* * New_Project - Class constructor. * @param user - Live user. * @param databaseAccess - database. */ public New_Project(User user, Database_Controller databaseAccess) { database = databaseAccess; currentUser = user; InitializeComponent(); var objectsList = new ListView() { HeightRequest = 200 }; Tasks_List.ItemTemplate = new DataTemplate(typeof(Objects)); Tasks_List.ItemsSource = list; Tasks_List.ItemTapped += OnSelection; }
/* * GetEngageTime - Get the total time the user has work on this particular * project, this methos add the time in all the sessions subtracting the * interrupts. * @param selectedProject - The Project. * @param database - The database. */ public static TimeSpan GetEngageTime(Project selectedProject, Database_Controller database) { double minutes = 0; TimeSpan difference; List <Session> projectSessions = database.GetSessionsOfProjects(selectedProject.Id); foreach (var session in projectSessions) { try { double lessTime = 0; List <Interrupts> interruptsList = database.GetInterruptsOfSession(session.Id); foreach (var interrupt in interruptsList) { try { if (interrupt.end is null) { lessTime += 0; } else { lessTime += ((double)((TimeSpan)(interrupt.end - interrupt.start)).TotalMinutes); } } catch { lessTime += 0; } } if (session.end is null) { minutes += 0; } else { difference = (TimeSpan)(session.end - session.start); minutes += ((double)difference.TotalMinutes) - lessTime; } } catch { minutes += 0; } } return(TimeSpan.FromMinutes(minutes)); }
RunningInfo info; // Running info. /* * OnCreate - Constructor for the activity. */ protected override void OnCreate(Bundle bundle) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(bundle); Forms.Init(this, bundle); LoadApplication(new App()); Xamarin.FormsMaps.Init(this, bundle); myThreadDelegate = new ThreadStart(CheckNotifications); myThread = new Thread(myThreadDelegate); database = new Database_Controller(); info = new RunningInfo(); info.Id = 1; info.background = false; info.notificationNeeded = false; database.SaveRunningInfo(info); myThread.Start(); }
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(); }