public InnerEntranceExaminationProtocolEditorViewModel(EntranceExaminationsCheckProtocol protocol) { _protocol = protocol; // Если протокол новый, то генерируем ему номер и дату if (_protocol.Number == null) { // Получаем протоколы по активным кампаниям var protocolCollection = Session.DataModel.EntranceExaminationsCheckProtocols.Where(p => p.Number != null).ToList(); // Выбираем максимальный номер int maxNumber = 0; if (protocolCollection.Count > 0) { maxNumber = (from prot in protocolCollection select int.Parse(prot.Number.WithoutLetters())).Max(); } // Генерируем на его основе новый _protocol.Number = string.Format("{0}-СЭ", maxNumber + 1); } if (_protocol.Date == null) { _protocol.Date = DateTime.Now.Date; } }
void ApplyProtocolIntoEgeResults(EgeResultCheckProtocolEditorViewModel vm, EntranceExaminationsCheckProtocol protocol) { var exams = vm.GetExaminations(); foreach (var item in exams) { item.EntranceExaminationsCheckProtocol = protocol; } }
void Add() { var protocol = new EntranceExaminationsCheckProtocol(); var entityTypeCollection = new ObservableCollection <EntityType> { new EntityType(SelectableEntity.EgeProtocol), new EntityType(SelectableEntity.InnerExaminationProtocol) }; switch (DialogLayer.ShowEntityTypeSelector(entityTypeCollection)) { case SelectableEntity.EgeProtocol: { var vm = new EgeResultCheckProtocolEditorViewModel(protocol); if (DialogLayer.ShowEditor(EditingContent.EgeResultCheckProtocolEditor, vm)) { Session.DataModel.EntranceExaminationsCheckProtocols.Add(protocol); ApplyProtocolIntoEgeResults(vm, protocol); Session.DataModel.SaveChanges(); RaisePropertyChanged("Protocols"); LogService.WriteLog(string.Format("Добавлен протокол проверки ЕГЭ: №{0} от {1} ({2})", protocol.Number, ((DateTime)protocol.Date).ToString("dd.MM.yyyy г."), protocol.Examination)); } break; } case SelectableEntity.InnerExaminationProtocol: { var vm = new InnerEntranceExaminationProtocolEditorViewModel(protocol); if (DialogLayer.ShowEditor(EditingContent.InnerEntranceExaminationProtocolEditor, vm)) { Session.DataModel.EntranceExaminationsCheckProtocols.Add(protocol); ApplyProtocolIntoInnerResults(vm, protocol); Session.DataModel.SaveChanges(); RaisePropertyChanged("Protocols"); LogService.WriteLog(string.Format("Добавлен протокол проверки ВИ: №{0} от {1} ({2})", protocol.Number, ((DateTime)protocol.Date).ToString("dd.MM.yyyy г."), protocol.Examination)); } break; } default: break; } }
public InnerExaminationCheckProtocol(EntranceExaminationsCheckProtocol protocol) { _protocol = protocol; }