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