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());
                                }
                            }
                        });
                }
Beispiel #2
0
        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());
                            }
                        }
                    });
                }