Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
            }
        }