public bool CreateOrderRecord(OrderData order, bool updateIfPresent = false) { //AirtableRecord record = new AirtableRecord(); Fields fields = new Fields(); fields.FieldsCollection = order.ToDictionary(); string orderID = ""; var existingRecord = GetRecordByOrderID(order.OrderID.ToString(), out orderID); //order is present if (existingRecord != null) { //do not replace if present if (!updateIfPresent) { return(false); } else { fields.FieldsCollection["Month"] = new string[] { _monthlyTable.GetMonthlyID(order.ShipDate) }; var task = _mainAirtableBase.UpdateRecord(TableName, fields, orderID); var response = task.Result; if (!task.Result.Success) { throw new Exception(task.Result.AirtableApiError.ErrorMessage); } return(task.Result.Success); } } else { fields.FieldsCollection["Created Month"] = new string[] { _monthlyTable.GetLatestMonthlyID() }; if (order.ShipDate != null) { fields.FieldsCollection["Month"] = new string[] { _monthlyTable.GetMonthlyID(order.ShipDate) }; } var task = _mainAirtableBase.CreateRecord(TableName, fields); var response = task.Result; if (!task.Result.Success) { throw new Exception(task.Result.AirtableApiError.ErrorMessage); } return(task.Result.Success); } }
public void CreateExpensesRecord(ExpensesData expensesData) { //AirtableRecord record = new AirtableRecord(); Fields fields = new Fields(); fields.FieldsCollection = expensesData.ToDictionary(); fields.FieldsCollection["Month"] = new string[] { _monthlyTable.GetLatestMonthlyID() }; var expenseType = _expenseTypes.MatchExpenseTypeRecordID(expensesData.Name); if (!string.IsNullOrEmpty(expenseType)) { fields.FieldsCollection["Expense Type"] = new string[] { expenseType }; } Task <AirtableCreateUpdateReplaceRecordResponse> task = _mainAirtableBase.CreateRecord(TableName, fields); var response = task.Result; if (!task.Result.Success) { throw new Exception(task.Result.AirtableApiError.ErrorMessage); } }