public void DbResourceManagerBasic()
        {
            var res = new DbResourceManager("Resources");

            Console.WriteLine(JsonConvert.SerializeObject(res.Configuration, Formatting.Indented));

            string german = res.GetObject("Today", new CultureInfo("de-de")) as string;

            Assert.IsNotNull(german);
            Assert.AreEqual(german, "Heute");

            string english = res.GetObject("Today", new CultureInfo("en-us")) as string;

            Assert.IsNotNull(english);
            Assert.IsTrue(english.StartsWith("Today"));

            // should fallback to invariant/english
            string unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string;

            Assert.IsNotNull(unknown);
            Assert.IsTrue(unknown.StartsWith("Today"));

            Console.WriteLine(german);
            Console.WriteLine(english);
            Console.WriteLine(unknown);
        }
        public void ChooseDb_Success()
        {
            var mgr = new DbResourceManager(new Dictionary <string, IResourceManager <string> >()
            {
                { "mobile_ro", Mock.Of <IResourceManager <string> >() }
            });

            Assert.IsNotNull(mgr.ChooseDb("mobile_ro"));
        }
Exemplo n.º 3
0
        public void AddResources_Fail()
        {
            var mgr = DbResourceManager.Create(new Dictionary <string, string[]>()
            {
                ["db1"] = new[] { "db1-01", "db1-02", "db1-03" }
            });

            Assert.Throws <ArgumentException>(() => mgr.AddResources("db2", new[] { "db2" }));
        }
        public void ChooseDb_Not_Supported()
        {
            var mgr = new DbResourceManager(new Dictionary <string, IResourceManager <string> >()
            {
                { "mobile_ro", Mock.Of <IResourceManager <string> >() }
            });

            Assert.Throws <NotSupportedException>(() =>
            {
                mgr.ChooseDb("unsupported_db");
            });
        }
Exemplo n.º 5
0
        public void RemoveResources()
        {
            var mgr = DbResourceManager.Create(new Dictionary <string, string[]>()
            {
                ["db1"] = new[] { "db1-01", "db1-02", "db1-03" }
            });

            // Remove 01, 04 redundant
            mgr.RemoveResources("db1", new[] { "db1-01", "db1-04" });
            Assert.AreEqual(
                new[] { "db1-02", "db1-03" },
                mgr.AllResources["db1"].Resources.Keys.OrderBy(x => x).ToArray());
        }
Exemplo n.º 6
0
        public void AddResources()
        {
            var mgr = DbResourceManager.Create(new Dictionary <string, string[]>()
            {
                ["db1"] = new[] { "db1-01", "db1-02", "db1-03" }
            });

            // Add 04, 01 duplicated
            mgr.AddResources("db1", new[] { "db1-01", "db1-04" });
            Assert.AreEqual(
                new[] { "db1-01", "db1-02", "db1-03", "db1-04" },
                mgr.AllResources["db1"].Resources.Keys.OrderBy(x => x).ToArray());
        }
Exemplo n.º 7
0
            public override async Task <ActionResult> HandleAsync(Command request, CancellationToken cancellationToken)
            {
                var projectId = User.GetProjectId();

                if (request.ZoneId == 0)
                {
                    if (User.TryGetZoneId(out var zoneId))
                    {
                        request.ZoneId = zoneId;
                    }
                    else
                    {
                        return(Forbid());
                    }
                }

                var format = await _db.Formats
                             .Where(x => x.Zone.ProjectId == projectId && x.ZoneId == request.ZoneId)
                             .Select(x => new
                {
                    x.Alias,
                    x.TemplateId,
                    x.Template.Script,
                    x.Template.ScriptMediaType
                })
                             .SingleOrDefaultAsync(x => x.Alias == request.Format);

                if (format is null)
                {
                    return(BadRequest("Invalid format"));
                }

                var generator = _generatorProvider.GetGenerator(format.ScriptMediaType);
                var resources = new DbResourceManager(_db, User.GetProjectId());
                var result    = await generator.GenerateDocumentAsync(format.Script, request.Model, resources);

                var document = new Document(User.GetProjectId(), format.TemplateId, result.Content, result.ContentType);

                _db.Documents.Add(document);
                await _db.SaveChangesAsync();

                return(RedirectToEndpoint(new GetById.Query()
                {
                    Id = document.Id
                }));
            }
        public void DbResourceManagerBasic()        
        {
            var res = new DbResourceManager("Resources");

            string german = res.GetObject("Today", new CultureInfo("de-de")) as string;                       
            Assert.IsNotNull(german);
            Assert.AreEqual(german, "Heute");

            string english = res.GetObject("Today", new CultureInfo("en-us")) as string;
            Assert.IsNotNull(english);
            Assert.IsTrue(english.StartsWith("Today"));

            // should fallback to invariant/english
            string unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string;
            Assert.IsNotNull(unknown);
            Assert.IsTrue(unknown.StartsWith("Today"));

            Console.WriteLine(german);
            Console.WriteLine(english);
            Console.WriteLine(unknown);
        }
        public void DbResourceManagerBasic()
        {
            var res = new DbResourceManager(configuration, "Resources");

            var german = res.GetObject("Today", new CultureInfo("de-de")) as string;

            Assert.NotNull(german);
            Assert.Equal(german, "Heute");

            var english = res.GetObject("Today", new CultureInfo("en-us")) as string;

            Assert.NotNull(english);
            Assert.True(english.StartsWith("Today"));

            // should fallback to invariant/english
            var unknown = res.GetObject("Today", new CultureInfo("es-mx")) as string;

            Assert.NotNull(unknown);
            Assert.True(unknown.StartsWith("Today"));

            Console.WriteLine(german);
            Console.WriteLine(english);
            Console.WriteLine(unknown);
        }