private void InitializeView(dtoTemplateMessageContext context)
        {
            MailMessage message = Service.GetMessage(context.IdMessageTemplate);

            if (message == null)
            {
                View.DisplayNoTemplateFound();
            }
            else
            {
                Boolean isAdministrative = Service.IsAdministrativeUser(UserContext.CurrentUserID);
                Boolean senderEdit       = isAdministrative;
                View.DisplayMessageInfo(message.CreatedBy, message.CreatedOn);
                View.InitializeMailSettings(message.MailSettings, senderEdit, isAdministrative, isAdministrative);


                List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = new List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation>();
                if (message.Template != null)
                {
                    Boolean onlyShortText = false;
                    Boolean hasShortText  = false;
                    if (message.Template.IsTemplateCompliant)
                    {
                        lm.Comol.Core.TemplateMessages.Domain.TemplateDefinitionVersion version = null;
                        if (message.Template.IdVersion > 0)
                        {
                            version = TemplatesService.GetVersion(message.Template.IdVersion);
                        }
                        if (version == null)
                        {
                            version = TemplatesService.GetLastActiveVersion(message.Template.IdTemplate);
                        }
                        if (version != null)
                        {
                            translations = (from t in version.Translations
                                            where t.Deleted == BaseStatusDeleted.None
                                            select new lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation()
                            {
                                Id = t.Id,
                                IdLanguage = t.IdLanguage,
                                LanguageCode = t.LanguageCode,
                                LanguageName = t.LanguageName,
                                Translation = t.Translation
                            }).ToList();
                            if (!translations.Where(t => t.LanguageCode == "multi" && t.IdLanguage == 0).Any())
                            {
                                translations.Add(new lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation()
                                {
                                    Id           = 0,
                                    IdLanguage   = 0,
                                    LanguageCode = "multi",
                                    Translation  = version.DefaultTranslation
                                });
                            }
                            View.ContentModules = version.GetModuleContentCodes();
                            onlyShortText       = version.OnlyShortText;
                            hasShortText        = version.HasShortText;
                        }
                    }
                    else
                    {
                        translations = (from t in message.Template.Translations
                                        where t.Deleted == BaseStatusDeleted.None
                                        select new lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation()
                        {
                            Id = t.Id,
                            IdLanguage = t.IdLanguage,
                            LanguageCode = t.LanguageCode,
                            LanguageName = t.LanguageName,
                            Translation = t.Translation
                        }).ToList();
                        View.ContentModules = new List <String>()
                        {
                            context.ModuleCode
                        };
                    }
                    List <Language> languages = CurrentManager.GetAllLanguages().ToList();
                    List <lm.Comol.Core.DomainModel.Languages.LanguageItem> inUseLanguages = translations.Select(t => new lm.Comol.Core.DomainModel.Languages.LanguageItem()
                    {
                        Id = t.IdLanguage, Code = t.LanguageCode, Name = t.LanguageName, IsMultiLanguage = (t.LanguageCode == "multi" && t.IdLanguage == 0), Status = (t.IsEmpty) ? DomainModel.Languages.ItemStatus.wrong : (t.Translation.IsValid(!onlyShortText, hasShortText, true)) ? DomainModel.Languages.ItemStatus.valid : DomainModel.Languages.ItemStatus.warning
                    }).ToList();

                    inUseLanguages.Where(l => languages.Where(ll => ll.isDefault && l.Id == ll.Id).Any()).ToList().ForEach(l => l.IsDefault = true);
                    inUseLanguages.Where(l => l.Id > 0).ToList().ForEach(l => l.Name = languages.Where(ll => ll.Id == l.Id).Select(ll => ll.Name).FirstOrDefault());

                    inUseLanguages = inUseLanguages.OrderByDescending(l => l.IsMultiLanguage).ThenBy(l => l.Name).ToList();
                    lm.Comol.Core.DomainModel.Languages.LanguageItem current = inUseLanguages.Where(l => l.Id == UserContext.Language.Id).FirstOrDefault();
                    if (current == null && languages.Any())
                    {
                        current = inUseLanguages.Where(l => l.IsDefault).FirstOrDefault();
                        if (current == null)
                        {
                            current = inUseLanguages.Where(l => l.IsMultiLanguage).FirstOrDefault();
                        }
                    }
                    if (current == null && inUseLanguages.Any())
                    {
                        current = inUseLanguages[0];
                    }
                    View.InitializeControls(translations, inUseLanguages, current);
                    String tagTranslation = View.TagTranslation;
                    if (translations.Any() && !String.IsNullOrEmpty(tagTranslation))
                    {
                        List <lm.Comol.Core.DomainModel.Helpers.TemplatePlaceHolder> placeHolders = View.GetContentPlaceHolders(View.ContentModules);
                        foreach (lm.Comol.Core.DomainModel.Helpers.TemplatePlaceHolder pHolder in placeHolders.Where(t => translations.Where(ct => !ct.Translation.IsContentEmpty() && ((!String.IsNullOrEmpty(ct.Translation.Body) && ct.Translation.Body.Contains(t.Tag)) || (!String.IsNullOrEmpty(ct.Translation.Subject) && ct.Translation.Subject.Contains(t.Tag)))).Any()))
                        {
                            translations.Where(ct => !ct.Translation.IsContentEmpty() && !String.IsNullOrEmpty(ct.Translation.Body) && ct.Translation.Body.Contains(pHolder.Tag)).ToList().ForEach(t => t.Translation.Body          = t.Translation.Body.Replace(pHolder.Tag, String.Format(tagTranslation, pHolder.Tag, pHolder.Name)));
                            translations.Where(ct => !ct.Translation.IsContentEmpty() && !String.IsNullOrEmpty(ct.Translation.Subject) && ct.Translation.Subject.Contains(pHolder.Tag)).ToList().ForEach(t => t.Translation.Subject = t.Translation.Subject.Replace(pHolder.Tag, String.Format(tagTranslation, pHolder.Tag, pHolder.Name)));
                        }
                    }
                    View.LoadMessage((current != null) ? translations.Where(t => t.IdLanguage == current.Id && t.LanguageCode == current.Code).FirstOrDefault() : (translations.Any() ? translations[0] : null));
                }


                //List<lm.Comol.Core.DomainModel.Languages.BaseLanguageItem> availableItems = Service.GetAvalableLanguage(version);
                //List<lm.Comol.Core.DomainModel.Languages.LanguageItem> items = Service.GetInUseLanguageItems(version);

                //if (version != null)
                //{
                //    View.IdSelectedVersion = version.Id;
                //    View.ContentModules = Service.GetVersionModuleContentCodes(version.Id);

                //    translations.Add(new dtoTemplateTranslation() { IdLanguage = 0, LanguageCode = "multi", Translation = version.DefaultTranslation.Copy() });
                //    translations.AddRange(version.Translations.Where(t => t.Deleted == BaseStatusDeleted.None).Select(t => new dtoTemplateTranslation() { IdLanguage = t.IdLanguage, LanguageCode = t.LanguageCode, Translation = t.Translation.Copy() }).ToList());
                //    if (version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == NotificationChannel.Mail).Any())
                //        settings = version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == NotificationChannel.Mail).FirstOrDefault().MailSettings;

                //    senderEdit = senderEdit && version.Template.Type == TemplateType.System;
                //    View.LoadEditor(translations, "multi", version.HasShortText, version.OnlyShortText, availableItems, items, items.Where(i => i.IsMultiLanguage).FirstOrDefault());
                //}
                //else
                //{
                //    View.ContentModules = new List<String>() { currentCode };
                //    translations.Add(new dtoTemplateTranslation() { IdLanguage = 0, LanguageCode = "multi", Translation = new ItemObjectTranslation() { IsHtml = (settings == null) ? true : settings.isHtml, Body = "", Name = "" } });
                //    View.LoadEditor(translations, "multi", false, false, availableItems, items, items.Where(i => i.IsMultiLanguage).FirstOrDefault());
                //}
            }
        }
