public ClaimConditionEditorViewModel(ClaimCondition condition) { _condition = condition; EducationForm = _condition.CompetitiveGroup.EducationForm; FinanceSource = _condition.CompetitiveGroup.FinanceSource; Direction = _condition.CompetitiveGroup.Direction; }
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(); } } }