Exemplo n.º 1
0
        public async void OnPlayPauseClick(object sender, EventArgs e)
        {
            //Services.XDatabase db = Services.XServices.Instance.GetService<Services.XDatabase>();
            //ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService<ViewModels.ProjectData>();
            //IBRServiceContracts.CWriteValueCollection totalvalues = new IBRServiceContracts.CWriteValueCollection();
            if (ButtonPlayPause.Text == "\uf04b")
            {
                // User Started the task

                ButtonPlayPause.Text = "\uf04c"; // Pause icon
                cachedb.SetStartDate(this.MainObject.UID, "Z10T00002.Z10A00061", this.MainObject.ProjectUID, this.MainObject.OverlayUID, DateTime.Now);
            }
            else
            {
                // user Paused the task.
                ButtonPlayPause.Text = "\uf04b"; // Play icon
                DateTime started = cachedb.GetStartDate(this.MainObject.UID, "Z10T00002.Z10A00061", this.MainObject.ProjectUID, this.MainObject.OverlayUID);
                if (started == DateTime.MaxValue)
                {
                    // something went wrong when saving start date
                    return;
                }

                View  view  = GetItemForNestedName("Z10T00002.Z10A00061");
                Entry entry = view as Entry;
                if (entry != null)
                {
                    double current = double.Parse(entry.Text);
                    current    = Math.Round((current + DateTime.Now.Subtract(started).TotalHours), 3);
                    entry.Text = current.ToString();
                    cachedb.DeleteStartDate(this.MainObject.UID, "Z10T00002.Z10A00061", this.MainObject.ProjectUID, this.MainObject.OverlayUID);
                    await SaveActivityActualTime();
                }
            }
        }