/// <summary> /// 远程验证批量添加单元 /// </summary> /// <param name="model"></param> /// <param name="BuildId"></param> /// <returns></returns> public string RemoteCheck(BuildUnitBatchAddModel model) { IBuildUnitBLL unitBll = BLLFactory <IBuildUnitBLL> .GetBLL("BuildUnitBLL"); var lamdaList = new List <Expression <Func <T_BuildUnit, bool> > >(); foreach (var name in model.UnitName) { lamdaList.Add(r => r.UnitName == name); } Expression <Func <T_BuildUnit, bool> > lamda = p => false; Expression <Func <T_BuildUnit, bool> > lamda1 = r => (r.BuildId == model.BuildId); foreach (var expression in lamdaList) { lamda = PredicateBuilder.Or <T_BuildUnit>(lamda, expression); } lamda = PredicateBuilder.And(lamda, lamda1); var unitlist = unitBll.GetList(lamda);//查询 if (unitlist.Count() > 0) { // 校验不通过 return(string.Join(",", unitlist.ToList().Select(q => q.UnitName).Distinct().ToArray())); } else { // 校验通过 return(""); } }
public ActionResult BatchAddUnit(BuildUnitBatchAddModel model) { JsonModel jm = new JsonModel(); var unitId = model.BuildId; var result = RemoteCheck(model); if (!string.IsNullOrEmpty(result)) { jm.Msg = result + "单元已存在"; return(Json(jm, JsonRequestBehavior.AllowGet)); } //如果表单模型验证成功 if (ModelState.IsValid) { IBuildUnitBLL unitBll = BLLFactory <IBuildUnitBLL> .GetBLL("BuildUnitBLL"); List <T_BuildUnit> list = new List <T_BuildUnit>(); for (int i = 0; i < model.UnitName.Length; i++) { T_BuildUnit newUnit = new T_BuildUnit() { UnitName = model.UnitName[i], BuildId = model.BuildId }; list.Add(newUnit); } // 批量保存 unitBll.BatchAddUnit(model.BuildId, list); //日志记录 jm.Content = PropertyUtils.ModelToJsonString(model); } else { // 保存异常日志 jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR; } return(Json(jm, JsonRequestBehavior.AllowGet)); }