コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }