private static ObjectDefinitionField Convert2ObjectRefDefinitionField(ObjRefObjectDefinitionField field) { var svcDefField = new ObjRefDefinitionField(); svcDefField.GeneralObjectDefinitionFiledType = field.GeneralObjectDefinitionFiledType; svcDefField.ObjectDefinitionFieldID = field.GeneralObjectDefinitionFieldID; svcDefField.ObjectDefinitionFieldKey = field.GeneralObjectDefinitionFieldKey; svcDefField.ObjectDefinitionFieldName = field.GeneralObjectDefinitionFieldName; svcDefField.ReferedObjectDefinitionID = field.ReferedObjectDefinitionID; return(svcDefField); }
private void DeserializeFields(List <ObjectDefinitionField> fields, IEnumerable <JToken> jObjects) { foreach (JObject obj in jObjects) { ObjectDefinitionField field = null; var fieldType = obj.Value <int>("generalObjectDefinitionFiledType"); switch ((GeneralObjectDefinitionFieldType)fieldType) { case GeneralObjectDefinitionFieldType.PrimeType: field = new PrimeDefinitionField(); ((PrimeDefinitionField)field).PrimeDataType = (PrimeFieldDataType)obj.Value <int>("primeDataType"); break; case GeneralObjectDefinitionFieldType.ObjectReference: field = new ObjRefDefinitionField(); ((ObjRefDefinitionField)field).ReferedObjectDefinitionID = obj.Value <int>("referedObjectDefinitionID"); break; case GeneralObjectDefinitionFieldType.SingleSelection: field = new SingleSDefinitionField(); ((SingleSDefinitionField)field).SelectionItems.AddRange(ParseSelectionItems(obj)); break; default: field = new ObjectDefinitionField((GeneralObjectDefinitionFieldType)fieldType); break; } if (field != null) { field.ObjectDefinitionFieldID = obj.Value <int>("objectDefinitionFieldID"); field.ObjectDefinitionFieldKey = obj.Value <string>("objectDefinitionFieldKey"); field.ObjectDefinitionFieldName = obj.Value <string>("objectDefinitionFieldName"); fields.Add(field); } } }
private static ObjRefObjectDefinitionField ParseObjectReferenceDefinitionField(ObjRefDefinitionField f, ObjRefObjectDefinitionField field) { if (field == null) { field = new ObjRefObjectDefinitionField(); } field.GeneralObjectDefinitionFieldKey = f.ObjectDefinitionFieldKey; field.GeneralObjectDefinitionFieldName = f.ObjectDefinitionFieldName; field.GeneralObjectDefinitionFiledType = f.GeneralObjectDefinitionFiledType; field.ReferedObjectDefinitionID = f.ReferedObjectDefinitionID; return(field); }
private ObjectDefinitionField ParseObjectDefinitionField(XElement property) { string typeString = property.Attribute("type").Value; switch (typeString) { case "String": case "Integer": case "Long": case "Datetime": case "Number": case "Binary": logger.LogDebug("Parse Binary field."); PrimeDefinitionField field = new PrimeDefinitionField(); field.PrimeDataType = (ObjectRepository.EntityModels.PrimeFieldDataType)Enum.Parse(typeof(ObjectRepository.EntityModels.PrimeFieldDataType), typeString); field.ObjectDefinitionFieldName = property.Attribute("name").Value; field.ObjectDefinitionFieldKey = property.Attribute("key").Value; logger.LogDebug(string.Format("{0} = {1}", field.ObjectDefinitionFieldName, field.ObjectDefinitionFieldKey)); return(field); case "File": ObjectDefinitionField fileField = new ObjectDefinitionField(ObjectRepository.EntityModels.GeneralObjectDefinitionFieldType.File); fileField.ObjectDefinitionFieldKey = property.Attribute("key").Value; fileField.ObjectDefinitionFieldName = property.Attribute("name").Value; logger.LogDebug("Parse File field " + fileField.ObjectDefinitionFieldName); return(fileField); case "ObjRef": logger.LogDebug("Parse ObjRef field."); ObjRefDefinitionField refField = new ObjRefDefinitionField(); refField.ObjectDefinitionFieldKey = property.Attribute("key").Value; refField.ObjectDefinitionFieldName = property.Attribute("name").Value; refField.ReferedObjectDefinitionID = this.objectService.GetObjectDefinitionByName(property.Attribute("refName").Value).ObjectDefinitionID; logger.LogDebug(string.Format("{0} = {1}", refField.ObjectDefinitionFieldName, refField.ReferedObjectDefinitionID)); return(refField); case "SingleSelection": SingleSDefinitionField ssField = new SingleSDefinitionField(); ssField.ObjectDefinitionFieldKey = property.Attribute("key").Value; ssField.ObjectDefinitionFieldName = property.Attribute("name").Value; foreach (XElement item in property.Descendants("choice")) { ssField.SelectionItems.Add(new DefinitionSelectItem() { SelectDisplayName = item.Attribute("displayName").Value, SelectItemKey = item.Attribute("value").Value }); } logger.LogDebug("Parse SingleSelection field : " + ssField.ObjectDefinitionFieldName); return(ssField); default: break; } return(null); }