public int AddRecord(string db, List <IField> fields) { try { AddRecord.Builder builder = new AddRecord.Builder(__ticket, __token, __domain, db, fields); var response = builder.Build().Post().CreateNavigator(); var errcode = response.SelectSingleNode("/qdbapi/errcode").ToString(); if (errcode == "0") { return(Int32.Parse(response.SelectSingleNode("/qdbapi/rid").ToString())); } else { message = "Error " + response.SelectSingleNode("/qdbapi/errcode").ToString() + ": " + response.SelectSingleNode("/qdbapi/errtext").ToString(); } } catch (Intuit.QuickBase.Core.Exceptions.CannotChangeValueOfFieldException ex1) { message = ex1.Message; } catch (Intuit.QuickBase.Core.Exceptions.InvalidInputException ex2) { message = "Revise el valor de los campos enviados. " + ex2.Message; } catch (Exception ex) { message = ex.Message; } return(-1); }
public void AcceptChanges() { var fieldsToPost = new List <IField>(); if (RecordState == RecordState.Modified) { foreach (var field in this._fields) { if (field.Column.ColumnLookup) { continue; //don't try to update values that are results of lookups } if (field.Update) { IField qField = new Field(field.FieldId, field.Type, field.QBValue); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); field.Update = false; } } var editBuilder = new EditRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost); editBuilder.SetTimeInUtc(true); var editRecord = editBuilder.Build(); editRecord.Post(); RecordState = RecordState.Unchanged; } else if (RecordState == RecordState.New) { foreach (var field in this._fields) { if (field.Column.ColumnLookup) { continue; //don't try to update values that are results of lookups } IField qField = new Field(field.FieldId, field.Type, field.QBValue); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); } var addBuilder = new AddRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, fieldsToPost); addBuilder.SetTimeInUtc(true); var addRecord = addBuilder.Build(); RecordState = RecordState.Unchanged; var xml = addRecord.Post().CreateNavigator(); RecordId = int.Parse(xml.SelectSingleNode("/qdbapi/rid").Value); RecordState = RecordState.Unchanged; IsOnServer = true; } }
public void AcceptChanges() { var fieldsToPost = new List <IField>(); if (RecordState == RecordState.Modified) { foreach (var field in _fields) { if (field.Update) { IField qField = new Field(field.FieldId, field.Type, field.Value); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); field.Update = false; } } var editRecord = new EditRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost).Build(); editRecord.Post(); RecordState = RecordState.Unchanged; } else if (RecordState == RecordState.New) { foreach (var field in _fields) { IField qField = new Field(field.FieldId, field.Type, field.Value); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); } var addRecord = new AddRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, fieldsToPost).Build(); RecordState = RecordState.Unchanged; var xml = addRecord.Post().CreateNavigator(); RecordId = int.Parse(xml.SelectSingleNode("/qdbapi/rid").Value); RecordState = RecordState.Unchanged; IsOnServer = true; } }
public void AcceptChanges() { List <IField> fieldsToPost; switch (RecordState) { case RecordState.Modified: fieldsToPost = new List <IField>(); foreach (var field in _fields) { if (field.Column.ColumnLookup || field.Column.ColumnSummary || field.Column.ColumnVirtual) { continue; //don't try to update values that are results of lookups } if (field.Update) { IField qField = new Field(field.FieldId, field.Type, field.QBValue); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); field.Update = false; } } var editBuilder = new EditRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost); editBuilder.SetTimeInUtc(true); var editRecord = editBuilder.Build(); editRecord.Post(); RecordState = RecordState.Unchanged; break; case RecordState.New: fieldsToPost = new List <IField>(); foreach (var field in _fields) { if (field.Column.ColumnLookup || field.Column.ColumnSummary || field.Column.ColumnVirtual) { continue; //don't try to update values that are results of lookups } IField qField = new Field(field.FieldId, field.Type, field.QBValue); if (field.Type == FieldType.file) { qField.File = field.FullName; } fieldsToPost.Add(qField); } var addBuilder = new AddRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, fieldsToPost); addBuilder.SetTimeInUtc(true); var addRecord = addBuilder.Build(); RecordState = RecordState.Unchanged; var xml = addRecord.Post(); RecordId = int.Parse(xml.Element("rid").Value); RecordState = RecordState.Unchanged; IsOnServer = true; break; } }