public bool save(IProcessData data, ISettings settings) { TimeBlockData timeBlockData = (TimeBlockData)data; var properties = timeBlockData.TimeBlock.ToJSON(); //Console.WriteLine(properties); var manager = Manager.SharedInstance; var timeblocksDb = manager.GetDatabase(settings.TimeblocksDb()); //Create new Document var document = timeblocksDb.CreateDocument(); var revision = document.PutProperties(properties); var docId = document.Id; try { //Attach ScreenShot var couchDoc = timeblocksDb.GetDocument(docId); var newRev = couchDoc.CurrentRevision.CreateRevision(); newRev.SetAttachment("screenshot" + docId + ".jpg", "image/jpeg", timeBlockData.TimeBlock.ScreenShot); newRev.Save(); } catch (Exception e) { Console.WriteLine("ERROR : " + e); } Console.WriteLine("Document created with ID = {0}", docId); return(true); }
public override void DoJob() { RemoteStaffSystem.GetInstance().CurrentWork.CreateTimeBlock(); TimeBlock previousTimeBlock = RemoteStaffSystem.GetInstance().CurrentWork.PreviousTimeBlock; RemoteStaffSystem.GetInstance().NotWorking = false; RemoteStaffSystem.GetInstance().CurrentWork.ResetScreenShotTimer(); try { Console.WriteLine("Activities vs. Ideal Movement Per Timeblock: " + previousTimeBlock.Activities.Count + " : " + RemoteStaffSystem.GetInstance().GetMovementPerTimeBlock()); if (previousTimeBlock.Activities.Count < RemoteStaffSystem.GetInstance().GetMovementPerTimeBlock()) { Console.WriteLine("The staff logged in is idle!"); RemoteStaffSystem.GetInstance().CurrentWork.PreviousTimeBlock.Status = "idle"; RemoteStaffSystem.GetInstance().UpdateStatus("Idle"); } else { Console.WriteLine("The staff logged in is active!"); RemoteStaffSystem.GetInstance().CurrentWork.PreviousTimeBlock.Status = "active"; RemoteStaffSystem.GetInstance().UpdateStatus("Working"); } //Save to Couchbase if (previousTimeBlock != null) { BaseModule timeBlockModule = ModuleFactory.Get(ModuleFactory.Timeblock); TimeBlockData timeBlockData = new TimeBlockData(); timeBlockData.TimeBlock = previousTimeBlock; timeBlockModule.Process(timeBlockData, new CouchbaseLiteSaveTimeBlocks()); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }