private void SetDefaultProperty(GXProperties properties, String prop, String value)
 {
     if (!properties.ContainsKey(prop))
     {
         properties.Set(prop, value);
     }
 }
Exemple #2
0
        public GxSimpleCollection <string> GetAttribute(string name, string context, GXProperties atts)
        {
            if (_entry != null)
            {
                _entry.Close();
                _entry = null;
            }
            string context1;

            if (context.Trim().Length == 0)
            {
                context1 = "";
            }
            else
            {
                context1 = "/" + context;
            }
            AuthenticationTypes at = getAuthentication();

            _entry = new DirectoryEntry("LDAP://" + getPath() + context1, _user, _password, at);
            string filter = "";

            if (atts.Count == 0)
            {
                filter = "(" + name + "=*)";
            }
            else
            {
                for (int i = 0; i < atts.Count; i++)
                {
                    filter += "(" + atts.GetKey(i).Trim() + "=" + atts[i].Trim() + ")";
                }
                if (atts.Count > 1)
                {
                    filter = "(&" + filter + ")";
                }
            }
            DirectorySearcher           ds = new DirectorySearcher(_entry, filter, new string[] { name });
            GxSimpleCollection <string> sc = new GxSimpleCollection <string>();

            try
            {
                foreach (System.DirectoryServices.SearchResult result in ds.FindAll())
                {
                    PropertyValueCollection values = (PropertyValueCollection)(result.GetDirectoryEntry().Properties[name]);
                    StringBuilder           sb     = new StringBuilder();
                    for (int i = 0; i < values.Count; i++)
                    {
                        sb.Append(values[i].ToString() + " ");
                    }
                    sc.Add(sb.ToString());
                }
            }
            catch (Exception ex)
            {
                GXLogging.Error(log, "GetAttribute Method Error.", ex);
            }
            return(sc);
        }
        private void SetEncryptProperty(GXProperties properties, String prop)
        {
            String value = properties.Get(prop);

            if (string.IsNullOrEmpty(value))
            {
                value = "";
            }
            value = CryptoImpl.Encrypt(value);
            properties.Set(prop, value);
        }
