APIException will be thrown. If there is a problem parsing the response, a ResponseException or a DeserializationException may be thrown. See the Exception Management section for more details on the exception types.ModelFactory (implementing ICRMModelFactory) object. See the Model Factory section for more detail.ISyncableModel and RawFieldsOption is StoreAll, the field data will be loaded to the RawFields dictionary (see the Creating Strongly-Typed Models section).ISyncableModel and RawFieldsOption is StoreAll, the field data will be loaded to the RawFields dictionary (see the Creating Strongly-Typed Models section).ISyncableModel and RawFieldsOption is StoreeAll or StoreUnmapped, the field data will be loaded to the RawFields dictionary (see the Creating Strongly-Typed Models section).ISyncableModel and RawFieldsOption is StoreAll, StoreUnmapped or StoreUnmatched, the field data will be loaded to the RawFields dictionary (see the Creating Strongly-Typed Models section).ISyncableModel, the field data will be loaded to the UnassignableProperties dictionary (see the Creating Strongly-Typed Models section). If the model does not implement ISyncableModel, the property will simply not be assigned. For more detail on the type conversions and mappings, see the Zoho Field Type to .NET Type Mappings section.CRMPostResults object). If PostModelSyncOption is not None, the Id property must be identifiable, otherwise an exception is thrown (see the Id Property Identification section).ISyncableModel and state tracking is not disabled (an ISyncableModel can disable state tracking upon instantiation or temporarily using the SuspendStateTracking method), the ModelState must be New to execute an insert or Modified to execute an update, otherwise an exception will be thrown.IValidatableModel and the ValidateBeforePost option is true, validation will be attempted prior to posting (see the Model Validation section). If validation fails, an exception will be thrown.ISyncableModel and state tracking is not disabled, only those properties with a property state (accessed via ISyncableModel’s GetPropertyState method) of Modified will be serialized
WebSyncSeparatePascalCaseAttribute is applied to the property, then spaced format field name derived from the property name will be used. Otherwise, the default Zoho field name will be used.WebSyncReadOnlyAttribute or the WebSyncReadOnlyUpdateAttribute will not be serialized (see the Read Only Attributes section)CRMLookupIdAttribute will not be serialized if they do not have a value (passing a null value to Zoho will cause an error)ModelPropertiesSerializationOption is not SerializeMappedOnly, an attempt will be made to serialize unmapped properties using the logic described under SerializeAllMatched of the ModelPropertiesSerializationOption option.ModelPropertiesSerializationOption is SerializeAll, any remaining properties will be serialized. If the property is decorated with the WebsyncSeparatePascalCaseAttribute, the Zoho field name will be converted to a spaced format, otherwise the Zoho field name will be identical to the property name.ISyncableModel and the SerializeRawFields option is true, any RawField entries that have not already been serialized via a model property, will be serialized.CRMPostResults object (see the CRM Post Results section).PostModelSyncOption is not None, the model objects are updated with the field values returned in each CRMRecordPostResult record of the CRMPostResults.Records property. Each model object is only updated if there were no errors associated with posting that model object record. If the post was an insert and a duplicate for a posted model object was identified but not updated (DuplicateInsertResult.Identified), then no model properties will be updated. Otherwise, for inserts, the Id property will be assigned the value returned with the post results. If the special fields CreatedTime, ModifiedTime, CreatedBy and ModifiedBy are identified on the model objects, the field values returned with the post result will be applied to the corresponding model object. If errors occur in assigning the above field values to the model properties, error strings are added to the CRMPostResults object record's ModelErrorMessages property. This is done to avoid throwing an exception after the Zoho API may already have been updated and to allow all model objects unaffected by the error to get updated appropriately.ISyncableModel, the model state is set to Unsynced and the model property dictionaries (UnassignableProperties, UnsyncableProperties and RefreshableProperties) are cleared. These updates will occur only for those models associated with post result records that do not have an error message. Updates will also not occur for inserts in which a duplicate was identified and not updated. Model states are only updated for models in which state tracking is not disabled, but the model property dictionaries will be cleared for all ISyncableModels. If errors occur in assigning the model state, error strings are added to the CRMPostResults object record's ModelErrorMessages property. This is done to avoid throwing an exception after the Zoho API may already have been updated and to allow all model objects unaffected by the error to get updated appropriately.PostModelSyncOption is FullSync, for each posted model object implementing ISyncableModel, a full sync will be performed by issuing a secondary get requests for the model record and comparing each property value, determining if the posted values were recorded in the Zoho system as expected and determining if any other values have changed in the Zoho system that are not reflected in the local model object. The model state of each posted model will also be updated to Synced (or Unsyncable or Refreshable) and the model property dictionaries (UnassignableProperties, UnsyncableProperties and RefreshableProperties) will be cleared. These updates will occur only for those models associated with post result records that do not have an error message. Updates will also not occur for inserts in which a duplicate was identified and not updated. Model states are only updated for models in which state tracking is not disabled, but the model property dictionaries will be cleared for all ISyncableModels. If errors occur in assigning the model state, error strings are added to the CRMPostResults object record's ModelErrorMessages property. This is done to avoid throwing an exception after the Zoho API may already have been updated and to allow all model objects unaffected by the error to get updated appropriately.WebSyncReadOnlyUpdateAttribute.UnsyncableProperties dictionary. If a non-posted property value is different from the secondary get request fetched value, the property state will be set to Refreshable and the fetched value will be added to the RefreshableProperties dictionary.
© 2022 Jeff Williamson. All rights reserved. Privacy Policy | Terms of Service