/// <summary> /// Build SyncTarget from json /// </summary> /// <param name="target"></param> /// <returns></returns> public new static SyncDownTarget FromJson(JObject target) { if (target == null) return null; var query = target.ExtractValue<string>(Constants.Query); SoqlSyncDownTarget ssdt = new SoqlSyncDownTarget(query); ssdt.setSkipGroupingParenthesis(target.ExtractValue<bool>("skipGroupingParenthesis")); return ssdt; }
public static SyncOptions FromJson(JObject options) { if (options == null) return null; var mergeModeStr = options.ExtractValue<string>(Constants.MergeMode); var mergeMode = String.IsNullOrWhiteSpace(mergeModeStr) ? SyncState.MergeModeOptions.None : (SyncState.MergeModeOptions) Enum.Parse(typeof (SyncState.MergeModeOptions), mergeModeStr); var array = options.ExtractValue<JArray>(Constants.FieldList); return array == null ? new SyncOptions(null, mergeMode) : new SyncOptions(array.ToObject<List<string>>(), mergeMode); }
public SalesforceObjectLayoutColumn(JObject rawData) { if (rawData == null) { throw new SmartStoreException("rawData parameter cannot be null"); } Name = rawData.ExtractValue<string>(Constants.LayoutNameField); Field = rawData.ExtractValue<string>(Constants.LayoutFieldField); Format = rawData.ExtractValue<string>(Constants.LayoutFormatField); Label = rawData.ExtractValue<string>(Constants.LayoutLabelField); RawData = RawData; }
public static SyncOptions FromJson(JObject options) { if (options == null) return null; var mergeModeStr = options.ExtractValue<string>(Constants.MergeMode); var mergeMode = String.IsNullOrWhiteSpace(mergeModeStr) ? SyncState.MergeModeOptions.None : (SyncState.MergeModeOptions) Enum.Parse(typeof (SyncState.MergeModeOptions), mergeModeStr); var array = options.ExtractValue<JArray>(Constants.FieldList); SyncOptions so = new SyncOptions(array.ToObject<List<string>>(), mergeMode); array = options.ExtractValue<JArray>("fieldsToExcludeOnUpdate"); so.setFieldsToExcludeOnUpdate(array.ToObject<List<string>>()); return so; }
/// <summary> /// Build SyncTarget from json /// </summary> /// <param name="target"></param> /// <returns></returns> public new static SyncDownTarget FromJson(JObject target) { if (target == null) return null; var query = target.ExtractValue<string>(Constants.Query); return new SoqlSyncDownTarget(query); }
public SalesforceObject(JObject rawData) { if (rawData == null) { throw new SmartStoreException("rawData parameter cannot be null"); } var data = rawData.ExtractValue<string>(Constants.Id); if (data == null || String.IsNullOrWhiteSpace(data)) { ObjectId = rawData.ExtractValue<string>(Constants.Id.ToLower()); ObjectType = rawData.ExtractValue<string>(Constants.Type.ToLower()); Name = rawData.ExtractValue<string>(Constants.Name.ToLower()); } else { ObjectId = data; Name = rawData.ExtractValue<string>(Constants.Name); var attributes = rawData.ExtractValue<JObject>(Constants.Attributes); if (attributes != null) { ObjectType = attributes.ExtractValue<string>(Constants.Type.ToLower()); if (String.IsNullOrWhiteSpace(ObjectType) || Constants.RecentlyViewed.Equals(ObjectType) || Constants.NullString.Equals(ObjectType)) { ObjectType = rawData.ExtractValue<string>(Constants.Type); } } } RawData = rawData; if (ObjectId != null) { _hashcode = ObjectId.GetHashCode(); } _hashcode ^= rawData.GetHashCode() + _hashcode * 37; }
public SalesforceObjectType(JObject rawData) { if (rawData == null) { throw new SmartStoreException("rawData parameter cannot be null"); } Name = rawData.ExtractValue<string>(Constants.NameField); KeyPrefix = rawData.ExtractValue<string>(Constants.KeyprefixField); Label = rawData.ExtractValue<string>(Constants.LabelField); LabelPlural = rawData.ExtractValue<string>(Constants.LabelpluralField); if (String.IsNullOrWhiteSpace(Label)) { Label = Name; } if (String.IsNullOrWhiteSpace(LabelPlural)) { LabelPlural = Label; } RawData = RawData; IsSearchable = !rawData.ExtractValue<bool>(Constants.HiddenField) && rawData.ExtractValue<bool>(Constants.SearchableField); IsLayoutable = !rawData.ExtractValue<bool>(Constants.HiddenField) && rawData.ExtractValue<bool>(Constants.LayoutableField); Fields = RawData.ExtractValue<JArray>(Constants.FieldsField); /* * Extracts a few flagship fields and sets them to instance variables * for easy retrieval. */ if (Fields == null || Fields.Count <= 0) return; for (int i = 0, max = Fields.Count; i < max; i++) { var field = Fields[i].Value<JObject>(); var nameFieldPresent = field.ExtractValue<bool>(Constants.NameFieldField); if (!nameFieldPresent) continue; /* * Some objects, such as 'Account', have more than one * name field, like 'Name', 'First Name', and 'Last Name'. * This check exists to ensure that we use the first * name field, which is the flagship name field, and * not the last one. If it is already set, we won't * overwrite it. */ if (String.IsNullOrWhiteSpace(NameField) || Constants.NullString.Equals(NameField)) { NameField = field.ExtractValue<string>(Constants.NameField); } else { // NameField is set, no need to continue. break; } } }
protected SyncDownTarget(JObject target) : base(target) { QueryType = (QueryTypes)Enum.Parse(typeof(QueryTypes), target.ExtractValue<string>(Constants.QueryType)); }
/// <summary> /// Build SyncState from json /// </summary> /// <param name="sync"></param> /// <returns></returns> public static SyncState FromJson(JObject sync) { if (sync == null) return null; var jsonTarget = sync.ExtractValue<JObject>(Constants.SyncTarget); var syncType = (SyncTypes)Enum.Parse(typeof(SyncTypes), sync.ExtractValue<string>(Constants.SyncType)); var state = new SyncState { Id = sync.ExtractValue<long>(SmartStore.Store.SmartStore.SoupEntryId), Target = (syncType == SyncTypes.SyncDown ? (SyncTarget) SyncDownTarget.FromJson(jsonTarget) : SyncUpTarget.FromJSON(jsonTarget)), Options = SyncOptions.FromJson(sync.ExtractValue<JObject>(Constants.SyncOptions)), SoupName = sync.ExtractValue<string>(Constants.SyncSoupName), Progress = sync.ExtractValue<int>(Constants.SyncProgress), TotalSize = sync.ExtractValue<int>(Constants.SyncTotalSize), SyncType = syncType, Status = (SyncStatusTypes) Enum.Parse(typeof (SyncStatusTypes), sync.ExtractValue<string>(Constants.SyncStatus)), MaxTimeStamp = sync.ExtractValue<long>(Constants.SyncMaxTimeStamp) }; return state; }
public SoqlSyncDownTarget(JObject target) : base(target) { this.Query = target.ExtractValue<string>(QueryString); }
public MruSyncDownTarget(JObject target) : base(target) { FieldList = target.ExtractValue<JArray>(Constants.FieldList).ToObject<List<string>>(); ObjectType = target.ExtractValue<string>(Constants.SObjectType); }
protected SyncTarget(JObject target) { _idFieldName = target != null ? target.ExtractValue<string>(IdFieldName) : Constants.Id; _modificationDateFieldName = target != null ? target.ExtractValue<string>(ModificationDateFieldName) : Constants.LastModifiedDate; }
public SoslSyncDownTarget(JObject target) : base(target) { this.Query = target.ExtractValue<string>(Constants.Query); }