Ejemplo n.º 1
0
        /// <summary>
        ///     获取语言
        /// </summary>
        /// <returns></returns>
        public ReturnMessage <List <CodeNameDTO> > GetLanguages(Credentials credentials)
        {
            ReturnMessage <List <CodeNameDTO> > ret = new ReturnMessage <List <CodeNameDTO> >();
            Enterprise enterprise = ContextObject.GetEnterprise(credentials.EnterpriseID);

            using (new SystemWritablePolicy())
            {
                PlatformContext.Current.EnterpriseID   = enterprise.Code;
                PlatformContext.Current.EnterpriseName = enterprise.Name;
                GetLanguageInfoProxy getLanguageInfoProxy          = new GetLanguageInfoProxy();
                List <LanguageInfoDataTransferObjectData> dataList = getLanguageInfoProxy.Do();
                List <CodeNameDTO> dtoList = new List <CodeNameDTO>();
                foreach (LanguageInfoDataTransferObjectData languageInfoDataTransferObjectData in dataList)
                {
                    if (languageInfoDataTransferObjectData.Code == "EffectiveCount")
                    {
                        continue;
                    }
                    if (!languageInfoDataTransferObjectData.IsSystem)
                    {
                        continue;
                    }
                    CodeNameDTO codeNameDTO = new CodeNameDTO();
                    codeNameDTO.Code = languageInfoDataTransferObjectData.Code;
                    codeNameDTO.Name = languageInfoDataTransferObjectData.Name;
                    dtoList.Add(codeNameDTO);
                }
                ret.Result = dtoList;
            }
            return(ret);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     获取上下文环境信息
        /// </summary>
        public ContextInfo GetContextInfo()
        {
            if (string.IsNullOrWhiteSpace(this.EnterpriseID))
            {
                throw new U9ContextException("企业ID不能为空");
            }
            if (string.IsNullOrWhiteSpace(this.OrgCode))
            {
                throw new U9ContextException("组织不能为空");
            }
            if (string.IsNullOrWhiteSpace(this.UserCode))
            {
                throw new U9ContextException("用户不能为空");
            }
            Enterprise enterprise = ContextObject.GetEnterprise(this.EnterpriseID);

            if (enterprise == null)
            {
                throw new U9ContextException(string.Format("企业:{0}不存在!", this.EnterpriseID));
            }
            using (ContextObject contextObject = new ContextObject(enterprise))
            {
                if (string.IsNullOrWhiteSpace(this.OrgCode))
                {
                    throw new U9ContextException("组织编码不能为空");
                }
                Organization org = Organization.FindByCode(this.OrgCode);
                if (org == null)
                {
                    throw new U9ContextException(string.Format("组织:{0}不存在", this.OrgCode));
                }
                User user = User.FindByCode(this.UserCode);
                if (user == null)
                {
                    throw new U9ContextException("用户不存在或密码不正确");
                }
                string encryptPassword = ContextHelper.EncryptPassword(this.Password);
                if (encryptPassword != user.Password)
                {
                    throw new U9ContextException("用户不存在或密码不正确");
                }
                if (!user.IsAlive)
                {
                    throw new U9ContextException("用户已失效");
                }
                return(ContextInfo.GetContext(enterprise, org, user, this.Culture,
                                              this.SupportCultureNameList));
            }
        }
Ejemplo n.º 3
0
        private static Enterprise GetEnterpriseByTokenStr(string tokenStr)
        {
            if (string.IsNullOrEmpty(tokenStr))
            {
                return(null);
            }
            string[] tokenArr = tokenStr.Split(TokenStrSplitSymbol);
            if (tokenArr.Length <= 1)
            {
                return(null);
            }
            string     enterpriseID = tokenArr[0];
            Enterprise enterprise   = ContextObject.GetEnterprise(enterpriseID);

            if (enterprise == null)
            {
                throw new TokenException(string.Format("企业:{0} 不存在!", enterpriseID));
            }
            return(enterprise);
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     获取组织
        /// </summary>
        /// <returns></returns>
        public ReturnMessage <List <CodeNameDTO> > GetOrgsByUserCode(Credentials credentials)
        {
            ReturnMessage <List <CodeNameDTO> > ret = new ReturnMessage <List <CodeNameDTO> >();

            ret.Result = new List <CodeNameDTO>();
            if (string.IsNullOrEmpty(credentials.EnterpriseID) || string.IsNullOrEmpty(credentials.Culture))
            {
                return(ret);
            }
            Enterprise enterprise = ContextObject.GetEnterprise(credentials.EnterpriseID);

            if (enterprise == null)
            {
                throw new Exception(string.Format("企业:{0} 不存在!", credentials.EnterpriseID));
            }
            using (new SystemWritablePolicy())
            {
                PlatformContext.Current.EnterpriseID    = enterprise.Code;
                PlatformContext.Current.EnterpriseName  = enterprise.Name;
                PlatformContext.Current.Culture         = credentials.Culture;
                PlatformContext.Current.Default_Culture = credentials.Culture;
                GetOrgsByUserCodeProxy getOrgsByUserCodeProxy = new GetOrgsByUserCodeProxy();
                getOrgsByUserCodeProxy.UserCode = credentials.UserCode;
                List <OrganizationDataTransferObjectData> dataList = getOrgsByUserCodeProxy.Do();
                if (dataList != null && dataList.Count > 0)
                {
                    foreach (OrganizationDataTransferObjectData objectData in dataList)
                    {
                        CodeNameDTO codeNameDTO = new CodeNameDTO();
                        codeNameDTO.Code = objectData.OrgCode;
                        codeNameDTO.Name = objectData.Name;
                        ret.Result.Add(codeNameDTO);
                    }
                }
            }
            return(ret);
        }