Ejemplo n.º 1
0
        public CreateEntityResponse <int> Add(AddJobRequest jobRequest)
        {
            var job = _mappingEngine.Map <AddJobRequest, Job>(jobRequest);

            job.SetJobSplittingStrategy(_jobSplitStrategyFactory.Create(job));
            var workItems = job.Split();

            using (var tx = new TransactionScope())
            {
                {
                    using (var session = _docStore.OpenSession())
                    {
                        session.Store(job);
                        foreach (var workItem in workItems)
                        {
                            session.Store(workItem);
                        }


                        session.SaveChanges();
                    }
                }
                tx.Complete();
                return(new CreateEntityResponse <int>(true, "Job added with {Id}".FormatWith(new { job.Id }), job.Id));
            }
        }
        protected void _btnAddJob_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_cmbSourceFiles.Text))
            {
                return;
            }

            if (string.IsNullOrEmpty(_cmbConversionProfile.Text))
            {
                return;
            }

            MultimediaData multimediaData = new MultimediaData(_cmbSourceFiles.Text, _outputFilesUrl, File.ReadAllBytes(_cmbConversionProfile.SelectedItem.Value), _cmbConversionProfile.SelectedItem.Text);

            // Add new job.
            AddJobRequest AddJobRequest = new AddJobRequest();

            AddJobRequest.UserToken   = _hiddenFieldClientMetadata.Value;
            AddJobRequest.JobMetadata = MultimediaData.SerializeToString(multimediaData);
            AddJobRequest.JobType     = "Multimedia";
            AddJobResponse addJobResponse = _jobService.AddJob(AddJobRequest);

            GetJobInformationRequest getJobInfoRequest = new GetJobInformationRequest();

            getJobInfoRequest.ID = addJobResponse.Id;
            GetJobInformationResponse getJobInfoResponse = _jobService.GetJobInformation(getJobInfoRequest);

            AddJobToGridView(getJobInfoResponse.JobInformation);

            GetClientJobs();
        }
        protected void _btnAddJob_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_cmbSourceFiles.Text))
            {
                return;
            }

            OcrData ocrData = new OcrData(_cmbSourceFiles.Text, _outputFilesUrl, _cmbDocumentFormats.Text);

            // Add new job.
            AddJobRequest jobRequest = new AddJobRequest();

            jobRequest.JobType     = "OCR";
            jobRequest.UserToken   = _hiddenFieldClientMetadata.Value;
            jobRequest.JobMetadata = OcrData.SerializeToString(ocrData);
            AddJobResponse addJobResponse = _jobService.AddJob(jobRequest);

            GetJobInformationRequest getJobInfoRequest = new GetJobInformationRequest();

            getJobInfoRequest.ID = addJobResponse.Id;
            GetJobInformationResponse getJobInfoResponse = _jobService.GetJobInformation(getJobInfoRequest);

            AddJobToGridView(getJobInfoResponse.JobInformation);

            GetClientJobs();
        }
Ejemplo n.º 4
0
        private void btnSubmitCommand_Click(object sender, EventArgs e)
        {
            var bytes   = File.ReadAllBytes(@"C:\Code\RedGate.BuildTools\AcceptanceTests\bin\Debug.zip");
            var command = new AddJobRequest()
            {
                Arguments = txtArguments.Text, InitiatedBy = "Me", Runner = txtRunner.Text, WorkDirectoryArchive = bytes
            };
            var uriFactory = this.checkBox1.Checked ? new UriFactoryForTesting(Settings.Default) : new UriFactory(Settings.Default);
            var response   = ServerChannel.SendRequest <CreateEntityResponse <int> >(uriFactory.Create(EndPoint.QueueJob), command);

            MessageBox.Show(@"Job added " + response.EntityIdentifier);
        }
Ejemplo n.º 5
0
        public async Task <BaseResponse> Add(AddJobRequest model)
        {
            var job = new Job();

            job.Name        = model.Name;
            job.Description = model.Description;
            job.StartDate   = model.StartDate;
            job.JobType     = (JobType)model.Type;
            job.UserId      = _parameter.UserId;
            var result = await _jobRepository.Add(job);

            if (result.State != State.Success)
            {
                _logManager.Error(result.ToString());
            }
            return(result);
        }