Пример #2
0
        /// <summary>
        /// Al primo caricamento della pagina!
        /// </summary>
        public void InitView()
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            if (!(Module.ManageCategory || Module.Administration))
            {
                View.SendUserActions(service.ModuleID,
                                     ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None);

                View.ShowNoPermission();
                return;
            }

            Domain.Category Category = new Domain.Category();

            //View.CommunityCategories = service.CategoriesGetCommunity(true);

            if (View.CurrentCategoryId > 0)
            {
                //Categoria
                Domain.Category Cat = service.CategoryGetDetached(View.CurrentCategoryId, Domain.Enums.RolesLoad.all, false);
                if (Cat == null || Cat.Id <= 0 || Cat.IdCommunity != CurrentCommunityId)
                {
                    View.ShowWrongCategory();
                    return;
                }

                Domain.DTO.DTO_CategoryTypeComPermission Permission = service.CategoryTypeGetPermission(this.CurrentCommunityId);


                View.InitCategories(Permission, Cat.Type, Cat.IsDefault);
                View.Category = Cat;

                //Traduzioni
                List <lm.Comol.Core.DomainModel.Languages.LanguageItem> langs = new List <lm.Comol.Core.DomainModel.Languages.LanguageItem>();
                //List<Domain.DTO.DTO_CategoryTranslation> translations = new List<Domain.DTO.DTO_CategoryTranslation>();
                langs = (from t in Cat.Translations
                         where t.Deleted == BaseStatusDeleted.None
                         select new lm.Comol.Core.DomainModel.Languages.LanguageItem
                {
                    IsMultiLanguage = (t.LanguageId == TicketService.LangMultiID) ? true : false,
                    Id = t.LanguageId,
                    Code = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageCode.ToUpper() : t.LanguageCode,
                    Name = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageName.ToUpper() : t.LanguageName,
                    Status = DomainModel.Languages.ItemStatus.valid
                }).Distinct().ToList();
                //.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).ToList();

                //.OrderBy(li => li.Code).ToList();
                //langs = langs.OrderBy(li => li.IsMultiLanguage).ToList();
                //.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).Distinct().ToList();


                ////TEST!!!
                //String TEST = "";
                //foreach (lm.Comol.Core.DomainModel.Languages.LanguageItem _lng in langs)
                //{
                //    TEST += _lng.Code + " - " + _lng.Name + " - " + _lng.IsMultiLanguage + "/r/n";
                //}

                //langs = langs.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).ToList();

                //TEST += "/r/n -------  /r/n";

                //foreach(lm.Comol.Core.DomainModel.Languages.LanguageItem _lng in langs)
                //{
                //    TEST += _lng.Code + " - " + _lng.Name + " - " + _lng.IsMultiLanguage + "/r/n";
                //}


                ////END TEST!!!



                lm.Comol.Core.DomainModel.Languages.LanguageItem current =
                    (from lm.Comol.Core.DomainModel.Languages.LanguageItem lng in langs
                     where lng.Id == TicketService.LangMultiID
                     select lng).FirstOrDefault();

                View.BindLanguages(service.LanguagesGetAvailableSys().Distinct().ToList(), langs, current);
                View.PreviousLanguage = current;


                //UTENTI
                IList <Domain.DTO.DTO_UserRole> roles = (from Domain.LK_UserCategory lkcat in Cat.UserRoles select new Domain.DTO.DTO_UserRole()
                {
                    User = lkcat.User, IsManager = lkcat.IsManager
                }).ToList();

                int Managercount = (from Domain.DTO.DTO_UserRole rl in roles where rl.IsManager == true select rl.IsManager).Count();

                if (Managercount <= 1)
                {
                    View.ShowDeleteManagers = false;
                }
                else
                {
                    View.ShowDeleteManagers = true;
                }

                //Begin Action
                List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >();
                Objects.Add(ModuleTicket.KVPgetPerson(this.UserContext.CurrentUserID));
                Objects.Add(ModuleTicket.KVPgetCategory(Cat.Id));

                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.CategoryLoadManage, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects);
                //End Action


                View.AssociatedUsers = roles;

                View.ShowForcedReassigned(null);
            }
            else
            {
                View.RedirectToList();
                //Vai alla creazione!
                //View.Category = new Domain.Category();
            }


            //Category;
        }
