コード例 #1
0
        private void InitializeTables()
        {
            List <string> tableNames = _Database.ListTables();

            tableNames = tableNames.ConvertAll(d => d.ToLower());

            if (!tableNames.Contains(USER_TABLE.ToLower()))
            {
                List <Column> userColumns = UserMaster.GetTableColumns();
                _Database.CreateTable(USER_TABLE, userColumns);
            }

            if (!tableNames.Contains(API_KEY_TABLE.ToLower()))
            {
                List <Column> apiKeyColumns = ApiKey.GetTableColumns();
                _Database.CreateTable(API_KEY_TABLE, apiKeyColumns);
            }

            if (!tableNames.Contains(PERMISSION_TABLE.ToLower()))
            {
                List <Column> permissionColumns = Permission.GetTableColumns();
                _Database.CreateTable(PERMISSION_TABLE, permissionColumns);
            }

            if (!tableNames.Contains(LOCKS_TABLE.ToLower()))
            {
                List <Column> locksColumns = UrlLock.GetTableColumns();
                _Database.CreateTable(LOCKS_TABLE, locksColumns);
            }

            if (!tableNames.Contains(CONTAINERS_TABLE.ToLower()))
            {
                List <Column> containerColumns = Container.GetTableColumns();
                _Database.CreateTable(CONTAINERS_TABLE, containerColumns);
            }

            if (!tableNames.Contains(OBJECTS_TABLE.ToLower()))
            {
                List <Column> objectColumns = ObjectMetadata.GetTableColumns();
                _Database.CreateTable(OBJECTS_TABLE, objectColumns);
            }

            if (!tableNames.Contains(CONTAINERS_KVP_TABLE.ToLower()))
            {
                List <Column> containerMetadataColumns = ContainerKeyValuePair.GetTableColumns();
                _Database.CreateTable(CONTAINERS_KVP_TABLE, containerMetadataColumns);
            }

            if (!tableNames.Contains(OBJECTS_KVP_TABLE.ToLower()))
            {
                List <Column> objectMetadataColumns = ObjectKeyValuePair.GetTableColumns();
                _Database.CreateTable(OBJECTS_KVP_TABLE, objectMetadataColumns);
            }

            if (!tableNames.Contains(AUDIT_LOG_TABLE.ToLower()))
            {
                List <Column> auditLogColumns = AuditLogEntry.GetTableColumns();
                _Database.CreateTable(AUDIT_LOG_TABLE, auditLogColumns);
            }
        }
コード例 #2
0
        private List <ObjectKeyValuePair> ParseFilterKeyValuePairs(string filters)
        {
            List <ObjectKeyValuePair> filterKps = new List <ObjectKeyValuePair>();

            if (!string.IsNullOrEmpty(filters))
            {
                string[] keyValues = filters.Split(new char[] { ';' });
                foreach (string kv in keyValues)
                {
                    if (string.IsNullOrEmpty(kv))
                    {
                        continue;
                    }

                    string[]           kpairs = kv.Split(new char[] { ',' });
                    ObjectKeyValuePair kvp    = new ObjectKeyValuePair();
                    kvp.KeyName = kpairs[0];
                    kvp.Value   = string.Join(",", kpairs.Skip(1).ToArray());
                    kvp.IsArray = kpairs.Length > 2;
                    filterKps.Add(kvp);
                }
            }

            return(filterKps);
        }
コード例 #3
0
 private List <T> DataTableToListObject <T>(DataTable result)
 {
     if (result == null || result.Rows.Count < 1)
     {
         return(new List <T>());
     }
     if (typeof(T) == typeof(ApiKey))
     {
         return(ApiKey.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(UserMaster))
     {
         return(UserMaster.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(Permission))
     {
         return(Permission.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(UrlLock))
     {
         return(UrlLock.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(Container))
     {
         return(Container.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(ObjectMetadata))
     {
         return(ObjectMetadata.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(ContainerKeyValuePair))
     {
         return(ContainerKeyValuePair.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(ObjectKeyValuePair))
     {
         return(ObjectKeyValuePair.FromDataTable(result) as List <T>);
     }
     else if (typeof(T) == typeof(AuditLogEntry))
     {
         return(AuditLogEntry.FromDataTable(result) as List <T>);
     }
     throw new ArgumentException("Unknown object type: " + typeof(T).Name);
 }
コード例 #4
0
        public static List <ServiceObject> ConvertToServiceObjectList(List <GeneralObject> objectList, string[] properties)
        {
            List <ServiceObject> svsObjects = new List <ServiceObject>();

            foreach (var obj in objectList)
            {
                ServiceObject sObject = new ServiceObject();
                sObject.ObjectID           = obj.GeneralObjectID;
                sObject.ObjectName         = obj.GeneralObjectName;
                sObject.ObjectOwner        = obj.ObjectOwner;
                sObject.Updated            = obj.Updated;
                sObject.Created            = obj.Created;
                sObject.CreatedBy          = obj.CreatedBy;
                sObject.UpdatedBy          = obj.UpdatedBy;
                sObject.ObjectDefinitionId = obj.GeneralObjectDefinitionID;

                if (properties != null)
                {
                    foreach (var objField in obj.GeneralObjectFields)
                    {
                        if (!properties.Contains(objField.GeneralObjectDefinitionField.GeneralObjectDefinitionFieldName, new IgnoreCaseStringCompare <string>()))
                        {
                            continue;
                        }

                        ObjectKeyValuePair kvPair = new ObjectKeyValuePair();
                        kvPair.KeyName = objField.GeneralObjectDefinitionField.GeneralObjectDefinitionFieldName;
                        kvPair.Value   = ObjectConverter.EntityField2ServiceField(objField);
                        sObject.Properties.Add(kvPair);
                    }
                }

                svsObjects.Add(sObject);
            }

            return(svsObjects);
        }
コード例 #5
0
        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");
        }