private static SingleSDefinitionField Convert2ObjectSingleSelectionDefinitionField(SingleSelectionDefinitionField field) { var svcDefField = new SingleSDefinitionField(); svcDefField.GeneralObjectDefinitionFiledType = field.GeneralObjectDefinitionFiledType; svcDefField.ObjectDefinitionFieldID = field.GeneralObjectDefinitionFieldID; svcDefField.ObjectDefinitionFieldKey = field.GeneralObjectDefinitionFieldKey; svcDefField.ObjectDefinitionFieldName = field.GeneralObjectDefinitionFieldName; foreach (var si in field.SelectionItems) { svcDefField.SelectionItems.Add(new DefinitionSelectItem { SelectDisplayName = si.SelectDisplayName, SelectItemID = si.GeneralObjectDefinitionSelectItemID, SelectItemKey = si.SelectItemKey }); } 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 SingleSelectionDefinitionField ParseSingleSelectionDefinitionField(SingleSDefinitionField f, SingleSelectionDefinitionField field) { if (field == null) { field = new SingleSelectionDefinitionField(); } field.GeneralObjectDefinitionFieldKey = f.ObjectDefinitionFieldKey; field.GeneralObjectDefinitionFieldName = f.ObjectDefinitionFieldName; field.GeneralObjectDefinitionFiledType = f.GeneralObjectDefinitionFiledType; foreach (var item in f.SelectionItems) { var selectItem = (from s in field.SelectionItems where s.GeneralObjectDefinitionSelectItemID == item.SelectItemID select s).FirstOrDefault(); if (selectItem != null) { //update selectItem.SelectDisplayName = item.SelectDisplayName; selectItem.SelectItemKey = item.SelectItemKey; } else { //insert. field.SelectionItems.Add(new GeneralObjectDefinitionSelectItem() { SelectItemKey = item.SelectItemKey, SelectDisplayName = item.SelectDisplayName }); } } return(field); }
public void CreateObjectDefinitionTest() { IObjectService service = new DefaultObjectService(); ObjectDefinition definition = new ObjectDefinition(); definition.IsFeildsUpdateOnly = false; definition.ObjectDefinitionKey = "PERSON_TEST"; definition.ObjectDefinitionGroupID = service.GetObjectDefinitionGroups(null, null)[0].GroupID; definition.ObjectDefinitionName = "Person"; definition.ObjectOwner = "Admin"; definition.UpdatedBy = "Admin"; //Person name definition.ObjectFields.Add(new PrimeDefinitionField() { ObjectDefinitionFieldKey = "PERSON_NAME", ObjectDefinitionFieldName = "Person Name", PrimeDataType = PrimeFieldDataType.String }); SingleSDefinitionField selectionField = new SingleSDefinitionField() { ObjectDefinitionFieldKey = "PERSON_SEX", ObjectDefinitionFieldName = "Person Sex" }; selectionField.SelectionItems.Add(new DefinitionSelectItem() { SelectDisplayName = "Male", SelectItemKey = "Male" }); selectionField.SelectionItems.Add( new DefinitionSelectItem() { SelectItemKey = "Female", SelectDisplayName = "Female" }); //Person Sex definition.ObjectFields.Add(selectionField); //Person Age definition.ObjectFields.Add(new PrimeDefinitionField() { ObjectDefinitionFieldKey = "PERSON_AGE", ObjectDefinitionFieldName = "Person AGE", PrimeDataType = PrimeFieldDataType.Integer }); //person Image definition.ObjectFields.Add(new ObjectDefinitionField(GeneralObjectDefinitionFieldType.File) { GeneralObjectDefinitionFiledType = GeneralObjectDefinitionFieldType.File, ObjectDefinitionFieldKey = "PERSON_IMAGE", ObjectDefinitionFieldName = "Person Image" }); //Manager definition.ObjectFields.Add(new ObjRefDefinitionField() { ObjectDefinitionFieldKey = "PERSON_MANAGER", ObjectDefinitionFieldName = "Person Manager", ReferedObjectDefinitionID = 1 }); var objDef = service.GetAllObjectDefinitions() .Where(od => od.ObjectDefinitionName.Equals("Person")) .FirstOrDefault(); //avoid to insert the duplicated value. if (objDef != null) { definition.ObjectDefinitionID = objDef.ObjectDefinitionID; } int objdefintionId = service.CreateORUpdateObjectDefinition(definition); Assert.True(objdefintionId > 0); }
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); }