Exemple #1
0
        internal static WsProfile GetWsProfile(IManProfile imProf, IManWorkspace imWs)
        {
            var wsProf = new WsProfile();

            wsProf = PopulateCustomAttr(wsProf, imProf);

            wsProf.IsUnderPreservation = wsProf.Status.IndexOf("UNDER PRESERVATION", StringComparison.OrdinalIgnoreCase) != -1; //wsProf.Status.Equals("UNDER PRESERVATION", StringComparison.OrdinalIgnoreCase);

            var clientCustAttr = WsUtility.GetWsCustAttr(wsProf.GetType().GetProperty("Client"), wsProf.Client);

            wsProf.ClientDesc = clientCustAttr == null ? string.Empty : clientCustAttr.Description;

            if (!string.IsNullOrWhiteSpace(wsProf.Partner))
            {
                wsProf.PartnerDesc = WsUtility.GetWsUser(wsProf.Partner, ImDbType.Active);
            }

            if (!string.IsNullOrWhiteSpace(wsProf.Manager))
            {
                wsProf.ManagerDesc = WsUtility.GetWsUser(wsProf.Manager, ImDbType.Active);
            }

            //wsProf.WsProfile_TP = GetWsProfile_TP(wsProf.EngNum);

            //wsProf.KPMGOnly = GetKPMGOnlyFlag(wsProf.EngNum);

            return(wsProf);
        }
Exemple #2
0
        private static T PopulateCustomAttr <T>(T type, dynamic imObj)
        {
            foreach (PropertyInfo pI in type.GetType().GetProperties())
            {
                if (Attribute.IsDefined(pI, typeof(ImProfileAttrInfo), false))
                {
                    var cA = (ImProfileAttrInfo)pI.GetCustomAttributes(typeof(ImProfileAttrInfo), false)[0];

                    dynamic imProfAttrVal = null;

                    if ((imObj as IManProfile) != null)
                    {
                        IManProfile imp = (IManProfile)imObj;
                        imProfAttrVal = imp.GetAttributeValueByID((imProfileAttributeID)Enum.Parse(typeof(imProfileAttributeID), cA.AttrImProfileEnum));
                    }
                    else if ((imObj as IManWorkspace) != null)
                    {
                        IManWorkspace imws = (IManWorkspace)imObj;
                        imProfAttrVal = imws.GetAttributeValueByID((imProfileAttributeID)Enum.Parse(typeof(imProfileAttributeID), cA.AttrImProfileEnum));
                    }
                    else if ((imObj as IManDocument) != null)
                    {
                        IManDocument imd = (IManDocument)imObj;
                        imProfAttrVal = imd.GetAttributeValueByID((imProfileAttributeID)Enum.Parse(typeof(imProfileAttributeID), cA.AttrImProfileEnum));
                    }
                    else
                    {
                        IManProfile imp = (IManProfile)imObj;
                        imProfAttrVal = imp.GetAttributeValueByID((imProfileAttributeID)Enum.Parse(typeof(imProfileAttributeID), cA.AttrImProfileEnum));
                    }

                    if (imProfAttrVal == null)
                    {
                        continue;
                    }

                    if (cA.AttrDataType == typeof(bool))
                    {
                        bool b;
                        if (bool.TryParse(imProfAttrVal.ToString(), out b))
                        {
                            pI.SetValue(type, b);
                        }
                        else
                        {
                            pI.SetValue(type, false);
                        }
                    }
                    else if (cA.AttrDataType == typeof(DateTime))
                    {
                        if (imProfAttrVal == null || imProfAttrVal.Date == null)
                        {
                            pI.SetValue(type, null);
                        }
                        else
                        {
                            DateTime dt;
                            if (DateTime.TryParse(imProfAttrVal.Date.ToString(), out dt))
                            {
                                pI.SetValue(type, dt);
                            }
                            else
                            {
                                pI.SetValue(type, null);
                            }
                        }
                    }
                    else
                    {
                        pI.SetValue(type, imProfAttrVal.ToString());
                    }
                }
            }

            return(type);
        }
Exemple #3
0
        public static List<KeyValuePair<string, object>> GetIMProfAttrs(IManProfile iMProf)
        {
            var iMPAs = new List<KeyValuePair<string, object>>();

            foreach (var fld in typeof(imProfileAttributeID).GetFields())
            {
                if (!fld.IsSpecialName)
                {
                    //if (fld.Name.IsEquals(IMConstant.CONST_IM_PROFILE_FULLTEXT)
                    //    || fld.Name.IsEquals(IMConstant.CONST_IM_PROFILE_FTLANGUAGEID)
                    //    )
                    //    continue;

                    try
                    {
                        iMPAs.Add(new KeyValuePair<string, object>
                        (
                            fld.Name,
                            iMProf.GetAttributeValueByID((imProfileAttributeID)fld.Name.ToEnum<imProfileAttributeID>())
                        ));
                    }
                    catch (Exception ex)
                    {
                        KElmahUtility.LogException(new KException(string.Format("{0}[{1}]", ex.Message, fld.Name), ex));
                    }
                }
            }

            return iMPAs;
        }