public void Can_insert_update_and_delete_when_table_splitting() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (new TransactionScope()) { using (var context = CreateContext()) { var jobTaskState = new JobTaskState { State = "Foo" }; var jobTask = new JobTask { Description = "Foo", State = jobTaskState }; Assert.Equal(0, context.Set<JobTask>().Count()); Assert.Equal(0, context.Set<JobTaskState>().Count()); context.Set<JobTask>().Add(jobTask); context.SaveChanges(); Assert.Equal(1, context.Set<JobTask>().Count()); Assert.Equal(1, context.Set<JobTaskState>().Count()); jobTask.Description = "Bar"; context.SaveChanges(); context.Set<JobTaskState>().Remove(jobTaskState); context.SaveChanges(); Assert.Equal(0, context.Set<JobTask>().Count()); Assert.Equal(0, context.Set<JobTaskState>().Count()); } } }); }
public static bool IsConclusiveStateToMoveToNextTask(this JobTaskState state) { var conclusiveState = JobTaskState.FAILED | JobTaskState.RETURNED | JobTaskState.COMPLETED; var result = conclusiveState & state; return(result == state); }
public static string GenerateStateString(JobTaskState state, string JobTaskName) { switch(state) { case JobTaskState.PENDING: return string.Concat(JobTaskName, " is pending"); case JobTaskState.IN_PROGRESS: return string.Concat(JobTaskName, " is in progress"); case JobTaskState.COMPLETED: return string.Concat(JobTaskName, " is completed"); case JobTaskState.CANCELLED: return string.Concat(JobTaskName, " is cancelled"); default: throw new InvalidOperationException("Invalid/Unsupported JobTask state provided"); } }
public void Can_insert_update_and_delete_when_table_splitting() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (new TransactionScope()) { using (var context = CreateContext()) { var jobTaskState = new JobTaskState { State = "Foo" }; var jobTask = new JobTask { Description = "Foo", State = jobTaskState }; Assert.Equal(0, context.Set <JobTask>().Count()); Assert.Equal(0, context.Set <JobTaskState>().Count()); context.Set <JobTask>().Add(jobTask); context.SaveChanges(); Assert.Equal(1, context.Set <JobTask>().Count()); Assert.Equal(1, context.Set <JobTaskState>().Count()); jobTask.Description = "Bar"; context.SaveChanges(); context.Set <JobTaskState>().Remove(jobTaskState); context.SaveChanges(); Assert.Equal(0, context.Set <JobTask>().Count()); Assert.Equal(0, context.Set <JobTaskState>().Count()); } } }); }