Exemplo n.º 1
0
        private ValueHolder GetAllBackupJobs()
        {
            AdapterMySql DbAdapter = new AdapterMySql("localhost", "backup", "root", "yala");
            ValueHolder  jobs      = new ValueHolder("Tasks");

            Message request = new Message("Command", System.Data.CommandType.Text.ToString());

            request.AddData(new ValueHolder("Jobs", "select job.Name from tblbackupjobs job left outer join tblbackupjobexecution exec on job.JobId = exec.JobId where exec.JobId is null or (exec.Status is not null and exec.Status <> 'INPROGRESS');"));
            request.AddSender("GetAllBackupJobs", typeof(Job).ToString());

            DbAdapter.Send(request);
            IRecordSet reply = (IRecordSet)DbAdapter.Receive();

            if (reply.Data != null && reply.Data.GetAnnotation("Record") != null)
            {
                foreach (ValueHolder record in reply.Data.Annotations)
                {
                    string name = (string)record.GetAnnotation("Name").Value;

                    ValueHolder definition = new ValueHolder(name);
                    definition.AddAnnotation("DbAdapter", DbAdapter);
                    Job job = new Job(definition, _logger);

                    jobs.AddAnnotation(record.Value.ToString(), job.Task);
                }
            }

            return(jobs);
        }