Пример #3
0
        /// <summary>
        /// Aggiornamento view per i vari postback...
        /// </summary>
        private void UpdateView(lm.Comol.Core.DomainModel.Languages.BaseLanguageItem NewLanguage)
        {
            if (!CheckSessionAccess())
            {
                return;
            }



            Domain.Category Category = new Domain.Category();

            //View.CommunityCategories = service.CategoriesGetCommunity(true);

            if (View.CurrentCategoryId > 0)
            {
                //Categoria
                Domain.Category Cat = service.CategoryGetDetached(View.CurrentCategoryId, Domain.Enums.RolesLoad.all, false);

                //Traduzioni
                List <lm.Comol.Core.DomainModel.Languages.LanguageItem> langs = new List <lm.Comol.Core.DomainModel.Languages.LanguageItem>();

                langs = (from t in Cat.Translations
                         where t.Deleted == BaseStatusDeleted.None
                         orderby t.LanguageCode
                         select new lm.Comol.Core.DomainModel.Languages.LanguageItem
                {
                    IsMultiLanguage = (t.LanguageId == TicketService.LangMultiID) ? true : false,
                    Id = t.LanguageId,
                    Code = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageCode.ToUpper() : t.LanguageCode,
                    Name = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageName.ToUpper() : t.LanguageName,
                    Status = DomainModel.Languages.ItemStatus.valid
                }).Distinct().ToList();

                //langs.OrderBy(l => l.IsMultiLanguage).ThenBy(l => l.Name).ToList();

                lm.Comol.Core.DomainModel.Languages.LanguageItem current = View.CurrentLanguage;


                if (NewLanguage != null)
                {
                    current = new DomainModel.Languages.LanguageItem(NewLanguage);
                    langs.Add(current);
                }
                else if (current.Id != TicketService.LangMultiID)
                {
                    Domain.CategoryTranslation trn = (from Domain.CategoryTranslation ct in Cat.Translations where ct.LanguageId == current.Id select ct).FirstOrDefault();
                    Cat.Name        = trn.Name;
                    Cat.Description = trn.Description;
                }

                View.Category = Cat;

                View.BindLanguages(service.LanguagesGetAvailableSys(), langs, current);
                View.PreviousLanguage = current;

                //UTENTI
                IList <Domain.DTO.DTO_UserRole> roles = (from Domain.LK_UserCategory lkcat in Cat.UserRoles select new Domain.DTO.DTO_UserRole()
                {
                    User = lkcat.User, IsManager = lkcat.IsManager
                }).ToList();

                int Managercount = (from Domain.DTO.DTO_UserRole rl in roles where rl.IsManager == true select rl.IsManager).Count();

                if (Managercount <= 1)
                {
                    View.ShowDeleteManagers = false;
                }
                else
                {
                    View.ShowDeleteManagers = true;
                }

                View.AssociatedUsers = roles;

                View.ShowForcedReassigned(null);
            }
            else
            {
                //Error!
            }
        }
