Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }