public static void ConstructRecordObjectFromPostSaveRequest(JSONRecord jr, ref PrimaryKeyRecord rec) { PrimaryKeyTable t = (PrimaryKeyTable)DatabaseObjects.GetTableObject(jr.TableName); t.ResetSelectedColumns(); rec = new PrimaryKeyRecord(t); rec.IsExistsInDatabase = jr.IsExistsInDatabase; if ((jr.JRecordValues != null)) { foreach (JRecordValue jRecordValue in jr.JRecordValues) { BaseColumn bc = t.TableDefinition.ColumnList.GetByCodeName(jRecordValue.ColumnName); if (!bc.IsValuesReadOnly) { rec.Parse(jRecordValue.ColumnValue, bc); } else if (t.TableDefinition.IsPrimaryKeyElement(bc)) { KeyValue kv = new KeyValue(); kv.AddElement(jRecordValue.ColumnName, jRecordValue.ColumnValue.ToString()); rec.PrimaryKeyValue = kv; } } } }
public static void DeleteRecord(JSONRecord jr, ref string errMsg) { PrimaryKeyTable pk = null; List <KeyValue> kvList = new List <KeyValue>(); ConstructRecordObjectFromPostDeleteRequest(jr, ref pk, ref kvList); try { foreach (KeyValue kv in kvList) { DbUtils.StartTransaction(); pk.DeleteOneRecord(kv); DbUtils.CommitTransaction(); } } catch (Exception ex) { DbUtils.RollBackTransaction(); errMsg = ex.Message; } finally { DbUtils.EndTransaction(); } }
public static string SaveRecord(JSONRecord jr, ref string errMsg) { PrimaryKeyRecord rec = null; ConstructRecordObjectFromPostSaveRequest(jr, ref rec); try { DbUtils.StartTransaction(); rec.Save(); DbUtils.CommitTransaction(); } catch (Exception ex) { DbUtils.RollBackTransaction(); errMsg = ex.Message; return(string.Empty); } finally { DbUtils.EndTransaction(); } return(rec.GetID().ToXmlString()); }
public static void ConstructRecordObjectFromPostDeleteRequest(JSONRecord jr, ref PrimaryKeyTable pk, ref List <KeyValue> kvList) { pk = (PrimaryKeyTable)DatabaseObjects.GetTableObject(jr.TableName); if ((jr.JRecordValues != null)) { foreach (JRecordValue jRecordValue in jr.JRecordValues) { KeyValue kv = new KeyValue(); kv.AddElement(jRecordValue.ColumnName, jRecordValue.ColumnValue.ToString()); kvList.Add(kv); } } }