private bool IsFieldValueMatched(ServiceObjectField fieldValue, string value, bool isArrayValue) { //if no filter value, then the record is matched. if (string.IsNullOrEmpty(value)) { return(true); } //if the field properties is null, then not matched. if (fieldValue == null) { return(false); } if (isArrayValue) { string[] fieldValues = value.Split(new char[] { ',' }); var found = (from v in fieldValues where fieldValue.isFieldValueEqualAs(v) select v).Count(); return(found > 0); } return(fieldValue.isFieldValueEqualAs(value)); }
private void EnsureServiceProperties(ServiceObject svcObject) { logger.LogDebug("Start EnsureServiceProperties"); ObjectDefinition objDef = objectService.GetObjectDefinitionById(svcObject.ObjectDefinitionId); List <ObjectKeyValuePair> removedProperties = new List <ObjectKeyValuePair>(); if (objDef != null) { logger.LogDebug("objDef : " + objDef.ObjectDefinitionName); } else { logger.LogError("objDef is null"); } logger.LogDebug("svcObject.Properties.Count: " + svcObject.Properties.Count); for (int i = 0; i < svcObject.Properties.Count; i++) { ObjectKeyValuePair property = svcObject.Properties[i]; var defField = (from f in objDef.ObjectFields where f.ObjectDefinitionFieldName.Equals(property.KeyName, StringComparison.InvariantCultureIgnoreCase) select f).FirstOrDefault(); if (defField != null) { ServiceObjectField fieldValue = null; switch (defField.GeneralObjectDefinitionFiledType) { case GeneralObjectDefinitionFieldType.PrimeType: fieldValue = JsonConvert.DeserializeObject <PrimeObjectField>(property.Value.ToString()); if (fieldValue == null) { removedProperties.Add(property); } ((PrimeObjectField)fieldValue).PrimeDataType = ((PrimeDefinitionField)defField).PrimeDataType; property.Value = fieldValue; break; case GeneralObjectDefinitionFieldType.File: fieldValue = JsonConvert.DeserializeObject <ObjectFileField>(property.Value.ToString()); if (fieldValue == null) { removedProperties.Add(property); } property.Value = fieldValue; break; case GeneralObjectDefinitionFieldType.ObjectReference: fieldValue = JsonConvert.DeserializeObject <ObjectReferenceField>(property.Value.ToString()); if (fieldValue == null) { removedProperties.Add(property); } property.Value = fieldValue; break; case GeneralObjectDefinitionFieldType.SingleSelection: fieldValue = JsonConvert.DeserializeObject <SingleSelectionField>(property.Value.ToString()); if (fieldValue == null) { removedProperties.Add(property); } property.Value = fieldValue; break; default: //not supported yet. logger.LogError("Not supported property : " + property.KeyName); removedProperties.Add(property); break; } } else { removedProperties.Add(property); } } foreach (var p in removedProperties) { svcObject.Properties.Remove(p); } logger.LogDebug("End EnsureServiceProperties"); }