示例#1
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();
                }
            }
        }
示例#2
0
 void RemoveClaimCondition()
 {
     if (Messenger.RemoveQuestion())
     {
         _claim.ClaimConditions.Remove(_selectedClaimCondition);
         ClaimConditions.Remove(_selectedClaimCondition);
         RaisePropertyChanged("ClaimConditions");
     }
 }