public void PreviewMessage(dtoTemplateTranslation content) { long idVersion = View.IdVersion; View.HideUserMessage(); if (UserContext.isAnonymous) { Logout(View.CurrentType, View.IdTemplate, idVersion); } else { TemplateDefinitionVersion v = Service.GetVersion(idVersion); if (v != null && v.Template != null) { Int32 idCommunity = View.IdTemplateCommunity; if (View.Ownership.IdObjectCommunity > 0) { idCommunity = View.Ownership.IdObjectCommunity; } List <ChannelSettings> channels = (v.ChannelSettings == null) ? new List <ChannelSettings>() : v.ChannelSettings.Where(s => s.Deleted == BaseStatusDeleted.None).ToList(); Boolean sendMail = (channels != null && channels.Where(n => n.Channel == lm.Comol.Core.Notification.Domain.NotificationChannel.Mail).Any()) && v.Template.OwnerInfo.Type == OwnerType.Object; View.DisplayMessagePreview(sendMail, content.LanguageCode, content.Translation, View.ContentModules, channels, idCommunity, (v.Template.OwnerInfo.Type == OwnerType.Object) ? v.Template.OwnerInfo.ModuleObject : null); } } }
public void PreviewMessage(dtoTemplateTranslation content) { long idVersion = View.IdSelectedVersion; if (UserContext.isAnonymous) { View.CurrentMode = Domain.EditMessageMode.None; } else { Int32 idCommunity = View.ContainerIdCommunity; TemplateDefinitionVersion v = Service.GetVersion(idVersion); if (v != null && v.Template != null) { List <ChannelSettings> channels = (v.ChannelSettings == null) ? new List <ChannelSettings>() : v.ChannelSettings.Where(s => s.Deleted == BaseStatusDeleted.None).ToList(); Boolean sendMail = (channels != null && channels.Where(n => n.Channel == NotificationChannel.Mail).Any()) && v.Template.OwnerInfo.Type == OwnerType.Object; if (sendMail) { View.DisplayMessagePreview(sendMail, content.LanguageCode, content.Translation, View.ContentModules, channels, idCommunity, View.CurrentObject); } else { View.DisplayMessagePreview(true, content.LanguageCode, content.Translation, View.ContentModules, View.CurrentSettings, idCommunity, View.CurrentObject); } } else { View.DisplayMessagePreview(true, content.LanguageCode, content.Translation, View.ContentModules, View.CurrentSettings, idCommunity, View.CurrentObject); } } }
public void InitView(dtoTemplateTranslation content) { if (!UserContext.isAnonymous) { View.IsInitialized = true; View.IsHtml = content.Translation.IsHtml; View.Content = content; } else { View.DisplaySessionTimeout(); } }
private void LoadDefaultTranslation(TemplateDefinitionVersion version) { dtoTemplateTranslation current = new dtoTemplateTranslation() { Id = 0, IdLanguage = 0, LanguageCode = "multi", IdVersion = version.Id, Translation = version.DefaultTranslation }; List <lm.Comol.Core.DomainModel.Languages.LanguageItem> items = Service.GetInUseLanguageItems(version); View.AllowDelete = false; View.ContentModules = Service.GetVersionModuleContentCodes(version.Id); View.AllowPreview = (!String.IsNullOrEmpty(current.Translation.Subject) || !String.IsNullOrEmpty(current.Translation.ShortText) || !String.IsNullOrEmpty(current.Translation.Body)); View.LoadTranslation(current, version.HasShortText, version.OnlyShortText, Service.GetAvalableLanguage(version), items, items.Where(i => i.IsMultiLanguage).FirstOrDefault()); }
public void SaveTranslation(dtoTemplateTranslation translation) { View.HideUserMessage(); if (UserContext.isAnonymous) { Logout(View.CurrentType, View.IdTemplate, View.IdVersion); } else { if (translation != null && translation.LanguageCode == "multi") { if (Service.SaveDefaultTranslation(View.IdVersion, translation)) { View.AllowPreview = (!String.IsNullOrEmpty(translation.Translation.Subject) || !String.IsNullOrEmpty(translation.Translation.ShortText) || !String.IsNullOrEmpty(translation.Translation.Body)); View.UpdateTranslationSelector(Service.GetAvalableLanguages(), Service.GetInUseLanguageItems(View.IdVersion), View.CurrentTranslation); View.LoadWizardSteps(View.IdTemplateCommunity, Service.GetAvailableSteps(View.IdVersion, WizardTemplateStep.Translations, View.Ownership.Type)); View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.TranslationSaved); View.DisplayTemplateTranslationSaved(0); } else { View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.ErrorSavingTranslation); View.DisplayTemplateTranslationErrorSaving(); } } else { TemplateTranslation t = Service.SaveTranslation(View.IdVersion, translation); if (t != null) { View.UpdateTranslationSelector(Service.GetAvalableLanguages(), Service.GetInUseLanguageItems(View.IdVersion), View.CurrentTranslation); View.LoadWizardSteps(View.IdTemplateCommunity, Service.GetAvailableSteps(View.IdVersion, WizardTemplateStep.Translations, View.Ownership.Type)); View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.TranslationSaved); View.DisplayTemplateTranslationSaved(t.Id); } else { View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.ErrorSavingTranslation); View.DisplayTemplateTranslationErrorSaving(); } } } }
public void LoadTranslation(LanguageItem current, Boolean forAdd = false) { View.HideUserMessage(); if (UserContext.isAnonymous) { Logout(View.CurrentType, View.IdTemplate, View.IdVersion); } else { TemplateDefinitionVersion version = Service.GetVersion(View.IdVersion); if (version == null || (version.Deleted != BaseStatusDeleted.None && !View.PreloadPreview) || (version.Template == null)) { View.DisplayUnknownTemplate(); List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoTemplateStep> > steps = Service.GetAvailableSteps(View.IdVersion, WizardTemplateStep.Translations, View.Ownership.Type); steps.ForEach(s => s.Status = Wizard.WizardItemStatus.disabled); View.LoadWizardSteps(View.IdTemplateCommunity, steps); View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.UnknownTemplateVersion); } else { dtoTemplateTranslation t = Service.GetTranslation(View.IdVersion, current.Id, current.Code); if (t.Id != current.Id) { t.IdLanguage = current.Id; t.LanguageCode = current.Code; } if (forAdd && t != null) { TemplateTranslation sTranslation = Service.SaveTranslation(View.IdVersion, t); if (sTranslation != null) { View.UpdateTranslationSelector(Service.GetAvalableLanguages(), Service.GetInUseLanguageItems(View.IdVersion), View.CurrentTranslation); View.LoadWizardSteps(View.IdTemplateCommunity, Service.GetAvailableSteps(View.IdVersion, WizardTemplateStep.Translations, View.Ownership.Type)); View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.TranslationSaved); } } View.AllowDelete = !current.IsMultiLanguage && (View.InputReadOnly && (View.AllowSave)); View.AllowPreview = t != null && (!String.IsNullOrEmpty(t.Translation.Subject) || !String.IsNullOrEmpty(t.Translation.ShortText) || !String.IsNullOrEmpty(t.Translation.Body)); View.LoadTranslation(t, version.HasShortText, version.OnlyShortText, current); } } }
public void LoadTranslation(LanguageItem language, dtoTemplateTranslation current, Boolean forAdd) { if (UserContext.isAnonymous) { View.CurrentMode = Domain.EditMessageMode.None; } else { List <dtoTemplateTranslation> translations = View.CurrentTranslations; if (translations.Any() && translations.Where(t => t.IdLanguage == current.IdLanguage).Any()) { dtoTemplateTranslation fItem = translations.Where(t => t.IdLanguage == current.IdLanguage).FirstOrDefault(); fItem.Translation = current.Translation; } else { translations.Add(current); } dtoTemplateTranslation content = translations.Where(t => t.IdLanguage == language.Id).FirstOrDefault(); if (content == null) { content = new dtoTemplateTranslation { IdLanguage = language.Id, LanguageCode = language.Code, LanguageName = language.Name }; if (translations.Where(t => t.LanguageCode == "multi").Any()) { content.Translation = translations.Where(t => t.LanguageCode == "multi").FirstOrDefault().Translation.Copy(); } else { content.Translation = current.Translation.Copy(); } translations.Add(content); } View.CurrentTranslations = translations; //if (forAdd) // View.UpdateTranslation(language, content); //else View.UpdateTranslationSelector(Service.GetAvalableLanguages(), GetInUseLanguageItems(language, translations, content), language, content); } }
public void SelectRecipients(LanguageItem language, dtoTemplateTranslation current) { if (UserContext.isAnonymous) { View.CurrentMode = Domain.EditMessageMode.None; } else { List <dtoTemplateTranslation> translations = View.CurrentTranslations; if (translations.Where(t => t.IdLanguage == language.Id && t.LanguageCode == language.Code).Any()) { translations.Where(t => t.IdLanguage == language.Id && t.LanguageCode == language.Code).FirstOrDefault().Translation = current.Translation; } else { translations.Add(current); } View.CurrentTranslations = translations; if (translations == null || !translations.Any() || !translations.Where(t => t.IsValid).Any()) { View.DisplayEmptyMessage(); } else { View.CurrentMode = Domain.EditMessageMode.SelectUsers; List <String> languages = translations.Where(t => !t.IsValid).Select(t => t.LanguageName).ToList(); if (languages.Any()) { View.DisplayEmptyTranslations(languages); } List <BaseLanguageItem> items = translations.Where(t => t.IsValid).Select(t => new BaseLanguageItem() { Code = t.LanguageCode, Name = t.LanguageName, ToolTip = t.LanguageName, Id = t.IdLanguage, IsMultiLanguage = (t.Id == 0 && t.LanguageCode == "multi") }).OrderByDescending(t => t.IsMultiLanguage).ThenBy(t => t.Name).ToList(); if (View.MantainRecipients) { if ((View.SelectionMode & UserSelection.FromInputText) > 0 && items.Count > 0) { View.LoadAvailableAddresses(items, View.GetTextualRecipients()); } if ((View.SelectionMode & UserSelection.FromModule) > 0 && items.Count > 0) { View.DisplayModuleSelector(); } } else { View.MantainRecipients = true; if ((View.SelectionMode & UserSelection.FromInputText) > 0 && items.Count > 0) { View.LoadAvailableAddresses(items); } if ((View.SelectionMode & UserSelection.FromModule) > 0 && items.Count > 0) { InitializeModuleSelector(translations); } } } } }
public List <lm.Comol.Core.DomainModel.Languages.LanguageItem> GetInUseLanguageItems(LanguageItem language, List <dtoTemplateTranslation> translations, dtoTemplateTranslation content) { List <lm.Comol.Core.DomainModel.Languages.LanguageItem> items = new List <lm.Comol.Core.DomainModel.Languages.LanguageItem>(); try { List <Language> languages = CurrentManager.GetAllLanguages().ToList(); items = translations.Select(t => new lm.Comol.Core.DomainModel.Languages.LanguageItem() { Id = t.IdLanguage, Code = t.LanguageCode, IsDefault = languages.Where(l => l.isDefault && l.Id == t.IdLanguage).Any(), IsEnabled = true, IsMultiLanguage = (t.LanguageCode == "multi"), Name = (String.IsNullOrEmpty(t.LanguageName) && languages.Where(l => l.Id == t.IdLanguage).Any()) ? languages.Where(l => l.Id == t.IdLanguage).Select(l => l.Name).FirstOrDefault() : t.LanguageName, ToolTip = (String.IsNullOrEmpty(t.LanguageName) && languages.Where(l => l.Id == t.IdLanguage).Any()) ? languages.Where(l => l.Id == t.IdLanguage).Select(l => l.Name).FirstOrDefault() : t.LanguageName, Status = (t.IsValid || (content.IdLanguage == t.IdLanguage && content.IsValid)) ? lm.Comol.Core.DomainModel.Languages.ItemStatus.valid : ((content.IsEmpty) ? lm.Comol.Core.DomainModel.Languages.ItemStatus.wrong :lm.Comol.Core.DomainModel.Languages.ItemStatus.warning) }).ToList(); } catch (Exception ex) { } return(items); }