Esempio n. 1
0
        public List <CorpDepartmentModel> GetCorpPolicyDepartmentByCorpId(string corpId, int?policyId, int?aduitId)
        {
            List <CorpDepartmentModel> departmentModels = _getCorpDepartmentBll.GetCorpDepartmentByCorpId(corpId);
            List <int> departIdList = new List <int>();

            foreach (var corpDepartmentModel in departmentModels)
            {
                departIdList.Add(corpDepartmentModel.Id);
            }
            List <CorpPolicyConfigDepartmentEntity> policyDepartmentEntities = null;

            if (policyId.HasValue)
            {
                policyDepartmentEntities = _corpPolicyConfigDepartmentDal.Query <CorpPolicyConfigDepartmentEntity>(
                    n => departIdList.Contains(n.DepartmentId) && n.PolicyId == policyId.Value, true).ToList();
            }

            List <CorpAduitConfigDepartmentEntity> aduitConfigDepartmentEntities = null;

            if (aduitId.HasValue)
            {
                aduitConfigDepartmentEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigDepartmentEntity>(
                    n => departIdList.Contains(n.DepartmentId) && n.AduitId == aduitId.Value, true).ToList();
            }


            foreach (var corpDepartmentModel in departmentModels)
            {
                CorpPolicyConfigDepartmentEntity corpPolicyConfigDepartmentEntity =
                    policyDepartmentEntities?.Find(n => n.DepartmentId == corpDepartmentModel.Id);
                if (corpPolicyConfigDepartmentEntity != null)
                {
                    corpDepartmentModel.IsHasPolicy = true;
                }

                CorpAduitConfigDepartmentEntity corpAduitConfigDepartmentEntity =
                    aduitConfigDepartmentEntities?.Find(n => n.DepartmentId == corpDepartmentModel.Id);
                if (corpAduitConfigDepartmentEntity != null)
                {
                    corpDepartmentModel.IsHasAduit = true;
                }
            }
            return(departmentModels);
        }
Esempio n. 2
0
        public List <CorpBookingDepartModel> GetCorpBookingDepartList(int cid, string corpId)
        {
            if (cid == 0)
            {
                throw new Exception("该客户信息异常");
            }

            CustomerInfoEntity customerInfoEntity =
                _customerDal.Find <CustomerInfoEntity>(cid);

            if (string.IsNullOrEmpty(customerInfoEntity?.CorpID))
            {
                throw new Exception("该客户信息异常");
            }
            if (!customerInfoEntity.CorpDepartID.HasValue)
            {
                throw new Exception("该客户部门信息异常");
            }

            List <CorpBookingDepartModel> list = new List <CorpBookingDepartModel>();
            List <CorpDepartmentModel>    corpDepartmentModels =
                _getCorpDepartmentBll.GetCorpDepartmentByCorpId(corpId);

            CustomerUnionInfoEntity customerUnionInfoEntity =
                _customerUnionDal.Query <CustomerUnionInfoEntity>(n => n.Cid == cid, true).FirstOrDefault();

            string corpDepartStr = string.Empty;

            List <int> departIdList = new List <int>();

            if (customerUnionInfoEntity != null)
            {
                corpDepartStr = customerUnionInfoEntity.CorpDepartIDList;
            }

            if (string.IsNullOrEmpty(corpDepartStr))//如果当前值为NULL,则默认当前客户的部门Id
            {
                departIdList.Add(customerInfoEntity.CorpDepartID.Value);
            }
            else
            {
                if (corpDepartStr == "0")//如果为0值,则认为全部部门
                {
                    IsAll = true;
                }
                else
                {
                    List <string> c = corpDepartStr.Split(',').ToList();
                    if (c != null && c.Count > 0)
                    {
                        c.ForEach(n => departIdList.Add(Convert.ToInt32(n)));
                    }
                    else
                    {
                        throw new Exception("配置信息异常");
                    }
                }
            }



            if (IsAll)
            {
                foreach (var corpDepartmentModel in corpDepartmentModels)
                {
                    CorpBookingDepartModel departModel = new CorpBookingDepartModel()
                    {
                        DepartId    = corpDepartmentModel.Id,
                        DepartName  = corpDepartmentModel.DepartName,
                        IsBookinged = true
                    };
                    list.Add(departModel);
                }
            }
            else
            {
                foreach (var corpDepartmentModel in corpDepartmentModels)
                {
                    CorpBookingDepartModel departModel = new CorpBookingDepartModel()
                    {
                        DepartId    = corpDepartmentModel.Id,
                        DepartName  = corpDepartmentModel.DepartName,
                        IsBookinged = departIdList.Contains(corpDepartmentModel.Id)
                    };
                    list.Add(departModel);
                }
            }

            return(list);
        }