Exemple #4
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_Permission");
            metadata.Set("BT", "SYS_PERMISSION");
            metadata.Set("PK", "[ \"PermissionCode\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #5
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BAS_Institute");
            metadata.Set("BT", "BAS_INSTITUTE");
            metadata.Set("PK", "[ \"InstituteCode\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #6
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BAS_DataPackage");
            metadata.Set("BT", "BAS_DATAPACKAGE");
            metadata.Set("PK", "[ \"DataPackage\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #7
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_SerialNumber");
            metadata.Set("BT", "SYS_SERIALNUMBER");
            metadata.Set("PK", "[ \"SerialKey\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #8
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "WWPBaseObjects\\UserCustomizations");
            metadata.Set("BT", "UserCustomizations");
            metadata.Set("PK", "[ \"UserCustomizationsId\",\"UserCustomizationsKey\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #9
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_Database");
            metadata.Set("BT", "SYS_DATABASE");
            metadata.Set("PK", "[ \"DatabaseID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #10
0
 public override GXProperties GetMetadata( )
 {
    GXProperties metadata = new GXProperties() ;
    metadata.Set("Name", "SYS_TenantUser");
    metadata.Set("BT", "SYS_TENANTUSER");
    metadata.Set("PK", "[ \"BAS_TenantTenantCode\",\"UserID\" ]");
    metadata.Set("FKList", "[ { \"FK\":[ \"BAS_TenantTenantCode\" ],\"FKMap\":[  ] },{ \"FK\":[ \"UserID\" ],\"FKMap\":[  ] } ]");
    metadata.Set("AllowInsert", "True");
    metadata.Set("AllowUpdate", "True");
    metadata.Set("AllowDelete", "True");
    return metadata ;
 }
Exemple #11
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "view_lastest_patient_info");
            metadata.Set("BT", "VIEW_LASTEST_PATIENT_INFO");
            metadata.Set("PK", "[ \"VIEW_LPI_BR_Information_ID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #12
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "WWPBaseObjects\\SecObject");
            metadata.Set("BT", "SecObject");
            metadata.Set("PK", "[ \"SecObjectName\" ]");
            metadata.Set("Levels", "[ \"Functionalities\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #13
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_InstituteUserRole");
            metadata.Set("BT", "SYS_INSTITUTEUSERROLE");
            metadata.Set("PK", "[ \"SYS_InstituteUserRoleUserRoleID\" ]");
            metadata.Set("PKAssigned", "[ \"SYS_InstituteUserRoleUserRoleID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #14
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "JC_ProviderSecUser");
            metadata.Set("BT", "JC_ProviderSecUser");
            metadata.Set("PK", "[ \"SecUserId\",\"JC_ProviderID\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"JC_ProviderID\" ],\"FKMap\":[  ] },{ \"FK\":[ \"SecUserId\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #15
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_InstituteUser");
            metadata.Set("BT", "SYS_INSTITUTEUSER");
            metadata.Set("PK", "[ \"InstituteCode\",\"UserID\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"InstituteCode\" ],\"FKMap\":[  ] },{ \"FK\":[ \"UserID\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #16
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BR_PatientReTenant");
            metadata.Set("BT", "BR_PatientReTenant");
            metadata.Set("PK", "[ \"BR_Information_ID\",\"BAS_TenantTenantCode\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"BAS_TenantTenantCode\" ],\"FKMap\":[  ] },{ \"FK\":[ \"BR_Information_ID\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #17
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "XT_DefindcodeType");
            metadata.Set("BT", "XT_DefindcodeType");
            metadata.Set("PK", "[ \"XT_DefindcodeTypeID\" ]");
            metadata.Set("PKAssigned", "[ \"XT_DefindcodeTypeID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #18
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_TenantUserAccess");
            metadata.Set("BT", "SYS_TENANTUSERACCESS");
            metadata.Set("PK", "[ \"SYS_TenantUserAccessUserAccessID\" ]");
            metadata.Set("PKAssigned", "[ \"SYS_TenantUserAccessUserAccessID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #19
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "WWPBaseObjects\\SecFunctionalityRole");
            metadata.Set("BT", "SecFunctionalityRole");
            metadata.Set("PK", "[ \"SecFunctionalityId\",\"SecRoleId\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"SecFunctionalityId\" ],\"FKMap\":[  ] },{ \"FK\":[ \"SecRoleId\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #20
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_Log");
            metadata.Set("BT", "SYS_LOG");
            metadata.Set("PK", "[ \"SYS_LogLogID\" ]");
            metadata.Set("PKAssigned", "[ \"SYS_LogLogID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #21
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "SYS_UserRole");
            metadata.Set("BT", "SYS_USERROLE");
            metadata.Set("PK", "[ \"UserID\",\"RoleID\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"RoleID\" ],\"FKMap\":[  ] },{ \"FK\":[ \"UserID\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #22
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BR_Information");
            metadata.Set("BT", "BR_Information");
            metadata.Set("PK", "[ \"BR_Information_ID\" ]");
            metadata.Set("PKAssigned", "[ \"BR_Information_ID\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #23
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "WWPBaseObjects\\SecRole");
            metadata.Set("BT", "SecRole");
            metadata.Set("PK", "[ \"SecRoleId\" ]");
            metadata.Set("PKAssigned", "[ \"SecRoleId\" ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
 public bool Connect(string profileName, GXProperties properties, ref GxStorageProvider storageProvider, ref GXBaseCollection <SdtMessages_Message> messages)
 {
     if (providerService != null)
     {
         if (profileName.Trim().ToLower() == "default")
         {
             profileName = providerService.Name;
         }
         return(Create(profileName, properties, ref storageProvider, ref messages));
     }
     StorageMessages(new SystemException("Provider cannot be local"), messages);
     return(false);
 }
Exemple #25
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BR_Death");
            metadata.Set("BT", "BR_Death");
            metadata.Set("PK", "[ \"BR_DeathID\" ]");
            metadata.Set("PKAssigned", "[ \"BR_DeathID\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"BR_EncounterID\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
Exemple #26
0
        public override GXProperties GetMetadata( )
        {
            GXProperties metadata = new GXProperties();

            metadata.Set("Name", "BR_MedicalImaging_Diag");
            metadata.Set("BT", "BR_MedicalImaging_Diag");
            metadata.Set("PK", "[ \"BR_MedicalImaging_DiagID\" ]");
            metadata.Set("PKAssigned", "[ \"BR_MedicalImaging_DiagID\" ]");
            metadata.Set("FKList", "[ { \"FK\":[ \"BR_MedicalImagingID\" ],\"FKMap\":[  ] } ]");
            metadata.Set("AllowInsert", "True");
            metadata.Set("AllowUpdate", "True");
            metadata.Set("AllowDelete", "True");
            return(metadata);
        }
        public bool Create(string name, GXProperties properties, ref GxStorageProvider storageProvider, ref GXBaseCollection <SdtMessages_Message> messages)
        {
            storageProvider = null;

            if (string.IsNullOrEmpty(name))
            {
                GXUtil.ErrorToMessages("Unsopported", "Provider cannot be empty", messages);
                return(false);
            }

            try
            {
                if (providerService == null || !string.Equals(providerService.Name, name, StringComparison.OrdinalIgnoreCase))
                {
                    providerService               = new GXService();
                    providerService.Type          = GXServices.STORAGE_SERVICE;
                    providerService.Name          = name;
                    providerService.AllowMultiple = false;
                    providerService.Properties    = new GXProperties();
                }

                preprocess(name, properties);

                GxKeyValuePair prop = properties.GetFirst();
                while (!properties.Eof())
                {
                    providerService.Properties.Set(prop.Key, prop.Value);
                    prop = properties.GetNext();
                }

                string typeFullName = providerService.ClassName;
                logger.Debug("Loading storage provider: " + typeFullName);
#if !NETCORE
                Type type = Type.GetType(typeFullName, true, true);
#else
                Type type = new AssemblyLoader(FileUtil.GetStartupDirectory()).GetType(typeFullName);
#endif
                this.provider = (ExternalProvider)Activator.CreateInstance(type, new object[] { providerService });
            }
            catch (Exception ex)
            {
                logger.Error("Couldn't connect to external storage provider. ", ex);
                StorageMessages(ex, messages);
                return(false);
            }

            storageProvider = this;
            return(true);
        }
Exemple #28
0
        private void ProcessService(GXXMLReader reader)
        {
            reader.ReadType(1, "Name");
            String name = reader.Value;

            reader.ReadType(1, "Type");
            String type = reader.Value;

            reader.ReadType(1, "ClassName");
            String className = reader.Value;

            String allowMultiple = string.Empty;

            reader.Read();
            if (reader.Name == "AllowMultiple")
            {
                allowMultiple = reader.Value;
                reader.Read();
            }

            GXProperties properties = ProcessProperties(type, name, reader);

            GXService service = new GXService();

            service.Name          = name;
            service.Type          = type;
            service.ClassName     = className;
            service.Properties    = properties;
            service.AllowMultiple = string.IsNullOrEmpty(allowMultiple) ? false : bool.Parse(allowMultiple);
            if (service.AllowMultiple)
            {
                services.Add($"{service.Type}:{service.Name}", service);
            }
            else
            {
                services.Add(type, service);
            }
        }
Exemple #29
0
        private GXProperties ProcessProperties(string serviceType, string serviceName, GXXMLReader reader)
        {
            GXProperties properties = new GXProperties();

            reader.Read();
            while (reader.Name == "Property")
            {
                reader.ReadType(1, "Name");
                string name = reader.Value;
                reader.ReadType(1, "Value");
                string value = reader.Value;

                if (EnvVarReader.GetEnvironmentValue(serviceType, serviceName, name, out string envVarValue))
                {
                    value = envVarValue;
                }

                properties.Add(name, value);
                reader.Read();
                reader.Read();
            }
            return(properties);
        }
        private void preprocess(String name, GXProperties properties)
        {
            string className = null;

            switch (name)
            {
            case "AMAZONS3":
                className = "GeneXus.Storage.GXAmazonS3.ExternalProviderS3";
                SetDefaultProperty(properties, "STORAGE_PROVIDER_REGION", "us-east-1");
                SetDefaultProperty(properties, "STORAGE_ENDPOINT", "s3.amazonaws.com");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_ACCESSKEYID");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_SECRETACCESSKEY");
                SetEncryptProperty(properties, "BUCKET_NAME");
                break;

            case "AZURESTORAGE":
                className = "GeneXus.Storage.GXAzureStorage.AzureStorageExternalProvider";
                SetEncryptProperty(properties, "PUBLIC_CONTAINER_NAME");
                SetEncryptProperty(properties, "PRIVATE_CONTAINER_NAME");
                SetEncryptProperty(properties, "ACCOUNT_NAME");
                SetEncryptProperty(properties, "ACCESS_KEY");
                break;

            case "BLUEMIXSTORAGE":
                className = "GeneXus.Storage.GXBluemix.ExternalProviderBluemix";
                SetDefaultProperty(properties, "SERVER_URL", "https://identity.open.softlayer.com");
                SetDefaultProperty(properties, "STORAGE_PROVIDER_REGION", "dallas");
                SetEncryptProperty(properties, "PUBLIC_BUCKET_NAME");
                SetEncryptProperty(properties, "PRIVATE_BUCKET_NAME");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_USER");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_PASSWORD");
                break;

            //case "BOX":
            //	className = "{class}";
            //	break;

            case "GOOGLE":
                className = "GeneXus.Storage.GXGoogleCloud.ExternalProviderGoogle";
                SetEncryptProperty(properties, "KEY");
                SetEncryptProperty(properties, "BUCKET_NAME");
                break;

            //case "IBMCOS":
            //	className = "{class}";
            //	SetEncryptProperty(properties, "STORAGE_PROVIDER_ACCESS_KEY");
            //	SetEncryptProperty(properties, "STORAGE_PROVIDER_SECRET_KEY");
            //	SetEncryptProperty(properties, "BUCKET_NAME");
            //	break;

            case "OPENSTACKSTORAGE":
                className = "GeneXus.Storage.GXOpenStack.ExternalProviderOpenStack";
                SetEncryptProperty(properties, "BUCKET_NAME");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_USER");
                SetEncryptProperty(properties, "STORAGE_PROVIDER_PASSWORD");
                break;

            default:
                throw new SystemException(string.Format("Provider {0} is not supported", name));
            }

            if (string.IsNullOrEmpty(providerService.ClassName) || !providerService.ClassName.Contains(className))
            {
                providerService.ClassName = string.Format(@"{0}, {1}, {2}",                 // get GeneXus.Storage.{assembly}.{class}, {assmebly}, Version={version}, Culture={culture}, PublicKeyToken={token}
                                                          className,
                                                          className.Split('.').GetValue(2),
                                                          System.Reflection.Assembly.GetExecutingAssembly().FullName.Substring(@"GxClasses, ".Length));
            }
        }