-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Functionality and Optimization updates #2
base: master
Are you sure you want to change the base?
Conversation
…rting by returning the errorDetail to give greater clarity into why things fail.
…XIR and IR query types, simplify and speed up some logic using LINQ.
…imply iterate over every changed record and upload to the server one at a time: combine deletes into a single API call (potentially split apart if it's too large), and combine uploads via a CSV upload. Also handle support of tables that have a different primary key other than 'Record ID#' API additions: adding in missing query operations (mostly so that you can add the 'options'), create a QRecord.GetAsCSV so that one can get the contents of the DB as a list of CSV strings, also improve error reporting in the case of setting non-existant columns.
…: make it so users don't have to know how QB represents time, etc.
…d and incomplete. Fixed now and tested.
…ype, add value checking on set, hide all QB conversions from end user, support additional QB types, start handling multiple choice fields properly.
… from the server, remove stubs for unit testing from Intuit that was not included in their source package, start to write my own unit tests.
…one. Also handle unset fields properly for records not yet sent to the server.
…conversion must be asymetrical. More research needed as to why, but tested and working.
…st of most value types), correct a few comments in the code, and using new unit tests, correct interpretation of some of the date/time types.
bf39f38
to
e8c1119
Compare
… properly XMLquote username and passwords
@@ -62,11 +64,19 @@ private int Hours | |||
|
|||
internal override string GetXmlPayload() | |||
{ | |||
#if FALSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this block be deleted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes indeed. Fixed, thanks.
… to avoid problems with invalid entities, etc. Should refactor soon to remove a lot of the ToString calls. Also shut off genCSV uploads for tables with file columns.
…at could cause issues with record uploads involving fields with lookup values.
… of previously null column values
… by spliting the query in half and trying agian, etc.
Handle cases of no query string properly, and support column lists. Also remove a VS2015ism for backwords compatibility
…way sensitive data is loaded for running tests
…bles better. Remove a VS2015ism that prevents compiling on older versions of VS
…o-referenced on its fieldIDs), complete deletion optimization, add test for deletion.
… LF characters by implementing an 'uncleantext' bool and filtering those records out to be handled via the individual record submission that does not suffer this problem.
… id# column might not be named that.
…error. Need to find out the exact delay required
…for using new tables, beginning support for automatically handling TooManyCriteria errors, fix problem with updating record states on table.AcceptChange
…dling of all date and timestamp values as UTC internally to work around issues. Finally have all tested values passing roundtrip and modify tests... we have a (minimal coverage) test suite that now works! Duration, File and Address fields do not work entirely right, and are next on my plate, followed by more comprehensive tests. ical and vcard are probably not supportable, as they aren't really exposed via the API as far as I can tell.
Still waiting on any action or comment from @QuickbaseAdmirer, I think these changes are pretty important and massively speed up and improve the experience of working with QB. |
…ke sure special characters are always handled properly.
# Conflicts: # Intuit.QuickBase.Client/QTable.cs # Intuit.QuickBase.Core/Exceptions/APIRequestLimitExceededException.cs # Intuit.QuickBase.Core/HttpPostXml.cs # Intuit.QuickBase.Core/Payload/AddRecordPayload.cs # Intuit.QuickBase.Core/Payload/EditRecordPayload.cs # Intuit.QuickBase.Core/Payload/ImportFromCSVPayload.cs
…for TLS 1.0 and TLS 1.2 from QB's servers
…I calls for tables that aren't used via API
…elds marked 'summary', support for queries to add on to previous results
…splitting a query with too many arguments into multiple queries.
… this has been removed from recent Visual Studio versions, implementation and rudimentary testing of multitext fields (adding new options works, deleting is a hard problem not implemented yet)..
…Sharp-SDK * updated code to enable connections with usertoken, in addition to username/password Fix duration fields to properly round trip, allow columns to be referenced by name, add in tests for multitext and AddOptions
…mission issue with adding choices, start working on 'richtext' vs plain text (pass along setting from QB, don't do any filtering yet)
… RemoveRange for records
Change system to use fewer API calls, fix a few bugs, and switch the model to use .Net native types so that client code doesn't need to know internal formats of QuickBase. Also add beginnings of unit testing with Visual Studio's own test harness.