示例#1
0
        /// <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("");
            }
        }
示例#2
0
        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));
        }