private void AddNewInfos(string path, DateTime passingTime) { string testName = GetLastPathPart(path); foreach (string classFolderPath in Directory.GetDirectories(path)) { string className = GetLastPathPart(classFolderPath); foreach (string pupilFilePath in Directory.GetFiles(classFolderPath, "*.txt")) { string pupilFileName = GetLastPathPart(pupilFilePath); int spaceIndex = pupilFileName.IndexOf(' '); int pointIndex = pupilFileName.IndexOf('.'); string lastName = pupilFileName.Substring(0, spaceIndex); string firstName = pupilFileName.Substring(spaceIndex + 1, pointIndex - spaceIndex - 1); string result = File.ReadAllText(pupilFilePath); int classId = _classEngine.GetClassId(className); int pupilId = _pupilEngine.GetPupilId(firstName, lastName); var classInfo = new ClassInfo(classId, className, string.Empty); var pupilInfo = new PupilInfo(pupilId, firstName, lastName, classId); AnxietyResults anxietyResults = _anxietyTestResultMaker.MakeResults(result); var testResultInfo = new TestResultInfo(_testResultEngine.GetNextTestResultId(), testName, pupilId, result, passingTime, _anxietyTestResultMaker.DoesHighAnxietyExist(anxietyResults), classId, string.Empty); _classEngine.AddClassInfoSorted(classInfo); _pupilEngine.AddPupilInfoSorted(pupilInfo); _testResultEngine.AddTestResultInfoSorted(testResultInfo); } } }
public void AddPupilInfoSorted(PupilInfo pupilInfo) { if (PupilInfos.Any(x => x.Id == pupilInfo.Id)) { return; } var sortedPupilInfo = new List <PupilInfo>(); int index = PupilInfos.Count; for (int i = 0; i < PupilInfos.Count; i++) { if (string.Compare(pupilInfo.LastName + " " + pupilInfo.FirstName, PupilInfos[i].LastName + " " + PupilInfos[i].FirstName, StringComparison.CurrentCulture) < 0) { index = i; break; } } for (int i = 0; i < index; i++) { sortedPupilInfo.Add(PupilInfos[i]); } sortedPupilInfo.Add(pupilInfo); for (int i = index; i < PupilInfos.Count; i++) { sortedPupilInfo.Add(PupilInfos[i]); } PupilInfos = sortedPupilInfo; }
public async Task <ActionResult <PupilInfo> > Save(PupilInfo pupil) { _log.LogInformation("Save PupilInfo {pupil}", JsonConvert.SerializeObject(pupil)); if (pupil == null) { return(BadRequest()); } int userId = GetUserId(); if (userId == 0) { return(pupil); } return(await _pupilService.SavePupilInfo(pupil, userId)); }
public void LoadPupils() { PupilInfos = new List <PupilInfo>(); if (!File.Exists(_pupilDbPath)) { return; } string content = File.ReadAllText(_pupilDbPath); string[] parameters = content.Split(new[] { DatabaseEngine.RecordSeparator }, StringSplitOptions.RemoveEmptyEntries); foreach (string parameter in parameters) { string[] values = parameter.Split(new[] { DatabaseEngine.ValueSeparator }, StringSplitOptions.None); var pupilInfo = new PupilInfo(values); PupilInfos.Add(pupilInfo); } }