private void EnsureTablesExist() { using (var db = connectionFactory.Connect()) { db.CreateTableIfNotExists<Thing>(); ////Fill some hardcoded entries (temp code) IEnumerable<Thing> result = null; result = GetAll(); if (result.Count() == 0) { //data if database is empty var thingToInsert = new Thing() { Title = @"C", Sticky = true }; thingToInsert.ComputeName(); thingToInsert.Quadrantid = Quadrant.Languages; db.Insert(thingToInsert); thingToInsert = new Thing() { Title = @"Scala", Sticky = true }; thingToInsert.ComputeName(); thingToInsert.Quadrantid = Quadrant.Languages; db.Insert(thingToInsert); } } }
/// <summary> /// This will create a new Thing /// /// </summary> /// <param name="thing">Thing.</param> public object Post(Thing thing) { Console.WriteLine("Post received thing string = " + thing.ToString()); if (String.IsNullOrWhiteSpace(thing.Title) ) throw new HttpError(HttpStatusCode.NotAcceptable, "Thing was not complete"); thing.ComputeName(); var existingThing = Repository.Get(thing.Name); if (existingThing == null) { return Repository.StoreNew(thing); } else if (existingThing.Quadrantid == thing.Quadrantid) { return existingThing; } else { throw new HttpError(System.Net.HttpStatusCode.Conflict, "'" + thing.Name + "' already exists (in category '" + thing.Quadrantid + "')"); } }