Exemplo n.º 1
0
        protected void SetFromValueElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            ValueElement value        = (ValueElement)heterogeneousElem;
            PropertyInfo propertyInfo = target.GetType().GetProperty(value.Key);

            propertyInfo.SetValue(target, Convert.ChangeType(value.Value, propertyInfo.PropertyType));
        }
Exemplo n.º 2
0
        protected void SetFromADFieldElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            ADFieldElement value = (ADFieldElement)heterogeneousElem;

            if (UserPrincipal != null)
            {
                string valueToSet = ADHelper.GetProperty(UserPrincipal, value.Adfield, value.MaxLenght, value.Default);
                SetObjectValue(target, value.Key, valueToSet);
            }
        }
Exemplo n.º 3
0
        protected void SetFromObjectFieldElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            ObjectFieldElement value        = (ObjectFieldElement)heterogeneousElem;
            PropertyInfo       propertyInfo = target.GetType().GetProperty(value.Key);

            if (propertyInfo != null)
            {
                object result = ExtractObjectFieldValue(value);
                propertyInfo.SetValue(target, Convert.ChangeType(result, propertyInfo.PropertyType));
            }
        }
Exemplo n.º 4
0
        protected void SetFromWindowsIdentityElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            WindowsIdentityElement value = (WindowsIdentityElement)heterogeneousElem;

            if (value.IdentityField != null)
            {
                PropertyInfo propertyInfo = target.GetType().GetProperty(value.Key);
                if (propertyInfo != null)
                {
                    propertyInfo.SetValue(target, Convert.ChangeType(PreparePrincipalUserName(Identity, value.IdentityField, value.RemoveDomain), propertyInfo.PropertyType));
                }
            }
        }
Exemplo n.º 5
0
        protected bool SetFromCustomCodeElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            CustomCodeElement CustomCode = (CustomCodeElement)heterogeneousElem;

            if (CustomCode != null)
            {
                if (string.IsNullOrEmpty(CustomCode.Function))
                {
                    return(true);
                }
                else
                {
                    this.GetType().GetMethod(CustomCode.Function).Invoke(this, new object[] { target });
                }
            }
            return(false);
        }
Exemplo n.º 6
0
        protected void SetFromFunctionElement(object target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            FunctionElement value        = (FunctionElement)heterogeneousElem;
            PropertyInfo    propertyInfo = target.GetType().GetProperty(value.Key);

            if (propertyInfo != null)
            {
                if (value.Type != null)
                {
                    if (!string.IsNullOrEmpty(value.Method))
                    {
                        object result = value.Type.GetMethod(value.Method).Invoke(null, null);
                        propertyInfo.SetValue(target, Convert.ChangeType(result, propertyInfo.PropertyType));
                    }
                    else
                    {
                        object result = value.Type.GetProperty(value.Property).GetValue(null, null);
                        propertyInfo.SetValue(target, Convert.ChangeType(result, propertyInfo.PropertyType));
                    }
                }
            }
        }
Exemplo n.º 7
0
        protected string SetFromWebService(Dictionary <string, string> target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            WebServiceElement webService     = (WebServiceElement)heterogeneousElem;
            string            userProfileKey = "";
            string            parameters     = "";

            foreach (ObjectFieldElement parameter in webService)
            {
                object value = ExtractObjectFieldValue(parameter);
                if (!string.IsNullOrEmpty(userProfileKey))
                {
                    userProfileKey += ",";
                }
                userProfileKey += value;
                if (!string.IsNullOrEmpty(parameters))
                {
                    parameters += "&";
                }
                else
                {
                    parameters += "?";
                }
                parameters += parameter.Key + "=" + value;
            }

            TraceManager.Info("AUserInfo", "RefreshUserProfile", "Refresh profile from web service " + webService.URL + parameters);
            string url = webService.URL;

            if (url.Contains("$("))
            {
                string pat = @"\$\(([\w\d]+)\)";

                // Instantiate the regular expression object.
                Regex r = new Regex(pat, RegexOptions.IgnoreCase);

                // Match the regular expression pattern against a text string.
                Match m = r.Match(url);
                while (m.Success)
                {
                    string appSetting = ConfigurationManager.AppSettings[m.Groups[1].Value];

                    url = url.Replace(m.Value, appSetting);
                    m   = m.NextMatch();
                }
            }

            String profilURL = url + parameters;

            Uri            address = new Uri(profilURL);
            HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(address);

            request.Timeout     = 200000;
            request.Credentials = CredentialCache.DefaultCredentials;

            HttpWebResponse response;

            try
            {
                response = (HttpWebResponse)request.GetResponse();
                StreamReader reader       = new StreamReader(response.GetResponseStream());
                string       responseText = reader.ReadToEnd();

                /*var encoding = ASCIIEncoding.ASCII;
                 * string responseText = "";
                 * using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding))
                 * {
                 *  responseText = reader.ReadToEnd();
                 * }*/
                response.Close();
                Dictionary <string, string> userProfileReturn = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(responseText);
                foreach (var item in userProfileReturn)
                {
                    target.Add(item.Key, item.Value);
                }
            }
            catch (WebException e)
            {
                TraceManager.Error("AUserInfo", "RefreshUserProfile", "Service user profile do not work : " + address.AbsoluteUri + " Error : " + e.Message);
            }

            return(userProfileKey);
        }
Exemplo n.º 8
0
        protected void SetFromValueElement(Dictionary <string, string> target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            ValueElement value = (ValueElement)heterogeneousElem;

            target.Add(value.Key, value.Value);
        }
Exemplo n.º 9
0
        protected void SetFromKeyElement(List <string> target, IHeterogeneousConfigurationElement heterogeneousElem)
        {
            ValueElement value = (ValueElement)heterogeneousElem;

            target.Add(value.Value);
        }