public ProtocolViolationViewModel(IRepository repository, ProtocolViolationModel violation) : base(repository) { if (violation == null) { throw new ArgumentNullException("violation"); } _violation = violation; base.DisplayName = (IsNewRecord)?Strings.ProtocolViolationVM_Register:Strings.ProtocolViolationVM_Edit; SaveCmd = new RelayCommand(Save, param => WasValidOnLastNotify && _isRecordAltered); }
public bool OkToProceed() { if (_isRecordAltered) { string title; string msg; MessageBoxButton buttonOptions; if (IsValid()) { title = Strings.ParticipantUpdateVM_Confirm_SaveChanges_Title; msg = Strings.ParticipantUpdateVM_Confirm_SaveChanges; buttonOptions = MessageBoxButton.YesNoCancel; } else { title = Strings.ParticipantUpdateVM_Confirm_Close_Title; msg = Strings.ParticipantUpdateVM_Confirm_Close; buttonOptions = MessageBoxButton.OKCancel; } MessageBoxResult result = MessageBox.Show( msg, title, buttonOptions, MessageBoxImage.Question); switch (result) { case MessageBoxResult.Yes: Save(null); break; case MessageBoxResult.Cancel: return(false); case MessageBoxResult.No: if (!IsNewRecord) { _violation = Mapper.Map <ProtocolViolationModel>(_repository.FindViolation(_violation.Id)); NotifyPropertyChanged("Details", "AbbrevDetails", "MajorViolation", "SeverityDescription"); } break; default: //OK in Proceed break; } } // Yes, OK or No return(true); }
void ShowProtocolViolation(object param) { var viol = new ProtocolViolationModel { Participant = SelectedParticipant.ParticipantModel }; var violVM = new ProtocolViolationViewModel(_repository, viol); var violView = new ProtocolViolationView(violVM); EventHandler violCloseHandler = null; violCloseHandler = delegate { violView.Close(); violVM.RequestClose -= violCloseHandler; }; violVM.RequestClose += violCloseHandler; violView.ShowDialog(); }