Beispiel #1
0
        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));
            }
        }