Exemplo n.º 1
0
 protected void DeleteLocalizationRecord(LocalizationRecord record)
 {
     if (currentKey != null)
     {
         localizationApiClient.RemoveEntity(record);
         currentKey.LocalizationRecords.Remove(record);
     }
 }
Exemplo n.º 2
0
        protected async Task OpenEditAsHtmlDialog(LocalizationRecord record)
        {
            currentLocalizationRecord = record;
            isEditAsHtmlDialogOpen    = true;

            await Task.Delay(500);

            SetHTML(currentLocalizationRecord.Translation);
        }
Exemplo n.º 3
0
        protected async Task SaveNewKey()
        {
            if (await SaveChanges())
            {
                isNewKeyDialogOpen = false;
                await LoadKeys();

                newLocalizationRecord = new LocalizationRecord();
            }
        }
Exemplo n.º 4
0
        /// <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);
                }
            }
        }
Exemplo n.º 6
0
        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);
                }
            }
        }
Exemplo n.º 7
0
        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);
                }
            }
        }
Exemplo n.º 8
0
        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);
                }
            }
        }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 11
0
        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);
                }
            }
        }
Exemplo n.º 12
0
        /// <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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 16
0
 protected void OpenPluralDialog(LocalizationRecord record)
 {
     currentLocalizationRecord = record;
     newPlural          = new PluralTranslation();
     isPluralDialogOpen = true;
 }
Exemplo n.º 17
0
 protected void OpenEditAsHtmlDialog(LocalizationRecord record)
 {
     currentLocalizationRecord = record;
     SetHTML(currentLocalizationRecord.Translation);
     isEditAsHtmlDialogOpen = true;
 }
Exemplo n.º 18
0
 protected void OpenEditAsHtmlDialog(LocalizationRecord record)
 {
     currentLocalizationRecord = record;
     HtmlEditor.LoadHTMLContent(currentLocalizationRecord.Translation);
     isEditAsHtmlDialogOpen = true;
 }
Exemplo n.º 19
0
        public ActionResult InsLocalizationRecord(LocalizationRecord localizationRecord)
        {
            var insLocalizationRecord = _localizationRecordService.InsLocalizationRecord(localizationRecord);

            return(new JsonResult(insLocalizationRecord));
        }
Exemplo n.º 20
0
 public void RemoveEntity(LocalizationRecord localizationRecord)
 {
     RemoveEntity((IEntity)localizationRecord);
 }
Exemplo n.º 21
0
 public void AddEntity(LocalizationRecord localizationRecord)
 {
     AddEntity((IEntity)localizationRecord);
 }
Exemplo n.º 22
0
        public ActionResult UpdLocalizationRecord(LocalizationRecord localizationRecord)
        {
            var updLocalizationRecord = _localizationRecordService.UpdLocalizationRecord(localizationRecord);

            return(new JsonResult(updLocalizationRecord));
        }
Exemplo n.º 23
0
 protected void DeleteLocalizationRecord(LocalizationRecord record)
 {
     localizationApiClient.RemoveEntity(record);
     localizationRecords.Remove(record);
 }
Exemplo n.º 24
0
 protected void OpenNewKeyDialogOpen()
 {
     newLocalizationRecord = new LocalizationRecord();
     localizationApiClient.AddEntity(newLocalizationRecord);
     isNewKeyDialogOpen = true;
 }
Exemplo n.º 25
0
        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();
        }