public JsonResult EditLayer(LayerEditViewModel model) { if (ModelState.IsValid) { Layer layer = model.CurrentLayer; Layer olrlayer; if (model.CurrentLayer.Geomtype == null) { olrlayer = GetDictionaries() .FirstOrDefault(d => d.Table_schema == layer.Table_schema && d.Table_name == layer.Table_name); } else { olrlayer = GetLayers() .FirstOrDefault(d => d.Table_schema == layer.Table_schema && d.Table_name == layer.Table_name); } bool?isupdaterCompare = null; if (layer.Isupdater != olrlayer.Isupdater) { isupdaterCompare = layer.Isupdater; } bool?isloggerCompare = null; if (layer.Islogger != olrlayer.Islogger) { isloggerCompare = layer.Islogger; } string descript = null; if (layer.Descript != olrlayer.Descript) { if (layer.Descript == null) { descript = ""; } else { descript = layer.Descript; } } try { _service.ChangeLayer( layer.Table_schema, layer.Table_name, descript, isupdaterCompare, isloggerCompare ); } catch (Exception e) { return(Json(new { error = e.Message })); } } else { string messages = string.Join("; ", ViewData.ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); return(Json(new { error = messages })); } return(Json(new { status = "ok" })); }