Esempio n. 1
0
        private void LoadCompanyInfo()
        {
            organClient.GetALLCompanyViewCompleted += (o, e) =>
            {
                if (e.Error == null)
                {
                    if (e.Result != null)
                    {
                        List <SMT.Saas.Tools.OrganizationWS.V_COMPANY> entTemps = e.Result.ToList();
                        allCompanys = new List <SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY>();
                        var ents = entTemps.OrderBy(c => c.FATHERID);
                        //把公司的视图集合转换为公司实体集合
                        foreach (var ent in ents)
                        {
                            SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY company = new SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY();
                            company.COMPANYID = ent.COMPANYID;
                            company.CNAME     = ent.CNAME;
                            company.ENAME     = ent.ENAME;
                            if (!string.IsNullOrEmpty(ent.BRIEFNAME))
                            {
                                company.BRIEFNAME = ent.BRIEFNAME;
                            }
                            else
                            {
                                company.BRIEFNAME = ent.CNAME;
                            }
                            company.COMPANRYCODE = ent.COMPANRYCODE;
                            company.SORTINDEX    = ent.SORTINDEX;
                            if (!string.IsNullOrEmpty(ent.FATHERCOMPANYID))
                            {
                                company.T_HR_COMPANY2           = new SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY();
                                company.T_HR_COMPANY2.COMPANYID = ent.FATHERCOMPANYID;
                                //modify by 安凯航 2011年9月5日
                                //在父公司ID为空时,不做处理
                                V_COMPANY v_company = entTemps.Where(s => s.COMPANYID == ent.FATHERCOMPANYID).FirstOrDefault();
                                if (v_company != null)
                                {
                                    company.T_HR_COMPANY2.CNAME = v_company.CNAME;
                                }
                                else
                                {
                                    //throw new Exception("v_company");
                                }
                            }
                            //end modify;
                            company.FATHERID   = ent.FATHERID;
                            company.FATHERTYPE = ent.FATHERTYPE;
                            company.CHECKSTATE = ent.CHECKSTATE;
                            company.EDITSTATE  = ent.EDITSTATE;
                            allCompanys.Add(company);
                        }
                        //把公司实体集合存入缓存
                        AddToResourceDictionary <List <SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY> >(ConstStrings.RES_COMPANYINFO_KEY, allCompanys);
                        LoadDepartmentInfo();
                    }
                }
            };

            organClient.GetALLCompanyViewAsync(_UserEmployeeID);
        }
Esempio n. 2
0
        /// <summary>
        /// 将公司信息集合转换成标准结构的公司数据集合(V_COMPANY => T_HR_COMPANY),
        /// 并将转换后的数据集合存到内存中,然后再加载部门数据
        /// </summary>
        private void ReFillDataToCompany()
        {
            allCompanys = new List <SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY>();
            var ents = allCompanysView.OrderBy(c => c.FATHERID);

            //把公司的视图集合转换为公司实体集合
            foreach (var ent in ents)
            {
                SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY company = new SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY();
                company.COMPANYID = ent.COMPANYID;
                company.CNAME     = ent.CNAME;
                company.ENAME     = ent.ENAME;
                if (!string.IsNullOrEmpty(ent.BRIEFNAME))
                {
                    company.BRIEFNAME = ent.BRIEFNAME;
                }
                else
                {
                    company.BRIEFNAME = ent.CNAME;
                }
                company.COMPANRYCODE = ent.COMPANRYCODE;
                company.SORTINDEX    = ent.SORTINDEX;
                if (!string.IsNullOrEmpty(ent.FATHERCOMPANYID))
                {
                    company.T_HR_COMPANY2           = new SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY();
                    company.T_HR_COMPANY2.COMPANYID = ent.FATHERCOMPANYID;
                    //modify by 安凯航 2011年9月5日
                    //在父公司ID为空时,不做处理
                    V_COMPANY v_company = allCompanysView.Where(s => s.COMPANYID == ent.FATHERCOMPANYID).FirstOrDefault();
                    if (v_company != null)
                    {
                        company.T_HR_COMPANY2.CNAME = v_company.CNAME;
                    }
                }
                //end modify;
                company.FATHERID   = ent.FATHERID;
                company.FATHERTYPE = ent.FATHERTYPE;
                company.CHECKSTATE = ent.CHECKSTATE;
                company.EDITSTATE  = ent.EDITSTATE;
                allCompanys.Add(company);
            }
            //把公司实体集合存入缓存
            AddToResourceDictionary <List <SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY> >(RESCOMPANYINFOKEY, allCompanys);
            LoadDepartmentInfo();
        }