Exemplo n.º 1
0
        public DashingModule()
            : base()
        {
            Settings.DefaultDashboard = "sample";
            Settings.Views            = "dashboards";

            Get["/"] = x =>
            {
                return(Response.AsRedirect("/" + Settings.DefaultDashboard));
            };

            Get["/{dashboard}"] = p =>
            {
                return(View["dashboards/" + p.dashboard]);
            };

            Get["/views/{widget}.html"] = param =>
            {
                string widget = param.widget;
                return(Response.AsFile(string.Format("widgets/{0}/{0}.html", widget)));
            };

            Get["/events"] = param =>
            {
                var @event         = new { id = "Open", data = "Open" };
                var streamResponse = new EventStreamWriterResponse(Response, null, @event);
                ClientBus.Register(streamResponse);
                return(streamResponse);
            };

            Post["/widgets/{id}"] = p =>
            {
                Request.Body.Position = 0;
                var s    = new JavaScriptSerializer();
                var body = s.DeserializeObject(new StreamReader(Request.Body).ReadToEnd()).ToExpando();
                ClientBus.SendEvent(new Event
                {
                    Id        = p.id,
                    Data      = body,
                    UpdatedAt = SystemTime.Now()
                });
                return(200);
            };
        }
Exemplo n.º 2
0
        public DashingModule()
            : base()
        {
            Settings.DefaultDashboard = "sample";
            Settings.Views = "dashboards";

            Get["/"] = x =>
            {
                return Response.AsRedirect("/" + Settings.DefaultDashboard);
            };

            Get["/{dashboard}"] = p =>
            {
                return View["dashboards/" + p.dashboard];
            };

            Get["/views/{widget}.html"] = param =>
            {
                string widget = param.widget;
                return Response.AsFile(string.Format("widgets/{0}/{0}.html", widget));
            };

            Get["/events"] = param =>
            {
                var @event = new { id = "Open", data = "Open" };
                var streamResponse = new EventStreamWriterResponse(Response, null, @event);
                ClientBus.Register(streamResponse);
                return streamResponse;
            };

            Post["/widgets/{id}"] = p =>
                {
                    Request.Body.Position = 0;
                    var s = new JavaScriptSerializer();
                    var body = s.DeserializeObject(new StreamReader(Request.Body).ReadToEnd()).ToExpando();
                    ClientBus.SendEvent(new Event
                    {
                        Id = p.id,
                        Data = body,
                        UpdatedAt = SystemTime.Now()
                    });
                    return 200;
                };
        }
Exemplo n.º 3
0
 public static void Disconnect(EventStreamWriterResponse client)
 {
     Clients.Remove(client);
 }
Exemplo n.º 4
0
 public static void Register(EventStreamWriterResponse client)
 {
     Clients.Add(client);
 }
Exemplo n.º 5
0
 public static void Disconnect(EventStreamWriterResponse client)
 {
     Clients.Remove(client);
 }
Exemplo n.º 6
0
 public static void Register(EventStreamWriterResponse client)
 {
     Clients.Add(client);
 }