Example #1
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);
        }
Example #2
0
        public int InsertLanguage(LanguageSetupModel language)
        {
            Task <LanguageSetupModel> existing = BiblesData.database
                                                 .Table <LanguageSetupModel>()
                                                 .FirstOrDefaultAsync(l => l.Language.ToLower() == language.Language.ToLower());

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

                int responsevalue = response.Result;

                return(language.LanguageId);
            }

            return(existing.Result.LanguageId);
        }