Esempio n. 1
0
 public bool EditRecord(string db, int rid, List <IField> fields)
 {
     try
     {
         EditRecord.Builder builder = new EditRecord.Builder(__ticket, __token, __domain, db, rid, fields);
         var response = builder.Build().Post().CreateNavigator();
         var errcode  = response.SelectSingleNode("/qdbapi/errcode").ToString();
         if (errcode == "0")
         {
             return(true);
         }
         else
         {
             message = "Error " + response.SelectSingleNode("/qdbapi/errcode").ToString() + ": " + response.SelectSingleNode("/qdbapi/errtext").ToString();
         }
     }
     catch (Intuit.QuickBase.Core.Exceptions.CannotChangeValueOfFieldException ex)
     {
         message = ex.Message;
     }
     catch (Intuit.QuickBase.Core.Exceptions.InvalidInputException ex2)
     {
         message = "Revise el valor de los campos enviados. " + ex2.Message;
     }
     catch (Exception ex3)
     {
         message = ex3.Message;
     }
     return(false);
 }
Esempio n. 2
0
        public void AcceptChanges()
        {
            var fieldsToPost = new List <IField>();

            if (RecordState == RecordState.Modified)
            {
                foreach (var field in this._fields)
                {
                    if (field.Column.ColumnLookup)
                    {
                        continue;                            //don't try to update values that are results of lookups
                    }
                    if (field.Update)
                    {
                        IField qField = new Field(field.FieldId, field.Type, field.QBValue);
                        if (field.Type == FieldType.file)
                        {
                            qField.File = field.FullName;
                        }
                        fieldsToPost.Add(qField);
                        field.Update = false;
                    }
                }
                var editBuilder = new EditRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost);
                editBuilder.SetTimeInUtc(true);
                var editRecord = editBuilder.Build();
                editRecord.Post();
                RecordState = RecordState.Unchanged;
            }
            else if (RecordState == RecordState.New)
            {
                foreach (var field in this._fields)
                {
                    if (field.Column.ColumnLookup)
                    {
                        continue;                            //don't try to update values that are results of lookups
                    }
                    IField qField = new Field(field.FieldId, field.Type, field.QBValue);
                    if (field.Type == FieldType.file)
                    {
                        qField.File = field.FullName;
                    }
                    fieldsToPost.Add(qField);
                }
                var addBuilder = new AddRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, fieldsToPost);
                addBuilder.SetTimeInUtc(true);
                var addRecord = addBuilder.Build();
                RecordState = RecordState.Unchanged;

                var xml = addRecord.Post().CreateNavigator();
                RecordId    = int.Parse(xml.SelectSingleNode("/qdbapi/rid").Value);
                RecordState = RecordState.Unchanged;
                IsOnServer  = true;
            }
        }
Esempio n. 3
0
        public void AcceptChanges()
        {
            var fieldsToPost = new List <IField>();

            if (RecordState == RecordState.Modified)
            {
                foreach (var field in _fields)
                {
                    if (field.Update)
                    {
                        IField qField = new Field(field.FieldId, field.Type, field.Value);
                        if (field.Type == FieldType.file)
                        {
                            qField.File = field.FullName;
                        }
                        fieldsToPost.Add(qField);
                        field.Update = false;
                    }
                }
                var editRecord = new EditRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost).Build();
                editRecord.Post();
                RecordState = RecordState.Unchanged;
            }
            else if (RecordState == RecordState.New)
            {
                foreach (var field in _fields)
                {
                    IField qField = new Field(field.FieldId, field.Type, field.Value);
                    if (field.Type == FieldType.file)
                    {
                        qField.File = field.FullName;
                    }
                    fieldsToPost.Add(qField);
                }
                var addRecord = new AddRecord.Builder(Application.Client.Ticket, Application.Token, Application.Client.AccountDomain, Table.TableId, fieldsToPost).Build();
                RecordState = RecordState.Unchanged;

                var xml = addRecord.Post().CreateNavigator();
                RecordId    = int.Parse(xml.SelectSingleNode("/qdbapi/rid").Value);
                RecordState = RecordState.Unchanged;
                IsOnServer  = true;
            }
        }
Esempio n. 4
0
        public void AcceptChanges()
        {
            List <IField> fieldsToPost;

            switch (RecordState)
            {
            case RecordState.Modified:
                fieldsToPost = new List <IField>();
                foreach (var field in _fields)
                {
                    if (field.Column.ColumnLookup || field.Column.ColumnSummary || field.Column.ColumnVirtual)
                    {
                        continue;     //don't try to update values that are results of lookups
                    }
                    if (field.Update)
                    {
                        IField qField = new Field(field.FieldId, field.Type, field.QBValue);
                        if (field.Type == FieldType.file)
                        {
                            qField.File = field.FullName;
                        }

                        fieldsToPost.Add(qField);
                        field.Update = false;
                    }
                }

                var editBuilder = new EditRecord.Builder(Application.Client.Ticket, Application.Token,
                                                         Application.Client.AccountDomain, Table.TableId, RecordId, fieldsToPost);
                editBuilder.SetTimeInUtc(true);
                var editRecord = editBuilder.Build();
                editRecord.Post();
                RecordState = RecordState.Unchanged;
                break;

            case RecordState.New:
                fieldsToPost = new List <IField>();
                foreach (var field in _fields)
                {
                    if (field.Column.ColumnLookup || field.Column.ColumnSummary || field.Column.ColumnVirtual)
                    {
                        continue;     //don't try to update values that are results of lookups
                    }
                    IField qField = new Field(field.FieldId, field.Type, field.QBValue);
                    if (field.Type == FieldType.file)
                    {
                        qField.File = field.FullName;
                    }

                    fieldsToPost.Add(qField);
                }

                var addBuilder = new AddRecord.Builder(Application.Client.Ticket, Application.Token,
                                                       Application.Client.AccountDomain, Table.TableId, fieldsToPost);
                addBuilder.SetTimeInUtc(true);
                var addRecord = addBuilder.Build();
                RecordState = RecordState.Unchanged;

                var xml = addRecord.Post();
                RecordId    = int.Parse(xml.Element("rid").Value);
                RecordState = RecordState.Unchanged;
                IsOnServer  = true;
                break;
            }
        }