Inheritance: BaseJob
        private QueryResponse CreateJob(EmailJob model)
        {
            var dataMap = new Dictionary<string, object>
            {
                {"message", model.Body},
                {"smtp_host", model.SmtpHost},
                {"smtp_port", model.SmtpPort},
                {"smtp_username", model.Username},
                {"smtp_password", model.Password},
                {"recipient", model.Recipient},
                {"cc_recipient", model.CcRecipient},
                {"sender", model.Sender},
                {"reply_to", model.ReplyTo},
                {"subject", model.Subject},
                {"encoding", model.Encoding}
            };

            return base.CreateJob(model, typeof (SendMailJob), dataMap, model.Description);
        }
 private static EmailJob GetEmailJobFromDataMap(IJobDetail detail)
 {
     var emailJob = new EmailJob();
     emailJob.Body = detail.JobDataMap.GetString("message");
     emailJob.SmtpHost = detail.JobDataMap.GetString("smtp_host");
     emailJob.SmtpPort = detail.JobDataMap.GetString("smtp_port");
     emailJob.Username = detail.JobDataMap.GetString("smtp_username");
     emailJob.Password = detail.JobDataMap.GetString("smtp_password");
     emailJob.Recipient = detail.JobDataMap.GetString("recipient");
     emailJob.CcRecipient = detail.JobDataMap.GetString("cc_recipient");
     emailJob.Sender = detail.JobDataMap.GetString("sender");
     emailJob.ReplyTo = detail.JobDataMap.GetString("reply_to");
     emailJob.Subject = detail.JobDataMap.GetString("subject");
     emailJob.Body = detail.JobDataMap.GetString("message");
     emailJob.Encoding = detail.JobDataMap.GetString("encoding");
     return emailJob;
 }