コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }