public void Can_Convert_Anonymous_To_Expando() { var target = new {id = 1}; var result = DynamicHelpers.IfAnonymousCovertToExpando(target); Assert.IsInstanceOf<ExpandoObject>(result); }
public void ItShouldSupportAnnonymousObjects() { var obj = new {Count = 1, Item = "apple"}; var template = Template.Compile("There is @Model.Count @Model.Item in the box."); Assert.AreEqual("There is 1 apple in the box.", template.Render(obj)); }
public void ToDynamic_ConvertsObjectToExpendo() { var value = _fixture.Create<string>(); var expected = new { x = value }; var result = expected.ToDynamic(); Assert.AreEqual(expected.x, result.x); }
public Task Invoke(string method, params object[] args) { var invocation = new { Hub = _hubName, Method = method, Args = args }; return _connection.Send(_hubName, invocation); }
public static Task Invoke(IConnection connection, string signal, string hubName, string method, object[] args) { signal = hubName + "." + signal; var invocation = new { Hub = hubName, Method = method, Args = args }; return connection.Broadcast(signal, invocation); }
private Task InvokeWithState(string method, object[] args) { string signal = _hubName + "." + _signal; var invocation = new { Hub = _hubName, Method = method, Args = args, State = _state.GetChanges() }; return _connection.Broadcast(signal, invocation); }
public void ThirdPartyOAuth() { dynamic response = new ExpandoObject(); var userId = "users/ayende"; var certificate = new X509Certificate2(); var authorizedDatabases = new[] { "*" }; var key = certificate.Export(X509ContentType.Pkcs12); #region authenticate_3 var token = AccessToken.Create(key, userId, authorizedDatabases); response.Write(token.Serialize()); #endregion }
public void TestFixtureSetUp() { dynamic = new ExpandoObject(); dynamic.badger = new ExpandoObject(); dynamic.badger.name = "Steve"; dynamic.badger.age = 3; dynamic dog1 = new ExpandoObject(); dog1.name = "Rufus"; dog1.breed = "labrador"; dynamic dog2 = new ExpandoObject(); dog2.name = "Marty"; dog2.breed = "whippet"; var dogs = new[] { dog1, dog2 }; dynamic.dog = dogs; dynamic.cat = new ExpandoObject(); dynamic.cat.name_Attribute = "Matilda"; }
public override DYN.DynamicMetaObject FallbackSetMember(DYN.DynamicMetaObject target, DYN.DynamicMetaObject value, DYN.DynamicMetaObject errorSuggestion) { // NOTE: silently ignore everything for now... return null; // TODO: fix this! }
public AppFunc Index(AppFunc next) { const string templateName = "index"; this.template.Compile(service.GetIndexTemplate(), typeof(DynamicObject), templateName); return async env => { var blog = this.service.GetBlog(); int totalPosts; var posts = this.service.GetPosts(1, blog.ArticlesCountPerPage, out totalPosts); var model = new { Blog = blog, Url = new { RequestPathBase = env.GetRequestPathBase(), RequestPath = env.GetRequestPath() }.ToDynamicObject(), Posts = posts }; string html = this.template.Run(templateName, model.ToDynamicObject()); env.GetResponseHeaders() .SetHeader("content-type", "text/html"); await env.GetResponseBody() .WriteStringAsync(html); }; }
public ManageSitesModule(ISessionProvider sessionProvider, IDispatchEvents eventDispatcher, IProvideClientSettings clientSettings) : base(sessionProvider, eventDispatcher, "/manage/clients/{id}/sites") { _clientSettings = clientSettings; Before += ctx => { if (string.IsNullOrEmpty(ctx.Parameters["siteId"]) == false) SiteId = string.Format("{1}/sites/{0}", ctx.Parameters["siteId"], ClientId); return null; }; Get["/autoCompleteList"] = parameters => { var sites = RavenSession.Query<Site>() .Where(x => x.ClientId == ClientId) .ToList(); var viewModel = new { data = sites.OrderBy(x => x.Name).Select(x => new { value = x.Id, label = x.Name, }).ToList(), }; return Response.AsJson(viewModel); }; Get["/list"] = parameters => { int startIndex = Request.Query.skip.HasValue ? Request.Query.skip : 0; int size = Request.Query.take.HasValue ? Request.Query.take : 20; RavenQueryStatistics stats; var sites = RavenSession.Query<Site>() .Statistics(out stats) .Where(x => x.ClientId == ClientId) .OrderBy(x => x.Name) .Skip(startIndex) .Take(size) .ToList(); var viewModel = new { data = sites.OrderBy(x => x.Name).Select(x => new {x.Id, title = x.Id, content = x.Name, heading = ""}), totalCount = stats.TotalResults, }; return Response.AsJson(viewModel); }; Get["/{siteId}"] = parameters => { var site = RavenSession.Load<Site>(SiteId); var viewModel = new { site = new { siteId = site.Id, name = site.Name, address = site.Address, postCode = site.PostCode, city = site.City, country = site.Country, description = site.Description, content = site.Content, url = site.Url, estimatedMinutesToService = site.EstimatedMinutesToService, minuteToServiceFactor = site.MinuteToServiceFactor, } }; return Response.AsJson(viewModel); }; Get["/{siteId}/edit"] = parameters => View["views/manage/_editSite.html", new {ClientId}]; Put["/{siteId}"] = parameters => { var site = RavenSession.Load<Site>(SiteId); var serviceUnitsChanged = new ServiceUnitsChanged { EstimatedMinutesToService = site.EstimatedMinutesToService, MinuteToServiceFactor = site.MinuteToServiceFactor, ClientId = ClientId, Site = DomainReference<Site>.Create(site.Id, site.Name), }; this.BindTo(site, "Id"); UncommitedEvents.Add(new SiteUpdated { ClientId = ClientId, SiteId = SiteId, Name = site.Name, Description = site.Description, Address = site.Address, PostCode = site.PostCode, City = site.City, Content = site.Content, Country = site.Country, EndTime = site.EndTime, StartTime = site.StartTime, Latitude = site.Latitude, Longitude = site.Longitude, }); if (serviceUnitsChanged.AreEqual(site) == false) { serviceUnitsChanged.MinuteToServiceFactor = site.MinuteToServiceFactor; serviceUnitsChanged.EstimatedMinutesToService = site.EstimatedMinutesToService; UncommitedEvents.Add(serviceUnitsChanged); } return HttpStatusCode.Created; }; Get["/create"] = parameters => View["views/manage/_createSite.html", new {ClientId}]; Post["/create"] = parameters => { var site = new Site { ClientId = ClientId, Name = Request.Form["Name"], Description = Request.Form["Description"], }; var defaultServiceUnits = _clientSettings.DefaultServiceUnits(ClientId); site.EstimatedMinutesToService = defaultServiceUnits.EstimatedMinutesToService; site.MinuteToServiceFactor = defaultServiceUnits.MinuteToServiceFactor; RavenSession.Store(site); UncommitedEvents.Add(new SiteCreated { SiteId = site.Id, Name = site.Name, Description = site.Description, }); return HttpStatusCode.NoContent; }; }