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