public AddActivityView(List<EnquiryModel> enquiries, ActivityModel activity) { InitializeComponent(); DataContext = ViewModel = new AddActivityViewModel(enquiries, activity); Owner = Application.Current.MainWindow; Loaded += OnAddActivityViewLoaded; }
public AddActivityView(EnquiryModel enquiryModel, ActivityModel activity = null) { InitializeComponent(); DataContext = ViewModel = new AddActivityViewModel(enquiryModel, activity); ViewModel.PropertyChanged += ViewModelOnPropertyChanged; Owner = Application.Current.MainWindow; Loaded += OnAddActivityViewLoaded; }
private void EditActivityCommandExecuted(ActivityModel item) { RaisePropertyChanged("DisableParentWindow"); _originalActivity = item.Clone(); var window = new AddActivityView(Enquiry, item); window.ShowDialog(); if (window.DialogResult != null && !window.DialogResult.Value) { item.ActivityType.ID = _originalActivity.ActivityType.ID; item.Details = _originalActivity.Details; item.Direction = _originalActivity.Direction; item.Length = _originalActivity.Length; item.Date = _originalActivity.Date; //item.FollowUp = _originalActivity.FollowUp; item.Refresh(); } else { Enquiry.Activities = new ObservableCollection<ActivityModel>(Enquiry.Activities.OrderByDescending(x => x.Date)); } RaisePropertyChanged("EnableParentWindow"); }
private void DeleteActivityCommandExecuted(ActivityModel item) { Enquiry.Activities.Remove(item); _crmDataUnit.ActivitiesRepository.Delete(item.Activity); }
private ActivityModel GetActivityWithoutEnquiry() { var activityModel = new ActivityModel(new Data.Model.Activity() { ID = Guid.NewGuid(), Date = DateTime.Now, }); return activityModel; }
public async void LoadData() { IsBusy = true; var types = await _crmDataUnit.ActivityTypesRepository.GetAllAsync(); ActivityTypes = new ObservableCollection<ActivityType>(types.OrderBy(x => x.Name)); OnLoadCurrentUser(); if (_isEditMode) { var desiredActivity = await _crmDataUnit.ActivitiesRepository.GetUpdatedActivity(_activity.Activity.ID); // Check if we have new changes if (desiredActivity != null && desiredActivity.LastEditDate != null && _activity.LoadedTime < desiredActivity.LastEditDate) { bool hadActivityFollowUp = Activity.HasFollowUp; Activity = new ActivityModel(desiredActivity); if (hadActivityFollowUp && desiredActivity.FollowUp == null) { Activity.FollowUp = null; } else if (desiredActivity.FollowUp != null) { Activity.FollowUp = new FollowUpModel(desiredActivity.FollowUp); } RaisePropertyChanged(() => HasActivityFollowUp); Assignee = desiredActivity.User; ActivityType = desiredActivity.ActivityType; } } IsBusy = false; }
private ActivityModel GetActivity() { var activityModel = new ActivityModel(new Data.Model.Activity() { ID = Guid.NewGuid(), EnquiryID = _enquiry.Enquiry.ID, Date = DateTime.Now, }); return activityModel; }
private void ProcessActivity(ActivityModel activityModel) { _isEditMode = (activityModel != null); Activity = (_isEditMode) ? activityModel : GetActivity(); if (_isEditMode) { _originalActivity = Activity.Clone(); } Activity.PropertyChanged += ActivityOnPropertyChanged; if (_isEditMode) { Assignee = activityModel.Assignee; ActivityType = activityModel.ActivityType; } }
public AddActivityViewModel(IEnumerable<EnquiryModel> enquiries, ActivityModel activityModel) { Enquiries = new ObservableCollection<EnquiryModel>(enquiries.OrderBy(x => x.EventType.Name).ThenByDescending(x => x.CreationDate)); var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>(); _crmDataUnit = dataUnitLocator.ResolveDataUnit<ICrmDataUnit>(); CanEditEveryoneActivities = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_EVERYONE_FOLLOWUP_ALLOWED); CanEditOwnActivities = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_OWN_FOLLOWUP_ALLOWED); IsFromCRM = true; CanDeleteFollowUp = AccessService.Current.UserHasPermissions(Resources.PERMISSION_DELETE_FOLLOWUP_ALLOWED); CanEditEveryoneFollowUps = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_EVERYONE_FOLLOWUP_ALLOWED); CanEditOwnFollowUps = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_OWN_FOLLOWUP_ALLOWED); SubmitCommand = new RelayCommand(SubmitCommandExecuted, SubmitCommandCanExecute); CancelCommand = new RelayCommand(CancelCommandExecuted); AddFollowUpCommand = new RelayCommand(AddFollowUpCommandExecuted, AddFollowUpCommandCanExecute); EditFollowUpCommand = new RelayCommand<FollowUpModel>(EditFollowUpCommandExecuted); DeleteFollowUpCommand = new RelayCommand<FollowUpModel>(DeleteFollowUpCommandExecuted); OpenEnquiryCommand = new RelayCommand(OpenEnquiryCommandExecute, OpenEnquiryCommandCanExecute); if (activityModel != null) { ProcessActivity(activityModel); SelectedEnquiry = Enquiries.FirstOrDefault(x => x.Enquiry == activityModel.Activity.Enquiry); } else { Activity = GetActivityWithoutEnquiry(); Activity.PropertyChanged += ActivityOnPropertyChanged; } }
public AddActivityViewModel(EnquiryModel enquiryModel, ActivityModel activityModel) { _enquiry = enquiryModel; var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>(); _crmDataUnit = dataUnitLocator.ResolveDataUnit<ICrmDataUnit>(); IsFromCRM = false; CanDeleteFollowUp = AccessService.Current.UserHasPermissions(Resources.PERMISSION_DELETE_FOLLOWUP_ALLOWED); CanEditEveryoneFollowUps = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_EVERYONE_FOLLOWUP_ALLOWED); CanEditOwnFollowUps = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_OWN_FOLLOWUP_ALLOWED); SubmitCommand = new RelayCommand(SubmitCommandExecuted, SubmitCommandCanExecute); CancelCommand = new RelayCommand(CancelCommandExecuted); AddFollowUpCommand = new RelayCommand(AddFollowUpCommandExecuted, AddFollowUpCommandCanExecute); EditFollowUpCommand = new RelayCommand<FollowUpModel>(EditFollowUpCommandExecuted); DeleteFollowUpCommand = new RelayCommand<FollowUpModel>(DeleteFollowUpCommandExecuted); ProcessActivity(activityModel); }
private void EditActivityCommandExecute(ActivityModel item) { RaisePropertyChanged("DisableParentWindow"); var window = new AddActivityView(_allEnquiries, item); window.ShowDialog(); RaisePropertyChanged("EnableParentWindow"); item.Refresh(); if (window.DialogResult == null || window.DialogResult != true) return; ReloadEnquiries(); }