コード例 #1
0
        /// <summary>验证数据,通过抛出异常的方式提示验证失败。</summary>
        /// <param name="isNew">是否插入</param>
        public override void Valid(Boolean isNew)
        {
            // 如果没有脏数据,则不需要进行任何处理
            if (!HasDirty)
            {
                return;
            }

            // 这里验证参数范围,建议抛出参数异常,指定参数名,前端用户界面可以捕获参数异常并聚焦到对应的参数输入框
            if (BM.IsNullOrEmpty())
            {
                throw new ArgumentNullException(nameof(BM), "编码不能为空!");
            }

            // 在新插入数据或者修改了指定字段时进行修正
            // 货币保留6位小数
            DJ = Math.Round(DJ, 6);
            // 处理当前已登录用户信息,可以由UserModule过滤器代劳

            /*var user = ManageProvider.User;
             * if (user != null)
             * {
             *  if (isNew && !Dirtys[nameof(CreateUserID)]) CreateUserID = user.ID;
             *  if (!Dirtys[nameof(UpdateUserID)]) UpdateUserID = user.ID;
             * }*/
            //if (isNew && !Dirtys[nameof(CreateTime)]) CreateTime = DateTime.Now;
            //if (!Dirtys[nameof(UpdateTime)]) UpdateTime = DateTime.Now;
            //if (isNew && !Dirtys[nameof(CreateIP)]) CreateIP = ManageProvider.UserHost;
            //if (!Dirtys[nameof(UpdateIP)]) UpdateIP = ManageProvider.UserHost;

            // 检查唯一索引
            // CheckExist(isNew, __.BM);
        }