private bool EditTemplateCommandCanExecute(MailTemplateModel model) { return model != null; }
public MailTemplateViewModel(MailTemplateModel model) { var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>(); _adminDataUnit = dataUnitLocator.ResolveDataUnit<IAdminDataUnit>(); SaveCommand = new RelayCommand(SaveCommandExecuted, SaveCommandCanExecute); CancelCommand = new RelayCommand(CancelCommandExecuted); InsertFieldCommand = new RelayCommand(InsertFieldCommandExecuted); AddTemplateImageCommand = new RelayCommand(AddTemplateImageCommandExecuted); ProcessTemplate(model); }
private void EditTemplateCommandExecuted(MailTemplateModel model) { RaisePropertyChanged("DisableParentWindow"); var view = new MailTemplateView(model); view.ShowDialog(); RaisePropertyChanged("EnableParentWindow"); if (view.DialogResult != null && view.DialogResult == true) { RefreshTemplates(); } }
private void ProcessTemplate(MailTemplateModel model) { _isEdit = (model != null); Template = (_isEdit) ? model : GetTemplate(); Template.PropertyChanged += TemplateOnPropertyChanged; }
public async void LoadData() { IsBusy = true; var types = await _adminDataUnit.MailTemplateTypesRepository.GetAllAsync(); _mailTemplateTypes = new List<MailTemplateType>(types); var categories = await _adminDataUnit.MailTemplateCategoriesRepository.GetAllAsync(); MailTemplateCategories = new ObservableCollection<MailTemplateCategory>(categories); _adminDataUnit.EmailHeadersRepository.Refresh(); var headers = await _adminDataUnit.EmailHeadersRepository.GetAllAsync(); if (_template != null && _template.EmailHeader != null) EmailHeaders = new ObservableCollection<EmailHeader>(headers.Where(x => x.IsEnabled || x.ID == _template.EmailHeader.ID)); else EmailHeaders = new ObservableCollection<EmailHeader>(headers.Where(x => x.IsEnabled)); if (_isEdit) { var desiredTemplate = await _adminDataUnit.MailTemplatesRepository.GetUpdatedMailTemplate(_template.MailTemplate.ID); // Check if we have new changes if (desiredTemplate != null && _template.LoadedTime < desiredTemplate.LastUpdatedDate) { Template = new MailTemplateModel(desiredTemplate); } } IsBusy = false; }
public async void LoadData() { IsBusy = true; _eventDataUnit.MailTemplatesRepository.Refresh(); var templates = await _eventDataUnit.MailTemplatesRepository.GetAllAsync(); MainEmailTemplate = new MailTemplateModel(templates.Where(x => x.MailTemplateCategory.Name == "Events" && x.MailTemplateType.Name == "MainEmailTemplate").FirstOrDefault()); MailTemplates = new ObservableCollection<MailTemplateModel>( templates.Where(x => x.MailTemplateCategory.Name == "Events" && x.IsEnabled && x.MailTemplateType.Name != "MainEmailTemplate").OrderBy(x => x.Name).Select(x => new MailTemplateModel(x))); _eventDataUnit.EmailHeadersRepository.Refresh(); var headers = await _eventDataUnit.EmailHeadersRepository.GetAllAsync(); _allEmailHeaders = new List<EmailHeader>(headers); EmailHeaders = new ObservableCollection<EmailHeader>(_allEmailHeaders.Where(x => x.IsEnabled)); var types = await _eventDataUnit.CorresponcenceTypesRepository.GetAllAsync(); _corresponcenceTypes = new List<CorresponcenceType>(types); var appPath = (string)ApplicationSettings.Read("DocumentsPath"); if (!_event.Reports.Any()) { var reports = await _eventDataUnit.ReportsRepository.GetAllAsync(x => x.EventID == _event.Event.ID); _event.Reports = new ObservableCollection<ReportModel>(reports.OrderByDescending(x => x.Date).Select(x => new ReportModel(x))); _event.RefreshReports(); } List<ReportModel> latestReports = _event.GetLatestReports(); //foreach (var report in latestReports) //{ // if (!_event.Documents.Select(x => x.Path).Contains(report.Report.Path)) // { // var document = new Document() // { // ID = Guid.NewGuid(), // EventID = _event.Event.ID, // Path = report.Report.Path, // Name = Path.GetFileNameWithoutExtension(report.Report.Path), // IsEnabled = true, // IsCommon = false // }; // _event.Documents.Add(document); // } //} var commonDocumets = await _eventDataUnit.DocumentsRepository.GetAllAsync(x => x.IsEnabled && x.IsCommon); Documents = new ObservableCollection<Document>(commonDocumets.Where(x => File.Exists(string.Concat(appPath, x.Path)))); foreach (var report in latestReports) { var eventDocument = _event.Documents.Where(doc => doc.Path == report.Report.Path).FirstOrDefault(); if (eventDocument == null) { eventDocument = new Document() { ID = report.Report.ID, EventID = _event.Event.ID, Path = report.Report.Path, Name = Path.GetFileNameWithoutExtension(report.Report.Path), IsEnabled = true, IsCommon = false }; } Documents.Add(eventDocument); } OnLoadContacts(); IsBusy = false; }
public async void LoadData() { IsBusy = true; _membershipDataUnit.MailTemplatesRepository.Refresh(); var templates = await _membershipDataUnit.MailTemplatesRepository.GetAllAsync(x => x.MailTemplateCategory.Name == "Membership"); MailTemplates = new ObservableCollection<MailTemplateModel>(templates.Where(x => x.IsEnabled && x.MailTemplateType.Name != "MainEmailTemplate").OrderBy(x => x.Name).Select(x => new MailTemplateModel(x))); MainEmailTemplate = new MailTemplateModel(templates.Where(x => x.MailTemplateType.Name == "MainEmailTemplate").FirstOrDefault()); _membershipDataUnit.EmailHeadersRepository.Refresh(); var headers = await _membershipDataUnit.EmailHeadersRepository.GetAllAsync(); _allEmailHeaders = new List<EmailHeader>(headers); EmailHeaders = new ObservableCollection<EmailHeader>(_allEmailHeaders.Where(x => x.IsEnabled)); var types = await _membershipDataUnit.CorresponcenceTypesRepository.GetAllAsync(x => x.Type == "Member"); _corresponcenceType = types.FirstOrDefault(); IsBusy = false; }
public async void LoadData() { IsBusy = true; _crmDataUnit.MailTemplatesRepository.Refresh(); var templates = await _crmDataUnit.MailTemplatesRepository.GetAllAsync(); MainEmailTemplate = new MailTemplateModel(templates.Where(x => x.MailTemplateCategory.Name == "CRM" && x.MailTemplateType.Name == "MainEmailTemplate").FirstOrDefault()); MailTemplates = new ObservableCollection<MailTemplateModel>(templates.Where(x => x.MailTemplateCategory.Name == "CRM" && x.IsEnabled && x.MailTemplateType.Name != "MainEmailTemplate").OrderBy(x => x.Name).Select(x => new MailTemplateModel(x))); _crmDataUnit.EmailHeadersRepository.Refresh(); var headers = await _crmDataUnit.EmailHeadersRepository.GetAllAsync(); _allEmailHeaders = new List<EmailHeader>(headers); EmailHeaders = new ObservableCollection<EmailHeader>(_allEmailHeaders.Where(x => x.IsEnabled)); var types = await _crmDataUnit.CorresponcenceTypesRepository.GetAllAsync(); _corresponcenceTypes = new List<CorresponcenceType>(types); var appPath = (string)ApplicationSettings.Read("DocumentsPath"); var documets = await _crmDataUnit.DocumentsRepository.GetAllAsync(x => x.IsEnabled && x.IsCommon); Documents = new ObservableCollection<Document>(documets.Where(x => File.Exists(string.Concat(appPath, x.Path)))); OnLoadContacts(); IsBusy = false; }