예제 #1
0
        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);
        }