Ejemplo n.º 6
0
        public void Agent_ShouldExecuteTestsAndReturnArtifacts()
        {
            const string runner    = @"C:\Program Files (x86)\NUnit-2.6.2\bin\nunit-console-x86.exe";
            string       arguments = string.Format(@"{0} ", FullAssemblyName);


            var workDirectoryArchive = CreateWorkDirectoryArchive(@"..\..\..\..\Delen.Test.NUnitSample\bin\Debug\");
            var command = new AddJobRequest
            {
                Arguments            = arguments,
                InitiatedBy          = "Me",
                Runner               = runner,
                WorkDirectoryArchive = File.ReadAllBytes(workDirectoryArchive),
                ArtifactSearchFilter = "TestResult.xml"
            };
            var response =
                ServerChannel.SendRequest <CreateEntityResponse <int> >(
                    new UriFactoryForTesting(Settings.Default).Create(EndPoint.QueueJob), command);

            var jobProcessed = false;

            DocumentStore.Changes().ForDocumentsStartingWith("workitem").Subscribe(
                new DocumentObserver(a =>
            {
                using (var session = DocumentStore.OpenSession())
                {
                    var workItem = session.Query <WorkItem>().First(w => w.Job.Id.Equals(response.EntityIdentifier));
                    if (workItem.Status == WorkItemStatus.Successful)
                    {
                        jobProcessed = true;
                    }
                }
            }));

            DocumentStore.Changes().WaitForAllPendingSubscriptions();
            StartAgent();

            WaitUntil(() => jobProcessed == false, () => AgentHasBeenRunningFor > TimeSpan.FromSeconds(15));

            using (var session = DocumentStore.OpenSession())
            {
                var workitem = session.Query <WorkItem>().First(s => s.Job.Id.Equals(response.EntityIdentifier));
                AssertArtifactIsCorrect(workitem);
            }
        }
Ejemplo n.º 7
0
        private void button1_Click(object sender, EventArgs e)
        {
            const string runner    = @"C:\Program Files (x86)\NUnit-2.6.2\bin\nunit-console-x86.exe";
            string       arguments = string.Format(@"{0} ", BaseFixture.AssemblyName + ".dll");

            var workDirectoryArchive = WorkFixture.CreateWorkDirectoryArchive(@"..\..\..\..\..\Tests\Delen.Test.NUnitSample\bin\Debug\");
            var command = new AddJobRequest
            {
                Arguments            = arguments,
                InitiatedBy          = "Me",
                Runner               = runner,
                WorkDirectoryArchive = File.ReadAllBytes(workDirectoryArchive),
                ArtifactSearchFilter = "TestResult.xml"
            };

            ServerChannel.SendRequest <CreateEntityResponse <int> >(
                new UriFactory(Settings.Default).Create(EndPoint.QueueJob), command);
            MessageBox.Show(@"Done.");
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> AddJob(AddJobRequest addJobRequest)
        {
            if (IsAuth())
            {
                _apiConnection.AddHeader(new Dictionary <string, string>()
                {
                    { "Authorization", "bearer " + GetToken() }
                });
                var response = await _apiConnection.Post <BaseResponse <object> >(baseUrl + "Job/Add", addJobRequest);

                if (response.IsSuccess)
                {
                    if (response.Result.State == State.Success)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(View(new BaseResponse <List <GetJobResponse> >()
                        {
                            Message = response.Result.Message
                        }));
                    }
                }
                else
                {
                    return(View(new BaseResponse <List <GetJobResponse> >()
                    {
                        Message = response.ErrorMessage
                    }));
                }
            }
            else
            {
                return(View(new BaseResponse <List <GetJobResponse> >()
                {
                    Message = "Please login"
                }));
            }
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> Add(AddJobRequest model)
        {
            var result = await _jobService.Add(model);

            return(Ok(result));
        }
Ejemplo n.º 10
0
        private void _btnMMAddJob_Click(object sender, EventArgs e)
        {
            //Validate conversion profile
            if (_cmbMMConversionProfile.SelectedIndex == -1)
            {
                MessageBox.Show("You must select a conversion profile", "Invalid Profile");
                return;
            }

            try
            {
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    ofd.Multiselect = true;
                    ofd.Filter      = "Video Files (*.avi;*.mpg;*.mpeg;*.mxf;*.mkv;*.ogg;*.wmv.*.asf;*.qt;*.mov;*.m2v;*.m1v;*.ts;*.m2ts;*.mp4;*.3gp;*.flv;*.f4v;video_ts.ifo;*.LBL)|*.avi;*.mpg;*.mpeg;*.mxf;*.mkv;*.ogg;*.wmv.*.asf;*.qt;*.mov;*.m2v;*.m1v;*.ts;*.m2ts;*.mp4;*.3gp;*.flv;*.f4v;video_ts.ifo;*.LBL|Audio files (*.wav;*.wma;*.ogg;*.mpa;*.mp2;*.mp3;*.mxf;*.mkv;*.au;*.aif;*.aiff;*.snd;*.aac)|*.wav;*.wma;*.ogg;*.mpa;*.mp2;*.mp3;*.mxf;*.mkv;*.au;*.aif;*.aiff;*.snd;*.aac|MPEG Files (*.mpg;*.mpeg;*.m2v;*.m1v;*.ts;*.m2ts)|*.mpg;*.mpeg;*.m2v;*.m1v;*.ts;*.m2ts|MXF Files (*.mxf)|*.mxf|MKV Files (*.mkv)|*.mkv|Windows Media Files (*.asf;*.wma;*.wmv)|*.asf;*.wma;*.wmv|DVD Files (video_ts.ifo)|video_ts.ifo|All Files (*.*)|*.*";
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        List <AddJobRequest> addJobRequestList = new List <AddJobRequest>(ofd.FileNames.Length);
                        foreach (string file in ofd.FileNames)
                        {
                            //Create output directory.
                            string outputDirectory = Path.Combine(Path.GetDirectoryName(file), "Dashboard Output");
                            if (!Directory.Exists(outputDirectory))
                            {
                                try
                                {
                                    Directory.CreateDirectory(outputDirectory);
                                }
                                catch
                                {
                                    outputDirectory = Path.GetDirectoryName(file);
                                }
                            }

                            //Create job metadata
                            MultimediaData multimediaData = new MultimediaData(file, outputDirectory, File.ReadAllBytes((string)_cmbMMConversionProfile.SelectedValue), _cmbMMConversionProfile.Text);
                            AddJobRequest  addJobRequest  = new AddJobRequest();
                            addJobRequest.UserToken   = _userName;
                            addJobRequest.JobMetadata = MultimediaData.SerializeToString(multimediaData);
                            addJobRequest.JobType     = "Multimedia";
                            addJobRequestList.Add(addJobRequest);
                        }

                        using (JobServiceClient jobService = new JobServiceClient())
                        {
                            //Add jobs as a batch
                            jobService.Endpoint.Address = new System.ServiceModel.EndpointAddress(string.Format("{0}/JobService.svc", _wcfAddress));

                            AddJobsRequest addJobsRequest = new AddJobsRequest();
                            addJobsRequest.AddRange(addJobRequestList);
                            jobService.AddJobs(addJobsRequest);
                        }

                        MessageBox.Show("Job added successfully", "Success");
                        GetClientJobs();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
Ejemplo n.º 11
0
        private void _btnOCRAddJob_Click(object sender, EventArgs e)
        {
            //Validate conversion profile
            if (_cmbOCRFormat.SelectedIndex == -1)
            {
                MessageBox.Show("You must select a valid format", "Invalid Format");
                return;
            }

            try
            {
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    ofd.Multiselect = true;
                    ofd.Filter      = "Image Files(*.CMP;*.CMW;*.PDF;*.TIF;*.TIFF;*.PNG;*.BMP;*.JPG;*.GIF)|*.CMP;*.CMW;*.PDF;*.TIF;*.TIFF;*.PNG;*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
                    if (ofd.ShowDialog(this) == DialogResult.OK)
                    {
                        List <AddJobRequest> addJobRequestList = new List <AddJobRequest>(ofd.FileNames.Length);
                        foreach (string file in ofd.FileNames)
                        {
                            //Create output directory.
                            string outputDirectory = Path.Combine(Path.GetDirectoryName(file), "Dashboard Output");
                            if (!Directory.Exists(outputDirectory))
                            {
                                try
                                {
                                    Directory.CreateDirectory(outputDirectory);
                                }
                                catch
                                {
                                    outputDirectory = Path.GetDirectoryName(file);
                                }
                            }

                            //Create job metadata
                            OcrData       ocrData       = new OcrData(file, outputDirectory, _cmbOCRFormat.Text);
                            AddJobRequest addJobRequest = new AddJobRequest();
                            addJobRequest.UserToken   = _userName;
                            addJobRequest.JobMetadata = OcrData.SerializeToString(ocrData);
                            addJobRequest.JobType     = "OCR";
                            addJobRequestList.Add(addJobRequest);
                        }

                        using (JobServiceClient jobService = new JobServiceClient())
                        {
                            //Add jobs as in a batch
                            jobService.Endpoint.Address = new System.ServiceModel.EndpointAddress(string.Format("{0}/JobService.svc", _wcfAddress));

                            AddJobsRequest addJobsRequest = new AddJobsRequest();
                            addJobsRequest.AddRange(addJobRequestList);
                            jobService.AddJobs(addJobsRequest);
                        }

                        MessageBox.Show("Job added successfully", "Success");
                        GetClientJobs();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }

            UpdateUI();
        }
Ejemplo n.º 12
0
 public ActionResult Queue(AddJobRequest cmd)
 {
     return(Json(_queue.Add(cmd)));
 }
Ejemplo n.º 13
0
 public static Job Create(AddJobRequest request)
 {
     return(Create(request.Runner, request.InitiatedBy, request.Arguments, request.WorkDirectoryArchive));
 }