public string CreateExpiredJob(Job job, IDictionary <string, string> parameters, DateTime createdAt, TimeSpan expireIn) { // TODO make this a transaction var invocationData = InvocationData.Serialize(job); var persistedJob = new Entities.Job() { InvocationData = JsonConvert.SerializeObject(invocationData), Arguments = invocationData.Arguments, CreatedAt = createdAt, ExpireAt = createdAt.Add(expireIn) }; return(UsingDatabase(db => { int jobId = Convert.ToInt32(db.InsertWithIdentity(persistedJob)); foreach (var parameter in parameters) { db.Insert(new JobParameter() { JobId = jobId, Name = parameter.Key, Value = parameter.Value }); } return jobId.ToString(CultureInfo.InvariantCulture); })); }
public string CreateExpiredJob(Job job, IDictionary<string, string> parameters, DateTime createdAt, TimeSpan expireIn) { // TODO make this a transaction var invocationData = InvocationData.Serialize(job); var persistedJob = new Entities.Job() { InvocationData = JsonConvert.SerializeObject(invocationData), Arguments = invocationData.Arguments, CreatedAt = createdAt, ExpireAt = createdAt.Add(expireIn) }; return UsingDatabase(db => { int jobId = Convert.ToInt32(db.InsertWithIdentity(persistedJob)); foreach (var parameter in parameters) { db.Insert(new JobParameter() { JobId = jobId, Name = parameter.Key, Value = parameter.Value }); } return jobId.ToString(CultureInfo.InvariantCulture); }); }