public override bool Execute() { TaskLoggingHelper loggingHelper = new TaskLoggingHelper(this); try { loggingHelper.LogMessageFromText("*** Start View Model generation from Proto Reflection", MessageImportance.High); if (SourceFiles.Count() != DestinationFiles.Count()) { loggingHelper.LogError("Expected SourceFiles.Count == DestinationFiles.Count"); return(false); } int count = SourceFiles.Count(); if (count == 0) { loggingHelper.LogError("Expected SourceFiles.Count > 0"); return(false); } for (int i = 0; i < count; i++) { Generate(SourceFiles[i], DestinationFiles[i], loggingHelper); } } catch (Exception ex) { loggingHelper.LogErrorFromException(ex); return(false); } return(true); }
public static void Main(string[] args) { try { if (Languages.Count() == 0 || SourceFiles.Count() == 0 || DestPath == string.Empty) { return; } var mergedTranslations = new List <XML.LocalizationGroup>(); foreach (var language in Languages) { var group = new XML.LocalizationGroup(language.Name); foreach (string file in SourceFiles) { var originalFile = GetTranslations(file); if (originalFile != null) { group.AddItems(originalFile); } var translatedFile = GetTranslations(Path.GetDirectoryName(file) + @"\" + Path.GetFileNameWithoutExtension(file) + GetSourceFileSeparator(file) + language.FileName + Path.GetExtension(file)); if (translatedFile != null) { group.AddItems(translatedFile); } } mergedTranslations.Add(group); } var staticTexts = new XML.StaticTexts(); staticTexts.Localization = mergedTranslations.ToArray(); SaveTranslations(staticTexts, DestPath); Log.GravarLog(string.Format("Processamento XML concluído com sucesso. Arquivo de destino: '{0}'.", System.IO.Path.GetFullPath(DestPath))); } catch (Exception ex) { Log.GravarLog(string.Format("Ocorreu um erro no processamento do arquivo. Erro: {0}. StackTrace: {1}", ex.Message, ex.StackTrace)); } }