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 DeleteOrderRecord(OrderTrackingData order) { var existingRecord = GetRecordByOrderID(order.OrderID.ToString(), out string recordID); var task = _invAirtableBase.DeleteRecord(TableName, recordID); var response = task.Result; return(task.Result.Success); }
public OrderTrackingData NewOrderTrackingData(string orderID) { OrderTrackingData a = new OrderTrackingData(orderID, _namesTable.GetNamesLookup()); if (a is null) { throw new ArgumentNullException(); } return(a); }
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); }
public OrderTrackingData OrderDataToOrderTrackingData(OrderData orderData) { OrderTrackingData orderTrackingData = new OrderTrackingData(orderData.OrderID, _namesTable.GetNamesLookup()); orderTrackingData.Description = orderData.Description; orderTrackingData.Notes = orderData.Notes; orderTrackingData.PrintOperator = orderData.PrintOperator; orderTrackingData.DueDate = orderData.DueDate; orderTrackingData.Shipper = orderData.Shipper; orderTrackingData.ShipDate = orderData.ShipDate; orderTrackingData.Priority = orderData.Rush; orderTrackingData.OrderURL = orderData.OrderURL; orderTrackingData.OrderValue = orderData.TotalPrice - orderData.ShippingCharge - orderData.MaterialCost - orderData.SalesTax; orderTrackingData.Channel = orderData.Channel; if (orderTrackingData is null) { throw new ArgumentNullException(); } return(orderTrackingData); }