示例#1
0
        public bool SaveSetup()
        {
            try
            {
                foreach (TranslationMapping mapping in this.TranslationMappings)
                {
                    TranslationMappingModel model = new TranslationMappingModel
                    {
                        TranslationMappingId = mapping.TranslationMappingId,
                        LanguageId           = this.SelectedLanguage.LanguageId,
                        EnglishLanguage      = mapping.EnglishLanguage.ZipFile(),
                        OtherLanguage        = mapping.OtherLanguage.ZipFile()
                    };

                    mapping.TranslationMappingId = BiblesData.Database.InsertTranslation(model);
                }

                foreach (int mappingId in this.deletedMappings)
                {
                    BiblesData.Database.DeleteTranslationMapping(mappingId);
                }

                return(true);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);

                return(false);
            }
        }
示例#2
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);
        }
示例#3
0
        public int InsertTranslation(TranslationMappingModel translation)
        {
            Task <TranslationMappingModel> exiting = BiblesData.database
                                                     .Table <TranslationMappingModel>()
                                                     .FirstOrDefaultAsync(tr => tr.TranslationMappingId == translation.TranslationMappingId);

            if (exiting.Result == null)
            {
                Task <int> response = BiblesData.database.InsertAsync(translation);

                int responseValue = response.Result;

                return(translation.TranslationMappingId);
            }

            exiting.Result.EnglishLanguage = translation.EnglishLanguage;

            exiting.Result.OtherLanguage = translation.OtherLanguage;

            BiblesData.database.UpdateAsync(exiting.Result);

            return(exiting.Result.TranslationMappingId);
        }