private static ICoreDstDependencies CreateNewDst(Random random) { DateTime dateTime = CoreTest.RandomDateTime(random); MetadataNode vfsroot = new(VirtualFSInterop.MakeNewDirectoryMetadata("dst", dateTime), null); IDstFSInterop dstFSInterop = VirtualFSInterop.InitializeNewDst(vfsroot, new BPlusTree <byte[]>(10), ""); return(CoreDstDependencies.InitializeNew("test", false, dstFSInterop)); }
// This is the main entry point of the application. static void Main(string[] args) { //do it asap DLogger.Initialize(AppHelper.Paths.WorkingRootFolder); CoreTest.Initialize(); // if you want to use a different Application Delegate class from "AppDelegate" // you can specify it here. UIApplication.Main(args, null, "AppDelegate"); }
private static ICoreSrcDependencies CreateNewSrc(Random random) { DateTime dateTime = CoreTest.RandomDateTime(random); MetadataNode vfsroot = new(VirtualFSInterop.MakeNewDirectoryMetadata("src", dateTime), null); BPlusTree <byte[]> datastore = new(10); CoreTest.AddStandardVFSFiles(vfsroot, datastore, random); IFSInterop srcFSInterop = new VirtualFSInterop(vfsroot, datastore); return(FSCoreSrcDependencies.InitializeNew("test", "", srcFSInterop)); }
public TestorData GetTestSettingsData(int testId) { using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { CoreTest test = dataContext.CoreTests.Where(c => c.TestId == testId).FirstOrDefault(); TestorData data = new TestorData(); TestorData.CoreTestsRow coreTestRow = data.CoreTests.NewCoreTestsRow(); coreTestRow.AllowAdmitQuestions = test.AllowAdmitQuestions; coreTestRow.BeginTime = test.BeginTime; coreTestRow.Description = test.Description; coreTestRow.EndTime = test.EndTime; coreTestRow.IsActive = test.IsActive; coreTestRow.IsMasterTest = test.IsMasterTest; coreTestRow.PassagesNumber = test.PassagesNumber; coreTestRow.PassingScore = test.PassingScore; coreTestRow.QuestionsNumber = test.QuestionsNumber; coreTestRow.IsDeleted = test.IsDeleted; if (coreTestRow.QuestionsNumber == 0) { if (test.IsMasterTest) { var masterParts = dataContext.CoreMasterParts.Where(c => c.MasterTestId == testId); if (masterParts.Count() > 0) { coreTestRow.QuestionsNumber = (short)masterParts.Sum(c => c.QuestionsNumber); } else { coreTestRow.QuestionsNumber = 0; } } else { coreTestRow.QuestionsNumber = (short)test.CoreQuestions.Count(); } } coreTestRow.ShowRightAnswersCount = test.ShowRightAnswersCount; coreTestRow.ShowTestResult = test.ShowTestResult; coreTestRow.ShowDetailsTestResult = test.ShowDetailsTestResult; coreTestRow.TestId = test.TestId; coreTestRow.TestKey = test.TestKey; coreTestRow.TestName = test.TestName; coreTestRow.TimeLimit = test.TimeLimit; coreTestRow.VariantsMode = test.VariantsMode; coreTestRow.AdaptiveMode = test.AdaptiveMode; data.CoreTests.AddCoreTestsRow(coreTestRow); return(data); } }
protected override void OnCreate(Bundle bundle) { // tests can be inside the main assembly //AddTest(Assembly.GetExecutingAssembly()); // or in any reference assemblies // AddTest (typeof (Your.Library.TestClass).Assembly); AddTest(typeof(CoreTest).Assembly); AddTest(typeof(EncryptorDecryptorTest).Assembly); CoreTest.Initialize(this); // Once you called base.OnCreate(), you cannot add more assemblies. base.OnCreate(bundle); }
public void SetTestSettings(byte[] testSettings) { Debug.Assert(testSettings != null); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { TestorData data = DataCompressor.DecompressData <TestorData>(testSettings); TestorData.CoreTestsRow test = data.CoreTests[0]; Provider.TestCoreTestsAccess(test.TestId); CoreTest coreTest = dataContext.CoreTests.Where(c => c.TestId == test.TestId).FirstOrDefault(); CreateCoreTest(test, coreTest); dataContext.SubmitChanges(); } }
//Не является операцией сервиса private void CreateCoreTest(TestorData.CoreTestsRow coreTest, CoreTest test) { test.TestName = coreTest.TestName; test.Description = coreTest.Description; test.QuestionsNumber = coreTest.QuestionsNumber; test.VariantsMode = coreTest.VariantsMode; test.PassagesNumber = coreTest.PassagesNumber; test.PassingScore = coreTest.PassingScore; test.TimeLimit = coreTest.TimeLimit; test.BeginTime = coreTest.BeginTime; test.EndTime = coreTest.EndTime; test.AllowAdmitQuestions = coreTest.AllowAdmitQuestions; test.ShowTestResult = coreTest.ShowTestResult; test.ShowDetailsTestResult = coreTest.ShowDetailsTestResult; test.ShowRightAnswersCount = coreTest.ShowRightAnswersCount; test.IsActive = coreTest.IsActive; test.AdaptiveMode = coreTest.AdaptiveMode; }
public TestorTreeItem CreateFolder(int parentId, string folderName) { Debug.Assert(parentId >= 0); Debug.Assert(!String.IsNullOrEmpty(folderName)); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { TestorData td = new TestorData(); TestorData.CoreTestsRow testRow = HtmlStore.CreateCoreTest(td, folderName); CoreTest coreTest = new CoreTest(); CreateCoreTest(testRow, coreTest); dataContext.CoreTests.InsertOnSubmit(coreTest); dataContext.SubmitChanges(); int result = dataContext.AddTestTreeItem(GetId(parentId), (int)TestorItemType.Folder, coreTest.TestId, Provider.CurrentUser.UserId); TestorTreeItem retValue = new TestorTreeItem( result, coreTest.TestId, folderName, TestorItemType.Folder, new TestorTreeItem[] { }); retValue.ItemOwner = Provider.CurrentUser.UserId; return(retValue); } }
public void MultiDestinationTest() { Random r = new(420); var source = CreateNewSrc(r); var destinations = Enumerable.Range(0, 5) .Select(_ => CreateNewDst(r)) .ToList(); // Backup to destination #1 Core core = new(source, destinations.GetRange(0, 1)); core.RunBackup("test", "to destination 1"); // Add some more data var(hash, file) = CoreTest.MakeRandomFile(1000, r); source.OverwriteOrCreateFile("mdTestFile", file); // Backup to all core = new(source, destinations); core.RunBackup("test", "to all destinations"); // Remove a file source.DeleteFile("mdTestFile"); // Backup to destination #2 core = new(source, destinations.GetRange(1, 1)); core.RunBackup("test", "to destination 2"); // Backup to all again core = new(source, destinations); core.RunBackup("test", "to all destinations again"); System.Collections.Generic.List <BackupRecord> backupRecords = destinations[3].Backups.GetAllBackupRecords( new LagernCore.Models.BackupSetReference("test", false, false, false)); Assert.IsTrue(backupRecords.Count == 2); }
//Не является операцией сервиса private List <TestSessionQuestion> GetQuestsFromTest(TestSession session, CoreTest coreTest, CoreMasterPart masterPart, DataClassesTestorCoreDataContext dataContext) { Dictionary <Guid, int> realQuests = new Dictionary <Guid, int>(); List <TestSessionQuestion> retValue = new List <TestSessionQuestion>(); if (coreTest == null) { coreTest = masterPart.CoreTest1; } int count = 0; if (masterPart == null) { count = coreTest.QuestionsNumber; if (count == 0) { count = coreTest.CoreQuestions.Count(); } } else { count = masterPart.QuestionsNumber; } if (count == 0) { return new List <TestSessionQuestion> { } } ; if (masterPart == null) { var quests = from x in dataContext.CoreQuestions where x.TestId == coreTest.TestId select x.QuestionId; foreach (var quest in quests) { realQuests.Add(Guid.NewGuid(), quest); } } else { var quests = from x in dataContext.CoreQuestions where x.TestId == masterPart.PartTestId select x.QuestionId; foreach (var quest in quests) { realQuests.Add(Guid.NewGuid(), quest); } } Random rnd = new Random((int)(DateTime.Now.TimeOfDay.TotalMilliseconds + DateTime.Now.TimeOfDay.TotalSeconds)); var xq = realQuests.OrderBy(c => c.Key).OrderBy(c => rnd.Next(1, 1000)).Take(count); foreach (var quest in xq) { TestSessionQuestion newQuestion = new TestSessionQuestion(); newQuestion.TestSession = session; newQuestion.QuestionId = quest.Value; retValue.Add(newQuestion); } return(retValue); }
public TestorTreeItem[] SendTests(byte[] testorData, int folderId, int[] groupIds) { Debug.Assert(testorData != null); Debug.Assert(folderId >= 0); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { TestorData data = DataCompressor.DecompressData <TestorData>(testorData); //data.WriteXml("C:/locator.xml", System.Data.XmlWriteMode.IgnoreSchema); Dictionary <int, CoreTest> xTests = new Dictionary <int, CoreTest>(); foreach (TestorData.CoreTestsRow coreTest in data.CoreTests) { CoreTest test = new CoreTest(); test.TestKey = coreTest.TestKey; test.IsMasterTest = coreTest.IsMasterTest; CreateCoreTest(coreTest, test); xTests.Add(coreTest.TestId, test); dataContext.CoreTests.InsertOnSubmit(test); foreach (int groupId in groupIds) { TestGroup group = new TestGroup(); group.CoreTest = test; group.GroupId = groupId; dataContext.TestGroups.InsertOnSubmit(group); } foreach (var coreQuest in coreTest.GetCoreQuestionsRows()) { CoreQuestion quest = new CoreQuestion(); quest.CoreTest = test; quest.QuestionType = coreQuest.QuestionType; quest.Question = coreQuest.Question; quest.QuestionMark = coreQuest.QuestionMark; try { if (!Convert.IsDBNull(coreQuest.QuestionMetadata)) { quest.QuestionMetadata = coreQuest.QuestionMetadata; } } catch { quest.QuestionMetadata = null; } dataContext.CoreQuestions.InsertOnSubmit(quest); foreach (var coreAnswer in coreQuest.GetCoreAnswersRows()) { CoreAnswer answer = new CoreAnswer(); answer.CoreQuestion = quest; answer.Answer = coreAnswer.Answer; answer.IsTrue = coreAnswer.IsTrue; try { if (!Convert.IsDBNull(coreAnswer.AnswerMetadata)) { answer.AnswerMetadata = coreAnswer.AnswerMetadata; } } catch { answer.AnswerMetadata = null; } dataContext.CoreAnswers.InsertOnSubmit(answer); } foreach (var coreBlob in coreQuest.GetCoreBLOBsRows()) { CoreBLOB blob = new CoreBLOB(); blob.CoreQuestion = quest; blob.BLOBId = coreBlob.BLOBId; blob.BLOBContent = coreBlob.BLOBContent; dataContext.CoreBLOBs.InsertOnSubmit(blob); } } } foreach (var masterTest in data.CoreTests.Where(c => c.IsMasterTest == true)) { var parts = data.CoreMasterParts.Where(c => c.MasterTestId == masterTest.TestId); var test = xTests.Where(c => c.Value.TestKey == masterTest.TestKey).FirstOrDefault(); foreach (var part in parts) { CoreMasterPart masterPart = new CoreMasterPart(); masterPart.CoreTest1 = test.Value; masterPart.CoreTest = xTests.Where( c => c.Key == part.PartTestId).FirstOrDefault().Value; masterPart.QuestionsNumber = part.QuestionsNumber; dataContext.CoreMasterParts.InsertOnSubmit(masterPart); } } foreach (var coreReq in data.CoreRequirements) { CoreRequirement req = new CoreRequirement(); Guid testKey = data.CoreTests.Where(c => c.TestId == coreReq.TestId).FirstOrDefault().TestKey; Guid reqKey = data.CoreTests.Where(c => c.TestId == coreReq.Requirement).FirstOrDefault().TestKey; req.CoreTest = xTests.Where(c => c.Value.TestKey == testKey).FirstOrDefault().Value; req.CoreTest1 = xTests.Where(c => c.Value.TestKey == reqKey).FirstOrDefault().Value; dataContext.CoreRequirements.InsertOnSubmit(req); } try { dataContext.SubmitChanges(); } catch (Exception ex) { throw ex; } List <TestorTreeItem> retValue = new List <TestorTreeItem>(); foreach (var test in xTests) { CoreTest coreTest = test.Value; TestorItemType type = TestorItemType.Test; if (coreTest.IsMasterTest) { type = TestorItemType.MasterTest; } int result = dataContext.AddTestTreeItem(GetId(folderId), (byte)type, coreTest.TestId, Provider.CurrentUser.UserId); TestorTreeItem item = new TestorTreeItem(result, coreTest.TestId, coreTest.TestName, type, null); retValue.Add(item); } return(retValue.ToArray()); } }