public ClaimConditionEditorViewModel(ClaimCondition condition)
 {
     _condition    = condition;
     EducationForm = _condition.CompetitiveGroup.EducationForm;
     FinanceSource = _condition.CompetitiveGroup.FinanceSource;
     Direction     = _condition.CompetitiveGroup.Direction;
 }
Esempio n. 2
0
        void NewClaimCondition()
        {
            var newClaimCondition = new ClaimCondition();

            newClaimCondition.CompetitiveGroup = Session.DataModel.CompetitiveGroups.FirstOrDefault();
            newClaimCondition.Priority         = GetClaimConditionPriority();
            if (DialogLayer.ShowEditor(EditingContent.ClaimConditionEditor,
                                       new ClaimConditionEditorViewModel(newClaimCondition)))
            {
                _claim.ClaimConditions.Add(newClaimCondition);
                ClaimConditions.Add(newClaimCondition);
                SelectedClaimCondition = newClaimCondition;
                RaisePropertyChanged("ClaimConditions");
                GenerateRegistrationNumber();

                // ВНИМАНИЕ
                // Чтобы избежать ситуевины с дублированием номера в тех случаях, когда два пользователя одновременно добавляют
                // абитуриентов в одному регистрационную группу, сохраняем данные в рамках контекста. Это, конечно же, хуево и
                // много чего непонятного может из этого говна всплыть, поэтому захерачим это дело только на первый приоритет.

                if (_claim.ClaimConditions.Count == 1)
                {
                    Session.DataModel.SaveChanges();
                }
            }
        }