Пример #4
0
        public void Save(Boolean UpdateView, Boolean SaveUsers = true)
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            if (!(Module.ManageCategory || Module.Administration))
            {
                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None);

                View.ShowNoPermission();
                return;
            }

            //Se la view non è valida, non faccio nulla (la view si arrangia a mostrare gli errori (Nome vuoto)
            if (!View.Validate())
            {
                return;
            }

            lm.Comol.Core.DomainModel.Languages.LanguageItem Lang = View.PreviousLanguage;

            Domain.Category Cat = View.Category;

            Domain.Enums.CategoryAddModifyError Error = service.CategoryModify(Cat.Id, Cat.Name, Cat.Description, Cat.Type, Lang);



            Domain.Enums.CategoryAssignersError ResError = Domain.Enums.CategoryAssignersError.none;

            if (SaveUsers)
            {
                ResError = service.CategoryUserUpdate(Cat.Id, View.UsersSettings);
            }


            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                //Begin Action
                List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >();
                Objects.Add(ModuleTicket.KVPgetPerson(this.UserContext.CurrentUserID));
                Objects.Add(ModuleTicket.KVPgetCategory(Cat.Id));

                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.CategoryModify, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects);
                //End Action
            }


            if (ResError != Domain.Enums.CategoryAssignersError.none)
            {
                Domain.DTO.DTO_CategoryCheckResponse resp = service.CategoryUsersCheck(Cat.Id);

                if (!resp.PreviousAssigned)
                {
                    if (UpdateView)
                    {
                        this.InitView();
                        //this.UpdateView(null);
                    }

                    View.ShowForcedReassigned(resp);
                    return;
                }
            }

            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                if (UpdateView)
                {
                    this.UpdateView(null);
                }

                View.ShowReassignError(ResError);
                return;
            }
            else
            {
                //Other error
            }
        }
