public AmplaDataSubmissionResultBinding(DataSubmissionResult[] dataSubmissionResults, List <TModel> models, IModelProperties <TModel> modelProperties) { this.dataSubmissionResults = dataSubmissionResults ?? new DataSubmissionResult[0]; this.models = models; this.modelProperties = modelProperties; idProperty = ModelIdentifier.GetPropertyName <TModel>(); }
public ModelIdentifierBinding(TModel model, List <int> identifiers, IModelProperties <TModel> modelProperties) { this.model = model; this.identifiers = identifiers; this.modelProperties = modelProperties; idProperty = ModelIdentifier.GetPropertyName <TModel>(); }
public bool Bind() { if (models.Count == 0) { return(false); } foreach (TModel model in models) { UpdateRecordStatus record = new UpdateRecordStatus { Location = modelProperties.GetLocation(model), Module = modelProperties.Module, MergeCriteria = new UpdateRecordStatusMergeCriteria { SetId = ModelIdentifier.GetValue <TModel, long>(model) }, RecordAction = recordAction }; records.Add(record); } return(true); }
public override int GetHashCode() { int value = 13; if (ModelIdentifier != null) { value ^= 3 ^ ModelIdentifier.GetHashCode(); } if (FieldIdentifier != null) { value ^= 5 ^ FieldIdentifier.GetHashCode(); } if (UiHint != null) { value ^= 7 ^ UiHint.GetHashCode(); } if (FieldType != null) { value ^= 11 ^ GetTypeHashCode(FieldType); } return(value); }
public AmplaDeleteDataBinding(List <TModel> models, List <DeleteRecord> records, IModelProperties <TModel> modelProperties) { this.models = models; this.records = records; this.modelProperties = modelProperties; idProperty = ModelIdentifier.GetPropertyName <TModel>(); }
public bool Bind() { if (response.RowSets.Length == 0) { return(false); } RowSet rowSet = response.RowSets[0]; string idPropertyName = ModelIdentifier.GetPropertyName <TModel>(); foreach (Row row in rowSet.Rows) { TModel model = new TModel(); modelProperties.TrySetValueFromString(model, idPropertyName, row.id); foreach (XmlElement cell in row.Any) { string field = XmlConvert.DecodeName(cell.Name); modelProperties.TrySetValueFromString(model, field, cell.InnerText); } records.Add(model); } return(true); }
protected AmplaUpdateRecordStatusBinding(List <TModel> models, List <UpdateRecordStatus> records, IModelProperties <TModel> modelProperties, UpdateRecordStatusAction recordAction) { this.models = models; this.records = records; this.modelProperties = modelProperties; this.recordAction = recordAction; idProperty = ModelIdentifier.GetPropertyName <TModel>(); }
public int?GetModelId() { if (string.IsNullOrEmpty(ModelIdentifier)) { return(null); } return(int.Parse(ModelIdentifier.Substring(1))); }
public bool Bind() { if (existing == null) { return(false); } if (update == null) { return(false); } if (modelProperties.GetLocation(existing) != modelProperties.GetLocation(update)) { return(false); } SubmitDataRecord record = new SubmitDataRecord { Location = modelProperties.GetLocation(existing), Module = modelProperties.Module, MergeCriteria = new MergeCriteria { SetId = ModelIdentifier.GetValue <TModel, long>(update) } }; List <Field> fields = new List <Field>(); foreach (FieldMapping fieldMapping in amplaViewProperties.GetFieldMappings()) { if (fieldMapping.CanWrite) { string existingField; string updateField; if (fieldMapping.TryResolveValue(modelProperties, existing, out existingField) && fieldMapping.TryResolveValue(modelProperties, update, out updateField)) { if (updateField != existingField) { Field field = new Field { Name = fieldMapping.Name, Value = updateField }; fields.Add(field); } } } } if (fields.Count > 0) { record.Fields = fields.ToArray(); records.Add(record); } return(records.Count > 0); }
public void PutModel <T>(ref T model) where T : class, ICacheableModel { CleanReferences(); var identfier = new ModelIdentifier(model); if (referenceList.ContainsKey(identfier)) { model = referenceList[identfier].Target as T; } else { referenceList.Add(model); modelBuffer.Add(new KeyValuePair <DateTime, object>(DateTime.Now, model)); } }
public void PutModel <T>(T model) where T : class, ICacheableModel { CleanReferences(); var identfier = new ModelIdentifier(model); if (referenceList.ContainsKey(identfier)) { throw new ArgumentException("Model is already registered in Model Manager! Consider using this function with \"ref\" keyword to prevent this Error."); } else { referenceList.Add(model); modelBuffer.Add(new KeyValuePair <DateTime, object>(DateTime.Now, model)); } }
public override int GetHashCode() { int value = 13; if (ModelIdentifier != null) { value ^= ModelIdentifier.GetHashCode(); } if (FieldIdentifier != null) { value ^= FieldIdentifier.GetHashCode(); } if (MetadataKey != null) { value ^= MetadataKey.GetHashCode(); } return(value); }