/// <summary> /// Processes an uploaded csv file of language entries into the database /// </summary> /// <param name="languageId">The language to update</param> /// <param name="fileUploadStream">The uploaded file containing the language entries</param> /// <returns>True if successful</returns> public bool ProcessUploadedCsvLanguageFile(int languageId, Stream fileUploadStream) { bool bReturn = false; using (var sr = new StreamReader(fileUploadStream)) { using (var transaction = new TransactionScope()) { try { using (var csv = new CsvReader(sr, new CsvConfiguration { HasHeaderRecord = true })) { var items = csv.GetRecords <LanguageEntry>(); foreach (var item in items) { _db.up_LanguageTextSetByQualifiedFieldName(languageId, item.FieldName, null, item.LanguageText); } } _db.SaveChanges(); transaction.Complete(); bReturn = true; new LanguageManager(_db).ReloadLanguage(languageId); } catch (CsvMissingFieldException) { throw; } catch (Exception ex) { //TODO Log exception System.Diagnostics.Debug.WriteLine(ex.Message); } } } return(bReturn); }