예제 #1
0
        private void Add_Cliked(object sender, System.Windows.RoutedEventArgs e)
        {
            if (this.SelectedLanguage.LanguageId <= 0)
            {
                MessageDisplay.Show("Please select a Language");

                return;
            }

            try
            {
                TranslationMapping mapping = new TranslationMapping();

                if (ModelView.ShowDialog("New Mapping", mapping).IsFalse())
                {
                    return;
                }

                this.TranslationMappings = this.TranslationMappings.Add(mapping);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
예제 #2
0
        private void Edit_Cliked(object sender, System.Windows.RoutedEventArgs e)
        {
            if (this.SelectedMapping == null)
            {
                MessageDisplay.Show("Please select a mapping");

                return;
            }

            try
            {
                TranslationMapping mapping = this.SelectedMapping.CopyTo(new TranslationMapping());

                if (ModelView.ShowDialog("Edit Mapping", mapping).IsFalse())
                {
                    return;
                }

                this.SelectedMapping = mapping.CopyTo(this.SelectedMapping);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
예제 #3
0
        internal static bool LoadFile(string path)
        {
            try
            {
                string translationFileName = Path.GetFileNameWithoutExtension(path);

                string[] fileNameSplit = translationFileName.Split(new char[] { '_' });

                LanguageSetupModel language = BiblesData.Database.GetLanguage(fileNameSplit[0]);

                if (language == null)
                {
                    language = new LanguageSetupModel {
                        Language = fileNameSplit[0]
                    };

                    language.LanguageId = BiblesData.Database.InsertLanguage(language);
                }

                List <TranslationMappingModel> existingMappings = BiblesData.Database.GetTranslationMapping(language.LanguageId);

                List <string> fileValuesList = new List <string>();

                fileValuesList.AddRange(File.ReadAllLines(path));

                foreach (string item in fileValuesList)
                {
                    TranslationMapping mapping = JsonConvert.DeserializeObject(item, typeof(TranslationMapping)).To <TranslationMapping>();

                    if (!existingMappings.Any(m => m.EnglishLanguage.UnzipFile().ParseToString() == mapping.EnglishLanguage))
                    {
                        TranslationMappingModel mappingModel = new TranslationMappingModel
                        {
                            LanguageId           = language.LanguageId,
                            TranslationMappingId = 0,
                            EnglishLanguage      = mapping.EnglishLanguage.ZipFile(),
                            OtherLanguage        = mapping.OtherLanguage.ZipFile()
                        };

                        BiblesData.Database.InsertTranslation(mappingModel);
                    }
                }
            }
            catch
            {
                throw;
            }

            return(true);
        }
예제 #4
0
        private void ImportTranslation_Cliked(object sender, RoutedEventArgs e)
        {
            if (this.SelectedLanguage.LanguageId <= 0)
            {
                MessageDisplay.Show("Please select a Language");

                return;
            }

            try
            {
                OpenFileDialog dlg = new OpenFileDialog();

                if (dlg.ShowDialog().IsFalse())
                {
                    return;
                }

                string[] mappingLines = File.ReadAllLines(dlg.FileName);

                List <TranslationMapping> result = new List <TranslationMapping>();

                foreach (string line in mappingLines)
                {
                    TranslationMapping mapping = JsonConvert.DeserializeObject(line, typeof(TranslationMapping)).To <TranslationMapping>();

                    mapping.TranslationMappingId = 0;

                    mapping.LanguageId = this.SelectedLanguage.LanguageId;

                    result.Add(mapping);
                }

                this.TranslationMappings = result.ToArray();
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }