private TreeNode CreateZipNode(EkJobDS.LocalizationJobFileRow data) { TreeNode node = new TreeNode(); StringBuilder sb = new StringBuilder(); string strUrl = null; string strName = null; string strFileExt = null; strFileExt = System.IO.Path.GetExtension(data.FileName).ToLower(); strUrl = Ektron.Cms.Common.EkFunctions.QualifyURL(this.localizationApi.GetLocalizationUrl(), data.FileUrl); node.Value = "zip" + data.FileID; node.PopulateOnDemand = false; node.SelectAction = TreeNodeSelectAction.None; switch (strFileExt) { case ".zip": node.PopulateOnDemand = true; node.SelectAction = TreeNodeSelectAction.Expand; node.ImageUrl = GetCommonApi().AppPath + "images/UI/Icons/FileTypes/zip.png"; node.ImageToolTip = GetMessage("alt zip file"); break; case ".xlf": case ".xml": // .xml for Trados if (data.ErrorMessage != null && data.ErrorMessage.Length > 0) { node.PopulateOnDemand = true; node.SelectAction = TreeNodeSelectAction.Expand; } node.ImageUrl = GetCommonApi().AppPath + "images/UI/Icons/translation.png"; node.ImageToolTip = GetMessage("alt xliff file"); break; default: node.ImageUrl = GetCommonApi().AppPath + "images/UI/Icons/FileTypes/text.png"; node.ImageToolTip = GetMessage("lbl generic file"); break; } if (File.Exists(Server.MapPath(strUrl))) { node.PopulateOnDemand = false; node.SelectAction = TreeNodeSelectAction.Select; node.NavigateUrl = strUrl; sb.Append("<div class=\"L10nZipLink\">"); } else { node.NavigateUrl = string.Empty; sb.Append("<div class=\"L10nZip\">"); } sb.Append("<div class=\"L10nZipFileName\">"); sb.Append(this.FormatErrorMessage(data.ErrorMessage)); strName = data.FileName; if (!data.IsTargetLanguageNull()) { Ektron.Cms.Localization.LocaleData sourceLocale = this.GetLocaleData(data.SourceLanguage); Ektron.Cms.Localization.LocaleData targetLocale = this.GetLocaleData(data.TargetLanguage); if (targetLocale != null) { string targetFlag = targetLocale.FlagUrl; if (targetFlag.Length > 0) { if (!data.IsSourceLanguageNull() && sourceLocale != null) { string sourceFlag = sourceLocale.FlagUrl; if (sourceFlag.Length > 0) { // 8594 is right arrow sb.AppendFormat("<img src=\"{0}\" alt=\"{1}\" title=\"{1}\" class=\"L10nFlag\" /> → ", sourceFlag, sourceLocale.EnglishName); } } sb.AppendFormat("<img src=\"{0}\" alt=\"{1}\" title=\"{1}\" class=\"L10nFlag\" /> ", targetFlag, targetLocale.EnglishName); strName = targetLocale.CombinedName; } } } sb.Append(strName); sb.Append("</div>"); sb.Append("<div class=\"L10nZipFileSize\">"); if (data.IsFileSizeNull()) { sb.Append(" "); } else { sb.Append(FormatFileSize(data.FileSize)); } sb.Append("</div>"); sb.Append("</div>"); node.Text = sb.ToString(); if (!this.methodCreateZipNode_isFirstErrorExpanded && data.ErrorMessage != null && data.ErrorMessage.Length > 0) { this.methodCreateZipNode_isFirstErrorExpanded = true; node.Expand(); } return node; }
private TreeNode CreateXlfNode(EkJobDS.LocalizationTargetRow data) { TreeNode node = new TreeNode(); StringBuilder sb = new StringBuilder(); string strHover = string.Empty; EkJobDS.LocalizationTargetRow.States state = (EkJobDS.LocalizationTargetRow.States)data.State; node.Value = "xlf" + data.TargetID; if (data.ErrorMessage == null || 0 == data.ErrorMessage.Length) { node.PopulateOnDemand = false; node.SelectAction = TreeNodeSelectAction.None; strHover = " onmouseover=\"myTVNodeHover(this)\" onmouseout=\"myTVNodeUnhover(this)\""; } else { node.PopulateOnDemand = true; node.SelectAction = TreeNodeSelectAction.Expand; } node.ImageUrl = GetCommonApi().AppPath + "images/UI/Icons/translation.png"; node.ImageToolTip = GetMessage("alt xliff"); sb.Append("<div class=\"L10nXlf\"" + strHover + ">"); sb.Append("<div class=\"L10nXlfFileName\">"); sb.Append(this.FormatErrorMessage(data.ErrorMessage)); if (!data.IsTargetLanguageNull()) { Ektron.Cms.Localization.LocaleData targetLocale = this.GetLocaleData(data.TargetLanguage); if (targetLocale != null) { string targetFlag = targetLocale.FlagUrl; if (targetFlag.Length > 0) { sb.AppendFormat("<img src=\"{0}\" alt=\"{1}\" title=\"{1}\" class=\"L10nFlag\" /> ", targetFlag, targetLocale.EnglishName); } } } sb.Append(data.FileName); sb.Append("</div>"); if (data.IsLastEditDateNull()) { sb.Append(this.FormatDateTime(DateTime.MinValue, "L10nXlfDate")); } else { sb.Append(this.FormatDateTime(data.LastEditDate, "L10nXlfDate", GetMessage("generic date modified"))); } sb.Append("<div class=\"L10nXlfState\">"); if (data.IsStateNull()) { sb.Append(" "); } else { switch (state) { case EkJobDS.LocalizationTargetRow.States.ErrorOccurred: sb.Append(GetMessage("lbl error")); if (!this.methodCreateXlfNode_isFirstErrorExpanded && data.ErrorMessage != null && data.ErrorMessage.Length > 0) { this.methodCreateXlfNode_isFirstErrorExpanded = true; node.Expand(); } break; case EkJobDS.LocalizationTargetRow.States.NeedsReview: sb.Append(GetMessage("lbl needs review")); break; case EkJobDS.LocalizationTargetRow.States.NeedsTranslation: sb.Append(GetMessage("lbl needs translation")); break; case EkJobDS.LocalizationTargetRow.States.SignedOff: sb.Append(GetMessage("lbl signed off")); break; case EkJobDS.LocalizationTargetRow.States.Translated: sb.Append(GetMessage("lbl translated")); break; default: sb.Append(state.ToString()); break; } } sb.Append("</div>"); sb.Append("</div>"); node.Text = sb.ToString(); return node; }