protected void DeleteLocalizationRecord(LocalizationRecord record) { if (currentKey != null) { localizationApiClient.RemoveEntity(record); currentKey.LocalizationRecords.Remove(record); } }
protected async Task OpenEditAsHtmlDialog(LocalizationRecord record) { currentLocalizationRecord = record; isEditAsHtmlDialogOpen = true; await Task.Delay(500); SetHTML(currentLocalizationRecord.Translation); }
protected async Task SaveNewKey() { if (await SaveChanges()) { isNewKeyDialogOpen = false; await LoadKeys(); newLocalizationRecord = new LocalizationRecord(); } }
/// <summary> /// Find a Localization Record from Localization DB, with Key, ResourceKey and Culture /// </summary> /// <param name="key">Key of key-value pair in Localization Record</param> /// <param name="resourceKey">The Type of Record, Domain specificity </param> /// <param name="localizationCulture">Translation Language / Current Culture</param> async Task <LocalizationRecord> ILocalizationRepository.GetLocalizationRecord(string key, string resourceKey, string localizationCulture) { var _resource = new LocalizationRecord(); var _sqliteOptions = new DbContextOptionsBuilder <LocalizationModelContext>() .UseSqlite(_SqlContextOption.Value.ConLocalization) .Options; using (var localizationContext = new LocalizationModelContext(_sqliteOptions, _SqlContextOption)) { _resource = await localizationContext.LocalizationRecords.FirstOrDefaultAsync(r => r.Key == key && r.ResourceKey == resourceKey && r.LocalizationCulture == localizationCulture); } return(_resource); }
public void Insert(IEnumerable <KeyValuePair <string, string> > keyValue, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; string computedPath = string.Format(JsonConfiguration.FileName(), CultureInfo.CurrentUICulture.Name, resource); List <LocalizationRecord> records = JsonReader.Read <List <LocalizationRecord> >(computedPath); List <KeyValuePair <string, string> > isSuccess = new List <KeyValuePair <string, string> >(); foreach (KeyValuePair <string, string> item in keyValue) { string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, item.Key); LocalizationRecord entity = records.FirstOrDefault(a => a.Name == item.Key && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity == null) { entity = new LocalizationRecord { Name = item.Key, Value = item.Value, CultureName = cultureName, ResourceName = computedKey, }; records.Add(entity); isSuccess.Add(new KeyValuePair <string, string>(computedKey, item.Value)); } } JsonReader.Write(records, computedPath); if (_options.CacheDependency == CacheOption.IMemoryCache) { foreach (KeyValuePair <string, string> item in isSuccess) { _memoryCache.Set(item.Key, item.Value); } } else { foreach (KeyValuePair <string, string> item in isSuccess) { _distributedCache.SetString(item.Key, item.Value); } } }
public void Insert(IEnumerable <KeyValuePair <string, string> > keyValue, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; List <KeyValuePair <string, string> > isSuccess = new List <KeyValuePair <string, string> >(); _resolver.RunScopedService <TContext>(context => { foreach (KeyValuePair <string, string> item in keyValue) { string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, item.Key); LocalizationRecord entity = context.Set <LocalizationRecord>() .FirstOrDefault(a => a.Name == item.Key && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity == null) { entity = new LocalizationRecord { Name = item.Key, Value = item.Value, CultureName = cultureName, ResourceName = computedKey, }; context.Set <LocalizationRecord>().Add(entity); isSuccess.Add(new KeyValuePair <string, string>(computedKey, item.Value)); } } context.SaveChanges(); }); if (_options.CacheDependency == CacheOption.IMemoryCache) { foreach (KeyValuePair <string, string> item in isSuccess) { _memoryCache.Set(item.Key, item.Value); } } else { foreach (KeyValuePair <string, string> item in isSuccess) { _distributedCache.SetString(item.Key, item.Value); } } }
public void Insert(string name, string value, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, name); bool isSuccess = _resolver.RunScopedService <bool, TContext>(context => { LocalizationRecord entity = context.Set <LocalizationRecord>() .FirstOrDefault(a => a.Name == name && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity == null) { entity = new LocalizationRecord { Name = name, Value = value, CultureName = cultureName, ResourceName = computedKey, }; context.Set <LocalizationRecord>().Add(entity); context.SaveChanges(); return(true); } else { Update(name, value, cultureName, resourceName); } return(false); }); if (isSuccess) { if (_options.CacheDependency == CacheOption.IMemoryCache) { _memoryCache.Set(computedKey, value); } else { _distributedCache.SetString(computedKey, value); } } }
public async Task <IActionResult> Edit(string baseKey, string mainKey, KeyVM model) { var key = await _context.LocalizationKeys .Include(l => l.Records) .ThenInclude(l => l.Culture) .SingleOrDefaultAsync(k => k.Id == model.Id); if (key == null) { return(NotFound()); } if (model.Comment == LocalizationKey.DEFAULT_COMMENT) { model.Comment = ""; } key.Comment = model.Comment; foreach (var modelRecord in model.Translations) { var dbRecord = key.Records.SingleOrDefault(r => r.Culture.Id == modelRecord.CultureId); if (dbRecord == null) { dbRecord = new LocalizationRecord() { Culture = await _context.SupportedCultures.SingleOrDefaultAsync(c => c.Id == modelRecord.CultureId), LocalizationKey = key, Text = modelRecord.Translation, Status = string.IsNullOrWhiteSpace(modelRecord.Translation) ? RecordStatus.New : RecordStatus.HumanTranslated }; _context.LocalizationRecords.Add(dbRecord); _context.Entry(dbRecord).State = EntityState.Added; } else { dbRecord.Text = modelRecord.Translation; dbRecord.Status = string.IsNullOrWhiteSpace(modelRecord.Translation) ? RecordStatus.New : RecordStatus.HumanTranslated; _context.Entry(dbRecord).State = EntityState.Modified; } } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Edit), new { baseKey = key.Base, mainKey = key.Key, saveResult = SaveResult.Success })); }
public void Delete(IEnumerable <string> names, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; string computedPath = string.Format(JsonConfiguration.FileName(), CultureInfo.CurrentUICulture.Name, resource); List <LocalizationRecord> records = JsonReader.Read <List <LocalizationRecord> >(computedPath); List <string> isSuccess = new List <string>(); foreach (string item in names) { string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, item); LocalizationRecord entity = records.FirstOrDefault(a => a.Name == item && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity != null) { records.Remove(records.FirstOrDefault(a => a.Name == item && a.CultureName == cultureName && a.ResourceName == computedKey)); isSuccess.Add(computedKey); } } JsonReader.Write(records, computedPath); if (_options.CacheDependency == CacheOption.IMemoryCache) { foreach (string item in isSuccess) { _memoryCache.Remove(item); } } else { foreach (string item in isSuccess) { _distributedCache.Remove(item); } } }
protected async Task LoadLocalizationRecords(LocalizationRecordKey key) { if (key != null) { try { if (currentKey != null) { currentKey.LocalizationRecords = null; } currentKey = key; localizationApiClient.ClearEntitiesCache(); var result = await localizationApiClient.GetLocalizationRecords(key); currentKey.LocalizationRecords = new List <LocalizationRecord>(result); LocalizationCultures.Clear(); LocalizationCultures.AddRange(SupportedCultures .Where(i => !currentKey.LocalizationRecords.Any(l => l.Culture == i))); if (LocalizationCultures.Count > 0) { newLocalizationRecord = new LocalizationRecord() { ContextId = currentKey.ContextId, MsgId = currentKey.MsgId, Culture = LocalizationCultures[0] } } ; viewNotifier.Show(L["One item found", Plural.From("{0} items found", result.Count())], ViewNotifierType.Success, L["Operation Successful"]); } catch (Exception ex) { viewNotifier.Show(ex.GetBaseException().Message, ViewNotifierType.Error, L["Operation Failed"]); } } StateHasChanged(); }
public void Delete(IEnumerable <string> names, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; List <string> isSuccess = new List <string>(); _resolver.RunScopedService <TContext>(context => { foreach (string item in names) { string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, item); LocalizationRecord entity = context.Set <LocalizationRecord>() .FirstOrDefault(a => a.Name == item && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity != null) { context.Set <LocalizationRecord>().Remove(entity); isSuccess.Add(computedKey); } } context.SaveChanges(); }); if (_options.CacheDependency == CacheOption.IMemoryCache) { foreach (string item in isSuccess) { _memoryCache.Remove(item); } } else { foreach (string item in isSuccess) { _distributedCache.Remove(item); } } }
/// <summary> /// Update a Localization Record from Localization DB, with Key, ResourceKey and Culture /// </summary> /// <param name="key">Key of key-value pair in Localization Record</param> /// <param name="text">Value of Key-Value pair in Localization Record</param> /// <param name="resourceKey">The Type of Record, Domain specificity </param> /// <param name="localizationCulture">Translation Language / Current Culture</param> async Task <IJsonResult> ILocalizationRepository.UpdateLocalizationRecord(string key, string text, string resourceKey, string localizationCulture, bool addIfNotFound) { IJsonResult jsonResult = new MyJsonResult() { Message = $"Failed to update translation for '{key}' to '{text}'", Result = JsonResultFlag.Failed }; LocalizationRecord _resource = await((ILocalizationRepository)this).GetLocalizationRecord(key, resourceKey, localizationCulture); if (_resource != null) { var _sqliteOptions = new DbContextOptionsBuilder <LocalizationModelContext>() .UseSqlite(_SqlContextOption.Value.ConLocalization) .Options; using (var localizationContext = new LocalizationModelContext(_sqliteOptions, _SqlContextOption)) { _resource.Text = text; var data = new List <LocalizationRecord>(); data.Add(_resource); _SqlLocalizerFactory.UpdateLocalizationData(data, DateTimeOffset.UtcNow.ToString()); // localizationContext.Entry(_resource).State = EntityState.Modified; // await localizationContext.SaveChangesAsync(); jsonResult.Result = JsonResultFlag.Succeeded; jsonResult.Message = $"Successfully updated translation for '{key}' to '{text}'"; } } else { if (addIfNotFound) { jsonResult = await((ILocalizationRepository)this).AddLocalizationRecord(key, text, resourceKey, localizationCulture); } else { jsonResult.Result = JsonResultFlag.NotFound; jsonResult.Message = $"Resource not found to be updated, translation for '{key}' to '{text}'"; } } return(jsonResult); }
protected async Task LoadLocalizationRecords(LocalizationRecordKey key) { if (key != null) { try { currentKey = key; localizationApiClient.ClearEntitiesCache(); var result = await localizationApiClient.GetLocalizationRecords(key); localizationRecords = new List <LocalizationRecord>(result); LocalizationCultures.Clear(); LocalizationCultures.AddRange(BlazorBoilerplate.Shared.Localizer.Settings.SupportedCultures .Where(i => !localizationRecords.Any(l => l.Culture == i))); if (LocalizationCultures.Count > 0) { newLocalizationRecord = new LocalizationRecord() { ContextId = currentKey.ContextId, MsgId = currentKey.MsgId, Culture = LocalizationCultures[0] } } ; matToaster.Add(L["One item found", Plural.From("{0} items found", result.Count())], MatToastType.Success, L["Operation Successful"]); } catch (Exception ex) { matToaster.Add(ex.GetBaseException().Message, MatToastType.Danger, L["Operation Failed"]); } } else { localizationRecords = new List <LocalizationRecord>(); } StateHasChanged(); }
public void Insert(string name, string value, string cultureName, string resourceName) { var resource = string.IsNullOrEmpty(resourceName) ? nameof(LocalizationResourceNames.SharedResource) : resourceName; string computedKey = string.Format(DefaultConfiguration.LocalizationCacheKeyTemplate, CultureInfo.CurrentUICulture.Name, resource, name); string computedPath = string.Format(JsonConfiguration.FileName(), CultureInfo.CurrentUICulture.Name, resource); List <LocalizationRecord> records = JsonReader.Read <List <LocalizationRecord> >(computedPath); LocalizationRecord entity = records.FirstOrDefault(a => a.Name == name && a.CultureName == cultureName && a.ResourceName == computedKey); if (entity == null) { entity = new LocalizationRecord { Name = name, Value = value, CultureName = cultureName, ResourceName = computedKey, }; records.Add(entity); JsonReader.Write(records, computedPath); if (_options.CacheDependency == CacheOption.IMemoryCache) { _memoryCache.Set(computedKey, value); } else { _distributedCache.SetString(computedKey, value); } } else { Update(name, value, cultureName, resourceName); } }
private static LocalizationRecord[] DummyDataArray() { var model = new LocalizationRecord[] { new LocalizationRecord { Id = 1, Key = "test", Text = "test text", LocalizationCulture = "en-US", ResourceKey = "test" }, new LocalizationRecord { Id = 2, Key = "test", Text = "test2 text de-CH", LocalizationCulture = "de-CH", ResourceKey = "test" } }; return(model); }
protected void OpenPluralDialog(LocalizationRecord record) { currentLocalizationRecord = record; newPlural = new PluralTranslation(); isPluralDialogOpen = true; }
protected void OpenEditAsHtmlDialog(LocalizationRecord record) { currentLocalizationRecord = record; SetHTML(currentLocalizationRecord.Translation); isEditAsHtmlDialogOpen = true; }
protected void OpenEditAsHtmlDialog(LocalizationRecord record) { currentLocalizationRecord = record; HtmlEditor.LoadHTMLContent(currentLocalizationRecord.Translation); isEditAsHtmlDialogOpen = true; }
public ActionResult InsLocalizationRecord(LocalizationRecord localizationRecord) { var insLocalizationRecord = _localizationRecordService.InsLocalizationRecord(localizationRecord); return(new JsonResult(insLocalizationRecord)); }
public void RemoveEntity(LocalizationRecord localizationRecord) { RemoveEntity((IEntity)localizationRecord); }
public void AddEntity(LocalizationRecord localizationRecord) { AddEntity((IEntity)localizationRecord); }
public ActionResult UpdLocalizationRecord(LocalizationRecord localizationRecord) { var updLocalizationRecord = _localizationRecordService.UpdLocalizationRecord(localizationRecord); return(new JsonResult(updLocalizationRecord)); }
protected void DeleteLocalizationRecord(LocalizationRecord record) { localizationApiClient.RemoveEntity(record); localizationRecords.Remove(record); }
protected void OpenNewKeyDialogOpen() { newLocalizationRecord = new LocalizationRecord(); localizationApiClient.AddEntity(newLocalizationRecord); isNewKeyDialogOpen = true; }
private static void AddTestData(DIAContext context) { var testUser1 = new Claim { ClaimIDNumber = "DI1000000001", ClaimTypeCode = 1639, ClaimantID = 1, EffectiveDate = Convert.ToDateTime("1/25/2017") }; context.Claims.Add(testUser1); var testUser2 = new Claim { ClaimIDNumber = "DI1000000002", ClaimTypeCode = 1639, ClaimantID = 2, EffectiveDate = Convert.ToDateTime("2/25/2017") }; context.Claims.Add(testUser2); var testUser3 = new Claim { ClaimIDNumber = "DI1000000003", ClaimTypeCode = 1639, ClaimantID = 2, Id = 4, EffectiveDate = Convert.ToDateTime("3/25/2017") }; context.Claims.Add(testUser3); context.SaveChanges(); var testUser4 = new Person { Id = 1, DOB = Convert.ToDateTime("3/25/1997"), FirstName = "John", LastName = "Doe", ECN = "00023333", Email = "*****@*****.**" }; context.Persons.Add(testUser4); context.SaveChanges(); var testUser5 = new PersonPhoneNumber { PersonID = 1, PhoneNumber = "111-222-3333", PhoneNumberTypeCode = 440, IsPrimary = true, }; context.PersonPhoneNumbers.Add(testUser5); context.SaveChanges(); var testUser5a = new PersonPhoneNumber { PersonID = 1, PhoneNumber = "124-222-3333", PhoneNumberTypeCode = 439, IsPrimary = false, }; context.PersonPhoneNumbers.Add(testUser5a); context.SaveChanges(); var testUser6 = new PersonAddress { PersonID = 1, AddressLine1 = "123 main st", City = "fremont", StateCode = 361, ZipCode = "94539", AddressTypeCode = 438 }; context.PersonAddresses.Add(testUser6); context.SaveChanges(); var testUser7 = new PersonAddress { PersonID = 1, AddressLine1 = "456 main st", City = "sacramento", StateCode = 361, ZipCode = "93539", AddressTypeCode = 437 }; context.PersonAddresses.Add(testUser7); context.SaveChanges(); var locale1 = new LocalizationRecord { Key = "abouttitle", ResourceKey = "PersonController", Text = "this is a test", LocalizationCulture = "en-US" }; context.LocalizationRecords.Add(locale1); context.SaveChanges(); var reftable = new ReferenceTable { TableName = "Claim_Type" }; context.ReferenceTables.Add(reftable); context.SaveChanges(); //int refid = reftable.Id; var reftablevalue = new ReferenceTableValue { TableName = "Claim_Type", Key = "Disability Claim" }; context.ReferenceTableValues.Add(reftablevalue); var reftablevalue2 = new ReferenceTableValue { TableName = "Claim_Type", Key = "PFL Claim" }; var reftablevalue3 = new ReferenceTableValue { TableName = "Job_Category", Key = "light", Text = "lightxxxxxxxxxxxxxxxxxx" }; var reftablevalue4 = new ReferenceTableValue { TableName = "Job_Category", Key = "medium", Text = "medium cccccccccccccccccccccccccccccc" }; var reftablevalue5 = new ReferenceTableValue { TableName = "Job_Category", Key = "heavy" }; var reftablevalue6 = new ReferenceTableValue { TableName = "State_Code", Key = "CA", Id = 361 }; var reftablevalue7 = new ReferenceTableValue { TableName = "State_Code", Key = "NY", Id = 362 }; var reftablevalue8 = new ReferenceTableValue { TableName = "State_Code", Key = "Name", Text = "Name in Italien", ResourceKey = "PersonController", LocalizationCulture = "en-US" }; ReferenceTableValue reftablevalue9 = new ReferenceTableValue() { TableName = "State_Code", Key = "Name", Text = "Name in english", ResourceKey = "PersonController", LocalizationCulture = "es-MX" }; context.ReferenceTableValues.Add(reftablevalue2); context.ReferenceTableValues.Add(reftablevalue3); context.ReferenceTableValues.Add(reftablevalue4); context.ReferenceTableValues.Add(reftablevalue5); context.ReferenceTableValues.Add(reftablevalue6); context.ReferenceTableValues.Add(reftablevalue7); context.ReferenceTableValues.Add(reftablevalue8); context.ReferenceTableValues.Add(reftablevalue9); context.SaveChanges(); }