예제 #1
0
 public ActionResult SubmitForm(ProfileScireCriteria_NormEntity Entity, string normGroupId, string classifyGroupId)
 {
     App.SubmitNormForm(Entity, normGroupId, classifyGroupId);
     return(Success("操作成功。"));
 }
예제 #2
0
 public void SubmitNormForm(ProfileScireCriteria_NormEntity entry, string normGroupId, string classifyGroupId)
 {
     normApp.SubmitForm(entry, normGroupId, classifyGroupId);
 }
예제 #3
0
        public void SubmitForm(ProfileScoreCriteria_ClassifyEntity entry, string groupId, string[] typeIds)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                if (!string.IsNullOrEmpty(groupId))
                {
                    //查出之前的小类

                    var classifysEntitys = db.IQueryable <ProfileScoreCriteria_ClassifyEntity>().Where(d => d.GroupId == groupId).ToList();
                    //查找是否存在差异 存在改删除的就删除  改修改的就修改

                    //要删除的
                    var deleteTypes = classifysEntitys.Select(d => d.STypeId).Except(typeIds).ToList();
                    //新增的
                    var insertTypes = typeIds.Except(classifysEntitys.Select(d => d.STypeId)).ToList();

                    //处理要是删除的集合
                    foreach (var item in deleteTypes)
                    {
                        var classifyEntity = classifysEntitys.FirstOrDefault(d => d.STypeId == item);
                        //查找评分明细的数据
                        var queryNorm = db.IQueryable <ProfileScireCriteria_NormEntity>().Where(d => d.SClassifyId == classifyEntity.SClassifyId);
                        if (queryNorm.Count() > 0)
                        {
                            db.Delete <ProfileScireCriteria_NormEntity>(queryNorm.FirstOrDefault());
                        }
                        //删除当前关联 取消的type(一级道路,特技道路)
                        db.Delete <ProfileScoreCriteria_ClassifyEntity>(classifyEntity);
                        //删除查询数组当中
                        classifysEntitys.Remove(classifyEntity);
                    }


                    //当前关联小类评分评分标准第一项
                    ProfileScireCriteria_NormEntity fistNormEntity = null;
                    string sClassifyId = classifysEntitys[0].SClassifyId;

                    //查看当前类下是否关联了评分标准
                    var queryInsertNorm = db.IQueryable <ProfileScireCriteria_NormEntity>().Where(d => d.SClassifyId == sClassifyId);
                    if (queryInsertNorm.Count() > 0)
                    {
                        fistNormEntity = queryInsertNorm.FirstOrDefault();
                    }

                    ProfileScoreCriteria_ClassifyEntity insertClassifyEntity = null;
                    ProfileScireCriteria_NormEntity     insertNormEntity     = null;
                    //处理新增的
                    foreach (var item in insertTypes)
                    {
                        insertClassifyEntity = new ProfileScoreCriteria_ClassifyEntity()
                        {
                            GroupId       = classifysEntitys[0].GroupId,
                            SClassifyName = entry.SClassifyName,
                            Score         = entry.Score,
                            STypeId       = item,
                            SClassifyId   = Guid.NewGuid().ToString()
                        };

                        db.Insert <ProfileScoreCriteria_ClassifyEntity>(insertClassifyEntity);


                        //如果当前小类下有关联则每个小类上都关联上
                        if (fistNormEntity != null)
                        {
                            insertNormEntity = new ProfileScireCriteria_NormEntity()
                            {
                                GroupId           = fistNormEntity.GroupId,
                                SClassifyId       = insertClassifyEntity.SClassifyId,
                                Condition         = fistNormEntity.Condition,
                                SNormProjectName  = fistNormEntity.SNormProjectName,
                                SNormStandardName = fistNormEntity.SNormStandardName,
                                SNormId           = Guid.NewGuid().ToString()
                            };

                            db.Insert <ProfileScireCriteria_NormEntity>(insertNormEntity);
                        }
                    }


                    //修改
                    foreach (var item in classifysEntitys)
                    {
                        item.SClassifyName = entry.SClassifyName;
                        item.Score         = entry.Score;

                        db.Update <ProfileScoreCriteria_ClassifyEntity>(item);
                    }
                }
                else
                {
                    ProfileScoreCriteria_ClassifyEntity addModel = null;

                    string newGroupId = Guid.NewGuid().ToString();

                    foreach (var item in typeIds)
                    {
                        addModel = new ProfileScoreCriteria_ClassifyEntity();


                        //每一个classify只能对应一个Tyoeids 添加多个
                        addModel = new ProfileScoreCriteria_ClassifyEntity()
                        {
                            SClassifyId   = Guid.NewGuid().ToString(),
                            SClassifyName = entry.SClassifyName,
                            Score         = entry.Score,
                            STypeId       = item,
                            GroupId       = newGroupId
                        };

                        db.Insert <ProfileScoreCriteria_ClassifyEntity>(addModel);
                    }
                }

                db.Commit();
            }
        }