Example #1
0
        private static PrimeDefinitionField Convert2ObjectPrimeDefinitionField(PrimeObjectDefintionField field)
        {
            var svcDefField = new PrimeDefinitionField();

            svcDefField.GeneralObjectDefinitionFiledType = field.GeneralObjectDefinitionFiledType;
            svcDefField.ObjectDefinitionFieldID          = field.GeneralObjectDefinitionFieldID;
            svcDefField.ObjectDefinitionFieldKey         = field.GeneralObjectDefinitionFieldKey;
            svcDefField.ObjectDefinitionFieldName        = field.GeneralObjectDefinitionFieldName;

            svcDefField.PrimeDataType = field.PrimeDataType;

            return(svcDefField);
        }
Example #2
0
        private static PrimeObjectDefintionField ParsePrimeDefinitionField(PrimeDefinitionField f, PrimeObjectDefintionField field)
        {
            if (field == null)
            {
                field = new PrimeObjectDefintionField();
            }

            field.GeneralObjectDefinitionFieldKey  = f.ObjectDefinitionFieldKey;
            field.GeneralObjectDefinitionFieldName = f.ObjectDefinitionFieldName;
            field.GeneralObjectDefinitionFiledType = f.GeneralObjectDefinitionFiledType;
            field.PrimeDataType = f.PrimeDataType;

            return(field);
        }
        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 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);
        }