public async Task <bool> StartWork() { var selectedContract = loginModule.LoggedInStaff.SelectedContract; Console.WriteLine(selectedContract); if (selectedContract != null) { string client_name = selectedContract.Client.Name; if (MessageBox.Show("Are you sure you want to start work with " + client_name + "?", "Start Work", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { StartWorkData startWork = new StartWorkData(); startWork.Subcon = selectedContract; Task <bool> task = StartWorkModule.Process(startWork, new CouchbaseLiteSaveWork()); var result = await task; if (result) { RemoteStaffSystem.GetInstance().UpdateStatus("Working"); CurrentWork = StartWorkModule.GetResult(); CurrentWork.TimeBlockLength = TimeBlockLengthInMinute; var manager = new JobManager(); Bitmap imageScrena = Screna.ScreenShot.Capture(true, true); MemoryStream screenShot = new MemoryStream(); imageScrena.Save(screenShot, ImageFormat.Jpeg); BitmapImage image; using (Stream stream = screenShot) { image = new BitmapImage(); stream.Position = 0; image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.StreamSource = stream; image.EndInit(); image.Freeze(); } RemoteStaffSystem.GetInstance().UpdateImage(image); manager.ExecuteAllJobs(); //BaseModule module = ModuleFactory.Get(ModuleFactory.Login); //CouchBaseReplicatorTimeBlock replicatorTimeBlock = new CouchBaseReplicatorTimeBlock(); //replicatorTimeBlock.InitializeReplication((LoginModule)module); } } return(true); } else { MessageBox.Show("Please select a client"); return(false); } }
public bool save(IProcessData data, ISettings settings) { StartWorkData startData = (StartWorkData)data; var properties = startData.Work.ToJSON(); var manager = Manager.SharedInstance; var workDb = manager.GetDatabase(settings.WorkDb()); var document = workDb.CreateDocument(); var revision = document.PutProperties(properties); var docId = document.Id; startData.Work.DocId = docId; return(true); }