/// <summary> /// Reads the menu hierarchy asynchronously from the database store. /// </summary> /// <returns>Task containing the hierarchy as a JSON string.</returns> public static Task <string> ReadFromStoreAsync() { using (var db = new SimplyExpectingDataContext()) { return(db.MenuItems.Include("Content").GetTopLevelMenus() /*.RemoveCyclicReferences()*/.SerializeToJsonAsync()); } }
public Task WriteToStore() { return(Task.Run(() => { try { using (var db = new SimplyExpectingDataContext()) { var lastVersion = db.PageContent.OrderByDescending(c => c.Version).FirstOrDefault().Version; Version = lastVersion + 1; db.PageContent.Add(this); db.SaveChanges(); } } catch (Exception x) { System.Diagnostics.Debug.WriteLine(x.Message); } })); }
public Task <Content> ReadFromStoreAsync(int sectionId, int version) { return(Task.Run(() => { using (var db = new SimplyExpectingDataContext()) { var content = db.PageContent.Where(c => c.SectionId == sectionId && c.Version > version) .OrderByDescending(c => c.Version) .FirstOrDefault(); if (content == null) { content = new Content { SectionId = sectionId, Version = version } } ; return content; } })); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional, version = RouteParameter.Optional } ); config.Formatters.Add(new BsonMediaTypeFormatter()); Database.SetInitializer(new DatabaseInitialier()); using (var db = new SimplyExpectingDataContext()) { db.Configuration.LazyLoadingEnabled = true; db.Database.Initialize(true); } }