public void _save_siteSettings( [ARDataBind("user", Validate = true, AutoLoad = AutoLoadBehavior.NewRootInstanceIfInvalidKey)] users user ) { Dictionary <string, string> urlparams = getPostParmasAsObj_obj("settings"); var jss = new JavaScriptSerializer(); //jss.RegisterConverters(new JavaScriptConverter[] { new DynamicJsonConverter() }); //var values = new Dictionary<string, object>(); MyJsonDictionary <String, Object> values = new MyJsonDictionary <String, Object>(); foreach (KeyValuePair <string, string> _urlparams in urlparams) { values.Add(_urlparams.Key, _urlparams.Value); } /* * values.Add("Title", "Hello World!"); * values.Add("Text", "My first post"); * values.Add("Tags", new[] { "hello", "world" }); */ //var usettings = new DynamicEntity(values); user.settings.attr = Serialize(values); //jss.Serialize(usettings); ActiveRecordMediator <users> .Save(user); Flash["message"] = "Your setting were saved"; RedirectToAction("_list_siteSettings"); }
public void Update( [ARDataBind("view", Validate = true, AutoLoad = AutoLoadBehavior.NewRootInstanceIfInvalidKey)] map_views view, [ARDataBind("tabs", Validate = true, AutoLoad = AutoLoadBehavior.NewRootInstanceIfInvalidKey)] infotabs[] tabs, int[] cats, String[] newtab, [ARDataBind("images", Validate = true, AutoLoad = AutoLoadBehavior.NewRootInstanceIfInvalidKey)] media_repo[] images, String[][] fields, int[] geolist, int[] placelist, bool ajaxed_update, bool forced_tmp, string LongLength, string Length, string apply, string cancel ) { //if (view.options.id == 0) ActiveRecordMediator<map_views_options>.Save(view.options); Flash["view"] = view; Flash["tags"] = view; Flash["authors"] = view; //ActiveRecordMediator<map_views>.Update(view); if (cancel != null) { HelperService.writelog("Canceled changes mapview", view.id); view.editing = null; ActiveRecordMediator <map_views> .Save(view); RedirectToAction("list"); return; } if (view.name == null || view.name.Length == 0) { //Flash["error"] = "You are missing the basic parts of a view"; //RedirectToReferrer(); //return; } if (forced_tmp && view.id == 0) { view.tmp = true; } else { view.tmp = false; string gemSql = "POINT (" + LongLength + " " + Length + ")"; string wkt = gemSql; SqlChars udtText = new SqlChars(wkt); SqlGeography sqlGeometry1 = SqlGeography.STGeomFromText(udtText, 4326); MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); byte[] WKB = sqlGeometry1.STAsBinary().Buffer; view.center = geometrics.AsByteArray(sqlGeometry1);//WKB;// } //view.tags.Clear(); //view.Images.Clear(); users user = userService.getUserFull(); view.authors.Clear(); if (apply != null) { } else { view.editing = null; } if (view.id == 0) { if (!userService.checkPrivilege("can_publish") || view.status == null) { status stat = ActiveRecordBase <status> .Find(1); view.status = stat; } view.creation_date = DateTime.Now; } else { view.updated_date = DateTime.Now; } /* foreach (authors author in authors){ * if (author.id > 0) * view.authors.Add(author); * }*/ view.authors.Add(user); if (HelperService.alias_exsits(view.alias, this.GetType().Name).Length > 1) { view.alias = view.alias + "1"; ActiveRecordMediator <map_views> .Save(view); Flash["error"] = "The url you choose is in use. Please choose a new one. We have saved it as '" + view.alias + "1" + "' currently."; if (apply != " Save ") { RedirectToUrl("~/view/_edit.castle?id=" + view.id); } else { RedirectToReferrer(); } return; } /* * //map_views_options tmp = view.options; * var jss = new JavaScriptSerializer(); * var json = jss.Serialize(tmp); * view.options_obj = json; */ Dictionary <string, string> urlparams = getPostParmasAsObj_obj("options"); var jss = new JavaScriptSerializer(); //jss.RegisterConverters(new JavaScriptConverter[] { new DynamicJsonConverter() }); //var values = new Dictionary<string, object>(); MyJsonDictionary <String, Object> values = new MyJsonDictionary <String, Object>(); foreach (KeyValuePair <string, string> _urlparams in urlparams) { values.Add(_urlparams.Key, _urlparams.Value); } view.options_obj = Serialize(values);//jss.Serialize(usettings); if (view.geometrics != null) { view.geometrics.Clear(); foreach (int newItem in geolist) { view.geometrics.Add(ActiveRecordBase <geometrics> .Find(newItem)); } } if (view.places != null) { view.places.Clear(); foreach (int newItem in placelist) { view.places.Add(ActiveRecordBase <place> .Find(newItem)); } } ActiveRecordMediator <map_views> .Save(view); string appPath = getRootPath(); String cachePath = appPath + "cache/embeds/"; string file = HelperService.CalculateMD5Hash(view.alias) + ".ext"; String file_path = cachePath + file; if (File.Exists(file_path)) { File.Delete(file_path); } cleanUpview_media(view.id); Flash["view"] = null; Flash["tags"] = null; Flash["authors"] = null; if (apply != null) { HelperService.writelog("Applied changes mapview ", view.id); if (apply != " Save ") { RedirectToUrl("~/view/_edit.castle?applied=true&id=" + view.id); } else { RedirectToUrl("~/view/_edit.castle?applied=true"); //RedirectToReferrer(); } } else { view.editing = null; ActiveRecordMediator <map_views> .Save(view); HelperService.writelog("Saved mapview ", view.id); RedirectToAction("list"); } }