public async Task <IActionResult> GetAppLocalizationsScript([FromQuery] string langCodes, [FromQuery] string appIdentifiers)
        {
            string scriptContent;

            try
            {
                var localizationData = await AppLocalization.GetAppLocalizationsAsync(GetDefaultDbContext(),
                                                                                      (langCodes ?? string.Empty).Split(','), (appIdentifiers ?? string.Empty).Split(','));

                //Important - localization data MUST be serialized with casing intact as class namespaces are the keys to solving translations on the clientside
                var localizationDataSerialized = JsonConvert.SerializeObject(localizationData, Formatting.None);

                var replacementToken = "{HERE_GOES_LOCALE_DATA_DUDE}";

                var scriptStub = MapHive.Core.Configuration.WebClientConfiguration.GetConfigurationScript(
                    new Dictionary <string, object>
                {
                    { "localization", replacementToken }
                });

                scriptContent = scriptStub.Replace($"\"{replacementToken}\"", localizationDataSerialized);
            }
            catch (Exception ex)
            {
                scriptContent = MapHive.Core.Configuration.WebClientConfiguration
                                .GetConfigurationScriptFromException(ex);
            }

            return(new JavaScriptResult(scriptContent));
        }
 public async Task <IActionResult> GetAppLocalizations([FromQuery] string langCodes, [FromQuery] string appIdentifiers)
 {
     try
     {
         return(Ok(await AppLocalization.GetAppLocalizationsAsync(GetDefaultDbContext(), (langCodes ?? string.Empty).Split(','), (appIdentifiers ?? string.Empty).Split(','))));
     }
     catch (Exception ex)
     {
         return(HandleException(ex));
     }
 }