private int find_activity(string activity_name) { List <SContext> contexts = server_api.GetContextsForSite(Configurations.GetSiteNameForServer()); for (int counter = 0; counter < contexts.Count; counter++) { if (contexts[counter].title.ToLower() == activity_name.ToLower() && contexts[counter].kind == "Activity") { return(contexts[counter].id); } } return(-1); }
public bool UpdateLocalActivitites() { try { List <SContext> contexts = server_api.GetContextsForSite(Configurations.GetSiteNameForServer()); TableTopDataClassesDataContext db = Configurations.GetTableTopDB(); if (contexts != null) { if (contexts.Count > 0) { var activities = from ac in db.Activities select ac; for (int counter = 0; counter < contexts.Count; counter++) { if (contexts[counter].kind != "Landmark" && contexts[counter].title != "Pilot") { Activity a = null; foreach (Activity activity in activities) { if (activity.technical_info.Split(new char[] { ';' })[0] == contexts[counter].id.ToString()) { a = activity; break; } } if (a == null) { //create the activity a = new Activity(); a.name = contexts[counter].title; a.location_id = 0; a.description = contexts[counter].description; a.creation_date = DateTime.UtcNow; Extras ex = JsonConvert.DeserializeObject <Extras>(contexts[counter].extras); a.technical_info = contexts[counter].id.ToString() + ";" + contexts[counter].kind + ";" + contexts[counter].extras; if (ex != null) { a.avatar = ex.icon; if (!ex.active) { a.expire_date = DateTime.Now; } } db.Activities.InsertOnSubmit(a); } else { //modify it a.name = contexts[counter].title; a.description = contexts[counter].description; Extras ex = JsonConvert.DeserializeObject <Extras>(contexts[counter].extras); a.technical_info = contexts[counter].id.ToString() + ";" + contexts[counter].kind + ";" + contexts[counter].extras; a.avatar = ex.icon; if (!ex.active) { a.expire_date = DateTime.Now; } else { a.expire_date = null; } } if (!SubmitChangesToLocalDB(db)) { return(false); } } } } } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } return(true); }