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