public AddPolicyProjectRelationResponseViewModel AddPolicyProjectRelation(
            AddPolicyProjectRelationRequestViewModel request)
        {
            CorpPolicyConfigProjectModel query = new CorpPolicyConfigProjectModel()
            {
                PolicyId = request.PolicyId
            };

            if (request.ProjectIdList != null)
            {
                query.ProjectIdList = new List <KeyValueModel <int, bool> >();
                foreach (var keyValueViewModel in request.ProjectIdList)
                {
                    query.ProjectIdList.Add(new KeyValueModel <int, bool>()
                    {
                        Key   = keyValueViewModel.Key,
                        Value = keyValueViewModel.Value
                    });
                }
            }

            bool flag =
                _addPolicyProjectRelationServiceBll.AddPolicyProjectRelation(query);

            return(new AddPolicyProjectRelationResponseViewModel()
            {
                IsSuccessed = flag
            });
        }
        public bool AddPolicyProjectRelation(CorpPolicyConfigProjectModel model)
        {
            List <CorpPolicyConfigProjectEntity> corpPolicyConfigProjectEntities =
                _corpPolicyConfigProjectDal.Query <CorpPolicyConfigProjectEntity>(
                    n => n.PolicyId == model.PolicyId, true)
                .ToList();                                                              //根据政策id获取与项目成本中心的关系信息

            bool isClearAll = (model.ProjectIdList.Find(n => n.Value == true) == null); //是否清空所有关系

            if (!isClearAll)
            {
                foreach (var departKeyValue in model.ProjectIdList)
                {
                    var configProject = corpPolicyConfigProjectEntities.Find(n => n.ProjectId == departKeyValue.Key);
                    if (configProject == null && departKeyValue.Value)//不存在关系,并且勾选了部门
                    {
                        //新增
                        _corpPolicyConfigProjectDal.Insert(new CorpPolicyConfigProjectEntity()
                        {
                            ProjectId = departKeyValue.Key,
                            PolicyId  = model.PolicyId
                        });
                    }

                    if (configProject != null && !departKeyValue.Value)//存在关系,并且不选部门
                    {
                        //删除部门关系
                        _corpPolicyConfigProjectDal.Delete <CorpPolicyConfigProjectEntity>(configProject.Id);
                    }
                }
            }
            else
            {
                if (corpPolicyConfigProjectEntities.Count > 0)
                {
                    //清空对应的关系
                    foreach (var entity in corpPolicyConfigProjectEntities)
                    {
                        _corpPolicyConfigProjectDal.Delete <CorpPolicyConfigProjectEntity>(entity.Id);
                    }
                }
            }

            return(true);
        }