Example #1
0
 private bool EditTemplateCommandCanExecute(MailTemplateModel model)
 {
     return model != null;
 }
Example #2
0
        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);
        }
Example #3
0
        private void EditTemplateCommandExecuted(MailTemplateModel model)
        {
            RaisePropertyChanged("DisableParentWindow");

            var view = new MailTemplateView(model);
            view.ShowDialog();

            RaisePropertyChanged("EnableParentWindow");

            if (view.DialogResult != null && view.DialogResult == true)
            {
                RefreshTemplates();
            }
        }
Example #4
0
        private void ProcessTemplate(MailTemplateModel model)
        {
            _isEdit = (model != null);

            Template = (_isEdit) ? model : GetTemplate();
            Template.PropertyChanged += TemplateOnPropertyChanged;
        }
Example #5
0
        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;
        }
Example #6
0
        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;
        }
Example #7
0
        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;
        }