Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        void ApplyProtocolIntoEgeResults(EgeResultCheckProtocolEditorViewModel vm,
                                         EntranceExaminationsCheckProtocol protocol)
        {
            var exams = vm.GetExaminations();

            foreach (var item in exams)
            {
                item.EntranceExaminationsCheckProtocol = protocol;
            }
        }
Beispiel #3
0
        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;
 }