void AddResult() { var newResult = new EgeResult(); if (DialogLayer.ShowEditor(EditingContent.EgeResultEditor, new EgeResultEditorViewModel(newResult))) { SelectedDocument.EgeResults.Add(newResult); RaisePropertyChanged("Results"); } }
bool CheckResult(EgeResult egeResult) { var _res = egeResult; if (_res.ExamSubject == null) { _errorList.Add("Не указана экзаменационная дисциплина."); return(false); } if (_res.Value == null || _res.Value <= 0 || _res.Value > 100) { _errorList.Add(string.Format("По предмету \"{0}\" выставлен некорректный балл.", _res.ExamSubject.Name)); return(false); } return(true); }
public EgeResultEditorViewModel(EgeResult result) { _result = result; }
/// <summary> /// Отправляет заявление в архив и создает на его основе новое с такми же данными, но с опущенными номером /// заявления, условиями приёма, внутренними вступительными испытаниями. /// Также выставляет текущую дату регистрации заявления. /// </summary> /// <param name="existingClaim">Существующее заявление, отправляемое в архив</param> void CopyAndArchiveClaim() { var existingClaim = SelectedClaim; // Копируем текущие данные в новое заявление var newClaim = new Claim { RegistrationDate = DateTime.Now, ClaimStatus = existingClaim.ClaimStatus, IsHostelNeed = existingClaim.IsHostelNeed, PersonalReturning = existingClaim.PersonalReturning }; newClaim.ClaimStatus = existingClaim.ClaimStatus; // Документы о результатах ЕГЭ foreach (var egeDoc in existingClaim.EgeDocuments) { var newEgeDoc = new EgeDocument { OriginalReceivedDate = egeDoc.OriginalReceivedDate, Number = egeDoc.Number, Date = egeDoc.Date, Year = egeDoc.Year }; // Сами результаты ЕГЭ foreach (var result in egeDoc.EgeResults) { var newResult = new EgeResult { ExamSubject = result.ExamSubject, Value = result.Value, IsChecked = result.IsChecked }; newEgeDoc.EgeResults.Add(newResult); } newClaim.EgeDocuments.Add(newEgeDoc); } // Индивидуальные достижения foreach (var individualAchievement in existingClaim.EntranceIndividualAchievements) { var newIndAch = new EntranceIndividualAchievement { CampaignIndividualAchievement = individualAchievement.CampaignIndividualAchievement }; newClaim.EntranceIndividualAchievements.Add(newIndAch); } // Документы об образовании // Аттестаты среднего образования foreach (var eduDoc in existingClaim.SchoolCertificateDocuments) { var newEduDoc = new SchoolCertificateDocument { OriginalReceivedDate = eduDoc.OriginalReceivedDate, Series = eduDoc.Series, Number = eduDoc.Number, Date = eduDoc.Date, SubdivisionCode = eduDoc.SubdivisionCode, EducationOrganization = eduDoc.EducationOrganization, FiveCount = eduDoc.FiveCount, FourCount = eduDoc.FourCount, ThreeCount = eduDoc.ThreeCount }; newClaim.SchoolCertificateDocuments.Add(newEduDoc); } // Дипломы СПО foreach (var eduDoc in existingClaim.MiddleEducationDiplomaDocuments) { var newEduDoc = new MiddleEducationDiplomaDocument { OriginalReceivedDate = eduDoc.OriginalReceivedDate, Series = eduDoc.Series, Number = eduDoc.Number, Date = eduDoc.Date, SubdivisionCode = eduDoc.SubdivisionCode, EducationOrganization = eduDoc.EducationOrganization, FiveCount = eduDoc.FiveCount, FourCount = eduDoc.FourCount, ThreeCount = eduDoc.ThreeCount }; newClaim.MiddleEducationDiplomaDocuments.Add(newEduDoc); } // Дипломы ВО foreach (var eduDoc in existingClaim.HighEducationDiplomaDocuments) { var newEduDoc = new HighEducationDiplomaDocument { OriginalReceivedDate = eduDoc.OriginalReceivedDate, Series = eduDoc.Series, Number = eduDoc.Number, Date = eduDoc.Date, SubdivisionCode = eduDoc.SubdivisionCode, EducationOrganization = eduDoc.EducationOrganization, FiveCount = eduDoc.FiveCount, FourCount = eduDoc.FourCount, ThreeCount = eduDoc.ThreeCount }; newClaim.HighEducationDiplomaDocuments.Add(newEduDoc); } // Документы // Документы, подтверждающие льготу foreach (var quotaDoc in existingClaim.OrphanDocuments) { var newQuotaDoc = new OrphanDocument { OriginalReceivedDate = quotaDoc.OriginalReceivedDate, OrphanDocumentType = quotaDoc.OrphanDocumentType, Series = quotaDoc.Series, Number = quotaDoc.Number, Date = quotaDoc.Date, Organization = quotaDoc.Organization }; newClaim.OrphanDocuments.Add(newQuotaDoc); } // Другие истребуемые документы var oldOtherRequiredDoc = existingClaim.OtherRequiredDocuments.First(); var newOtherRequiredDoc = new OtherRequiredDocument { Certificate = oldOtherRequiredDoc.Certificate, Photos = oldOtherRequiredDoc.Photos, MedicinePermission = oldOtherRequiredDoc.MedicinePermission, Fluorography = oldOtherRequiredDoc.Fluorography }; newClaim.OtherRequiredDocuments.Add(newOtherRequiredDoc); // Личные данные абитуриента var oldEntrant = existingClaim.Entrants.First(); var newEntrant = new Entrant { LastName = oldEntrant.LastName, FirstName = oldEntrant.FirstName, Patronymic = oldEntrant.Patronymic, Gender = oldEntrant.Gender, CustomInformation = oldEntrant.CustomInformation, Email = oldEntrant.Email, Address = oldEntrant.Address, Phone = oldEntrant.Phone, MobilePhone = oldEntrant.MobilePhone, FatherName = oldEntrant.FatherName, FatherPhone = oldEntrant.FatherPhone, FatherJob = oldEntrant.FatherJob, MotherName = oldEntrant.MotherName, MotherPhone = oldEntrant.MotherPhone, MotherJob = oldEntrant.MotherJob, JobPost = oldEntrant.JobPost, JobOrganization = oldEntrant.JobOrganization, JobStage = oldEntrant.JobStage, ForeignLanguage = oldEntrant.ForeignLanguage }; newClaim.Entrants.Add(newEntrant); // Документ, удостоверяющий личность foreach (var identityDoc in existingClaim.IdentityDocuments) { var newIdentityDoc = new IdentityDocument { OriginalReceivedDate = identityDoc.OriginalReceivedDate, Series = identityDoc.Series, Number = identityDoc.Number, Date = identityDoc.Date, SubdivisionCode = identityDoc.SubdivisionCode, Organization = identityDoc.Organization, Citizenship = identityDoc.Citizenship, IdentityDocumentType = identityDoc.IdentityDocumentType, BirthDate = identityDoc.BirthDate, BirthPlace = identityDoc.BirthPlace }; newClaim.IdentityDocuments.Add(newIdentityDoc); } Session.DataModel.Claims.Add(newClaim); // Открываем редактор нового заявления var vm = new ClaimEditorViewModel(newClaim); var validator = new ClaimValidator(newClaim); if (DialogLayer.ShowEditor(EditingContent.ClaimEditor, vm, validator)) { Session.DataModel.SaveChanges(); // Производим возврат текущего заявления SendClaimToArchive(); // Обновляем список заявлений Session.RefreshAll(); RaisePropertyChanged("ClaimList"); } }