public async Task <ICloudTable <T> > GetTableAsync <T>() where T : TableData { var tableName = typeof(T).Name; if (!tables.ContainsKey(tableName)) { var table = new MockCloudTable <T>(); tables[tableName] = table; } return((ICloudTable <T>)tables[tableName]); }
public async Task InitializeAsync() { if (Initialized) { return; } try { var studentGroups = new MockCloudTable <StudentGroup>(); tables["StudentGroup"] = studentGroups; var assignments = new MockCloudTable <Assignment>(); tables["Assignment"] = assignments; var exercises = new MockCloudTable <Exercise>(); tables["Exercise"] = exercises; var studentExercises = new MockCloudTable <StudentExercise>(); tables["StudentExercise"] = studentExercises; var students = new MockCloudTable <User>(); tables["User"] = students; await studentGroups.CreateItemAsync(new StudentGroup() { Name = "Group1", GroupSize = 2, Teacher_Id = "1" }); await studentGroups.CreateItemAsync(new StudentGroup() { Name = "Group2", GroupSize = 1, Teacher_Id = "1" }); await students.CreateItemAsync(new User() { Email = "", FirstName = "A", LastName = "A", IsTeacher = false, AzureId = "1", StudentGroup_Id = (await studentGroups.Where(s => s.Name == "Group1")).FirstOrDefault().Id }); await students.CreateItemAsync(new User() { Email = "", FirstName = "B", LastName = "B", IsTeacher = false, AzureId = "2", StudentGroup_Id = (await studentGroups.Where(s => s.Name == "Group2")).FirstOrDefault().Id }); await students.CreateItemAsync(new User() { Email = "", FirstName = "C", LastName = "C", IsTeacher = false, AzureId = "3", StudentGroup_Id = null }); await assignments.CreateItemAsync(new Assignment() { Name = "Assignment1", ValidFrom = DateTime.Today, ValidUntil = DateTime.Today.AddDays(5), StudentGroup_Id = (await studentGroups.Where(s => s.Name == "Group1")).FirstOrDefault().Id }); await assignments.CreateItemAsync(new Assignment() { Name = "Assignment2", ValidFrom = DateTime.Today, ValidUntil = DateTime.Today.AddDays(5), StudentGroup_Id = (await studentGroups.Where(s => s.Name == "Group2")).FirstOrDefault().Id }); await exercises.CreateItemAsync(new Exercise() { Assignment_Id = (await assignments.Where(s => s.Name == "Assignment1")).FirstOrDefault().Id, Definition = "Definition", Phrase = "Phrase", Word = "WordOne", TranslatedPhrase = "TranslatedPhrase", TranslatedWord = "TranslatedWord", ImageURI = "" }); await exercises.CreateItemAsync(new Exercise() { Assignment_Id = (await assignments.Where(s => s.Name == "Assignment1")).FirstOrDefault().Id, Definition = "Definition", Phrase = "Phrase", Word = "WordTwo", TranslatedPhrase = "TranslatedPhrase", TranslatedWord = "TranslatedWord", ImageURI = "" }); await exercises.CreateItemAsync(new Exercise() { Assignment_Id = (await assignments.Where(s => s.Name == "Assignment2")).FirstOrDefault().Id, Definition = "Definition", Phrase = "Phrase", Word = "Word", TranslatedPhrase = "TranslatedPhrase", TranslatedWord = "TranslatedWord", ImageURI = "" }); await exercises.CreateItemAsync(new Exercise() { Assignment_Id = (await assignments.Where(s => s.Name == "Assignment1")).FirstOrDefault().Id, Definition = "Definition", Phrase = "Phrase", Word = "WordFour", TranslatedPhrase = "TranslatedPhrase", TranslatedWord = "TranslatedWord", ImageURI = "" }); await exercises.CreateItemAsync(new Exercise() { Assignment_Id = (await assignments.Where(s => s.Name == "Assignment1")).FirstOrDefault().Id, Definition = "Definition", Phrase = "Phrase", Word = "WordFive", TranslatedPhrase = "TranslatedPhrase", TranslatedWord = "TranslatedWord", ImageURI = "" }); } catch (Exception e) { Debug.WriteLine(e.ToString()); return; } Initialized = true; return; }