Пример #1
0
        public async Task <IActionResult> InstanceStatsPartial([FromServices] INodeServices nodeServices, string initializer, string databasePath)
        {
            LokiDatabase      db  = new LokiDatabase(nodeServices, _demoServiceConfiguration);
            LokiInstanceStats lis = await db.GetInstanceStatistics(initializer, databasePath);

            return(PartialView(lis));
        }
Пример #2
0
        public async Task <IActionResult> InstanceStatisticsJson([FromServices] INodeServices nodeServices, string initializer, string databasePath)
        {
            LokiDatabase db    = new LokiDatabase(nodeServices, _demoServiceConfiguration);
            string       stats = await db.GetInstanceStatisticsJson(initializer, databasePath);

            return(Json(stats));
        }
Пример #3
0
        public async Task <IActionResult> Index([FromServices] INodeServices nodeServices)
        {
            LokiDatabase   db    = new LokiDatabase(nodeServices, _demoServiceConfiguration);
            LokiStatistics stats = await db.GetStatistics();

            return(View(stats));
        }
Пример #4
0
        public async Task <IActionResult> Index([FromServices] INodeServices nodeServices)
        {
            LokiDatabase db      = new LokiDatabase(nodeServices, _demoServiceConfiguration);
            List <User>  results = await db.DynamicView <User>("users", "Youngsters");

            return(View(results));
        }
Пример #5
0
        public async Task <IActionResult> Get([FromServices] INodeServices nodeServices, int userId)
        {
            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            User usr = await db.Get <User>("users", userId);

            return(new JsonResult(usr));
        }
Пример #6
0
        ///<summary>
        /// MVC action for doing a loki remove of a User.
        ///</summary>
        public async Task <IActionResult> Remove([FromServices] INodeServices nodeServices, int userId)
        {
            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            string result = await db.Remove("users", userId);

            return(new JsonResult(result));
        }
        public async Task <IActionResult> Remove([FromServices] INodeServices nodeServices, string collection, int id)
        {
            //var nodeResponse = await nodeServices.InvokeExportAsync<string>("nodesvcs/lokiservice.js", "remove", "./demo-service", "./dbinstances/demo.db", collection, id);
            LokiDatabase db           = new LokiDatabase(nodeServices, _demoServiceConfiguration);
            string       nodeResponse = await db.Remove(collection, id);

            return(Content(nodeResponse, "text/json"));
        }
        public async Task <IActionResult> Find([FromServices] INodeServices nodeServices, string collection, string queryObject)
        {
            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            string nodeResponse = await db.Find(collection, queryObject);

            return(Content(nodeResponse, "text/json"));
        }
Пример #9
0
        public async Task <IActionResult> RunCustomChainedQuery([FromServices] INodeServices nodeServices)
        {
            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            List <User> users = await db.Chain("users")
                                .Find("{ age: { $gte: 50 }}")
                                .SimpleSort("age", true)
                                .Limit(3)
                                .Data <User>();

            return(Json(users));
        }
Пример #10
0
        ///<summary>
        /// MVC action for doing a loki update of a User and receiving back the same loki object with $loki/Id set.
        ///</summary>
        public async Task <IActionResult> Update([FromServices] INodeServices nodeServices, User user)
        {
            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            User result = null;

            if (user.Id == 0)
            {
                result = await db.Insert <User>("users", user);
            }
            else
            {
                result = await db.Update <User>("users", user);
            }

            return(new JsonResult(result));
        }
Пример #11
0
        public async Task <IActionResult> Index([FromServices] INodeServices nodeServices)
        {
            TransformViewModel model = new TransformViewModel();

            LokiDatabase db = new LokiDatabase(nodeServices, _demoServiceConfiguration);

            List <User> result;

            result = await db.Transform <User>("users", "goddesses", "{ \"AgeFilter\": 100 }");

            model.Goddesses = result;

            result = await db.Transform <User>("users", "knowlege");

            model.Knowlege = result;

            return(View(model));
        }
Пример #12
0
        public static ILokiRunner GetRunner(this ILokiGraph graph)
        {
            var graphType  = graph.GetType();
            var db         = LokiDatabase.Get();
            var runnerType = db.GetRunnerTypeForGraphType(graphType);

            if (runnerType == null)
            {
                throw new RunnerNotFoundException(graphType);
            }

            var runner = Activator.CreateInstance(runnerType) as ILokiRunner;

            if (runner is null)
            {
                throw new InvalidCastException(
                          $"Runner for graph type {graphType.FullName} was found ({runnerType.FullName}) but it does not implement ILokiRunner interface.");
            }

            runner.SetGraph(graph);
            return(runner);
        }