Пример #5
0
        private void InitializeView(long idTemplate, long idVersion, dtoSelectorContext context)
        {
            TemplateDefinitionVersion version = InternalService.GetVersion(idTemplate, idVersion);

            if (version == null)
            {
                if (idVersion > 0)
                {
                    View.DisplayNoTemplateVersionFound();
                }
                else
                {
                    View.DisplayNoTemplateFound();
                }
            }
            else
            {
                if (idVersion > 0)
                {
                    View.DisplayVersionInfo(version.Number);
                }
                else
                {
                    View.DisplayLastVersionInfo();
                }
                Boolean isAdministrative = InternalService.IsAdministrativeUser(UserContext.CurrentUserID);
                if (version.ChannelSettings != null && version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == lm.Comol.Core.Notification.Domain.NotificationChannel.Mail).Any())
                {
                    View.InitializeMailSettings(version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == lm.Comol.Core.Notification.Domain.NotificationChannel.Mail).FirstOrDefault().MailSettings, isAdministrative, isAdministrative, isAdministrative);
                }
                List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = new List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation>();
                translations = (from t in version.Translations where t.Deleted == BaseStatusDeleted.None
                                select new lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation()
                {
                    Id = t.Id,
                    IdLanguage = t.IdLanguage,
                    LanguageCode = t.LanguageCode,
                    LanguageName = t.LanguageName,
                    Translation = t.Translation
                }).ToList();
                translations.Add(new dtoTemplateTranslation()
                {
                    Id = 0, IdLanguage = 0, LanguageCode = "multi", LanguageName = "multi", IdVersion = version.Id, Translation = version.DefaultTranslation
                });
                View.ContentModules = version.GetModuleContentCodes();
                List <Language> languages = CurrentManager.GetAllLanguages().ToList();
                List <lm.Comol.Core.DomainModel.Languages.LanguageItem> inUseLanguages = translations.Select(t => new lm.Comol.Core.DomainModel.Languages.LanguageItem()
                {
                    Id = t.IdLanguage, Code = t.LanguageCode, Name = t.LanguageName, IsMultiLanguage = (t.LanguageCode == "multi" && t.IdLanguage == 0), Status = (t.IsEmpty) ? DomainModel.Languages.ItemStatus.wrong : (t.Translation.IsValid(!version.OnlyShortText, version.HasShortText, true)) ? DomainModel.Languages.ItemStatus.valid : DomainModel.Languages.ItemStatus.warning
                }).ToList();
                inUseLanguages.Where(l => languages.Where(ll => ll.isDefault && l.Id == ll.Id).Any()).ToList().ForEach(l => l.IsDefault = true);
                inUseLanguages.Where(l => l.Id > 0).ToList().ForEach(l => l.Name = languages.Where(ll => ll.Id == l.Id).Select(ll => ll.Name).FirstOrDefault());
                inUseLanguages.Add(new lm.Comol.Core.DomainModel.Languages.LanguageItem()
                {
                    Id = 0, Code = "multi", IsEnabled = true, IsMultiLanguage = true, Status = (version.DefaultTranslation.IsValid(!version.OnlyShortText, version.HasShortText, true)) ? lm.Comol.Core.DomainModel.Languages.ItemStatus.valid : lm.Comol.Core.DomainModel.Languages.ItemStatus.warning
                });

                inUseLanguages = inUseLanguages.OrderByDescending(l => l.IsMultiLanguage).ThenBy(l => l.Name).ToList();
                //if (!inUseLanguages.Any(l => l.IsMultiLanguage))
                //{
                //    inUseLanguages.Add(new DomainModel.Languages.LanguageItem(){ IsMultiLanguage=true, })
                //}
                lm.Comol.Core.DomainModel.Languages.LanguageItem current = inUseLanguages.Where(l => l.Id == UserContext.Language.Id).FirstOrDefault();
                if (current == null && inUseLanguages.Any())
                {
                    current = inUseLanguages.Where(l => l.IsDefault).FirstOrDefault();
                    if (current == null)
                    {
                        current = inUseLanguages.Where(l => l.IsMultiLanguage).FirstOrDefault();
                    }
                }
                if (current == null && inUseLanguages.Any())
                {
                    current = inUseLanguages.FirstOrDefault();
                }
                View.InitializeControls(translations, inUseLanguages, current);
                View.LoadTemplate((current != null) ? translations.Where(t => t.IdLanguage == current.Id && t.LanguageCode == current.Code).FirstOrDefault() : (translations.Any() ? translations[0] : null));
            }
            //        Boolean isAdministrative =  Service.IsAdministrativeUser(UserContext.CurrentUserID);
            //        Boolean senderEdit = isAdministrative;

            //        List<lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = new List<lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation>();
            //        if (message.Template != null) {
            //            Boolean onlyShortText = false;
            //            Boolean hasShortText = false;


            //            String tagTranslation = View.TagTranslation;
            //            if (translations.Any() && !String.IsNullOrEmpty(tagTranslation)){
            //                List<lm.Comol.Core.DomainModel.Helpers.TemplatePlaceHolder> placeHolders = View.GetContentPlaceHolders(View.ContentModules);
            //                foreach(lm.Comol.Core.DomainModel.Helpers.TemplatePlaceHolder pHolder in placeHolders.Where(t=> translations.Where(ct=> !ct.Translation.IsContentEmpty && ((!String.IsNullOrEmpty(ct.Translation.Body) && ct.Translation.Body.Contains(t.Tag)) || (!String.IsNullOrEmpty(ct.Translation.Subject) && ct.Translation.Subject.Contains(t.Tag)))).Any()) ){
            //                    translations.Where(ct => !ct.Translation.IsContentEmpty && !String.IsNullOrEmpty(ct.Translation.Body) && ct.Translation.Body.Contains(pHolder.Tag)).ToList().ForEach(t => t.Translation.Body = t.Translation.Body.Replace(pHolder.Tag, String.Format(tagTranslation, pHolder.Tag, pHolder.Name)));
            //                    translations.Where(ct => !ct.Translation.IsContentEmpty && !String.IsNullOrEmpty(ct.Translation.Subject) && ct.Translation.Subject.Contains(pHolder.Tag)).ToList().ForEach(t => t.Translation.Subject = t.Translation.Subject.Replace(pHolder.Tag, String.Format(tagTranslation, pHolder.Tag, pHolder.Name)));
            //                }
            //            }

            //        }
            //    }
        }