public bool CreateOrderRecord(OrderTrackingData order, out string recordID, bool updateIfPresent = false) { //AirtableRecord record = new AirtableRecord(); Fields fields = new Fields(); fields.FieldsCollection = order.ToDictionary(); var existingRecord = GetRecordByOrderID(order.OrderID.ToString(), out recordID); //order is present if (existingRecord != null) { //do not replace if present if (!updateIfPresent) { return(false); } else { var task = _invAirtableBase.UpdateRecord(TableName, fields, recordID); var response = task.Result; return(task.Result.Success); } } else { var task = _invAirtableBase.CreateRecord(TableName, fields); var response = task.Result; if (!task.Result.Success) { throw new Exception(task.Result.AirtableApiError.ErrorMessage); } recordID = response.Record.Id; return(task.Result.Success); } }
public bool UpdateOrderRecord(OrderTrackingData order) { Fields fields = new Fields(); fields.FieldsCollection = order.ToDictionary(); var existingRecord = GetRecordByOrderID(order.OrderID.ToString(), out string recordID); var task = _invAirtableBase.UpdateRecord(TableName, fields, recordID); var response = task.Result; return(task.Result.Success); }