Exemplo n.º 1
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            base.AddValidations(rules);

            rules.AddRule(FileInfo.NameProperty, new RequiredRule());
            //rules.AddRule(FileInfo.NameProperty, new NotDuplicateRule());
        }
Exemplo n.º 2
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(Modules.ModuleGuidProperty, new RequiredRule());
     rules.AddRule(Modules.ModuleNameProperty, new RequiredRule());
     rules.AddRule(Modules.ModuleTypeProperty, new RequiredRule());
     rules.AddRule(Modules.AssemblyProperty, new RequiredRule());
 }
Exemplo n.º 3
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(StorageInBill.CodeProperty, new RequiredRule());
     rules.AddRule(new HandlerRule
     {
         Handler = (e, args) =>
         {
             var po = e as StorageInBill;
             if (po.StorageInItemList.Count == 0)
             {
                 args.BrokenDescription = "至少需要一个商品项。".Translate();
             }
             else
             {
                 foreach (StorageInBillItem item in po.StorageInItemList)
                 {
                     if (item.View_TotalPrice <= 0)
                     {
                         args.BrokenDescription = "商品项金额应该是正数。".Translate();
                         return;
                     }
                 }
             }
         }
     });
 }
Exemplo n.º 4
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            base.AddValidations(rules);

            rules.AddRule(GlobalSetting.KeyProperty, new RequiredRule());
            rules.AddRule(GlobalSetting.KeyProperty, new NotDuplicateRule());
        }
Exemplo n.º 5
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            rules.AddRule(TestUserQueryCriteria.NameProperty, RequiredRule.Instance);

            //测试规则的清空。
            rules.AddRule(TestUserQueryCriteria.CodeProperty, RequiredRule.Instance);
            rules.ClearRules(TestUserQueryCriteria.CodeProperty);
        }
Exemplo n.º 6
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(new NotUsedByReferenceRule(Book.BookCategoryIdProperty), new RuleMeta
     {
         Scope = EntityStatusScopes.Delete
     });
     base.AddValidations(rules);
 }
Exemplo n.º 7
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            rules.AddRule(Book.CodeProperty, new NotDuplicateRule());

            //书名和作者名不能同时一致。
            rules.AddRule(new NotDuplicateRule
            {
                Properties = { Book.AuthorProperty, Book.NameProperty }
            });
        }
Exemplo n.º 8
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            base.AddValidations(rules);

            rules.AddRule(User.PasswordProperty, new RequiredRule());

            //以下属性需要动态进行检测。
            //rules.AddRule(User.UserNameProperty, new RequiredRule());
            //rules.AddRule(User.EmailProperty, new RequiredRule());
            //rules.AddRule(User.EmailProperty, new RegexMatchRule
            //{
            //    Regex = TextFormatter.ReEmail,
            //    MessageBuilder = (e) => "邮箱格式不正确。"
            //});
        }
Exemplo n.º 9
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     //示例属性验证。
     rules.AddRule(Book.AuthorProperty, new RequiredRule());
     rules.AddRule(Book.AuthorProperty, new StringLengthRangeRule {
         Max = 3
     });
     rules.AddRule(Book.AmountProperty, new NumberRangeRule {
         Min = 5, Max = 50
     });
     rules.AddRule(Book.PublisherProperty, new RegexMatchRule
     {
         Regex      = TextFormatter.ReAllChinese,
         RegexLabel = "全中文"
     });
     rules.AddRule(Book.NameProperty, new HandlerRule
     {
         Handler = (e, args) =>
         {
             var value = e.GetProperty(args.Property) as string;
             if (string.IsNullOrEmpty(value))
             {
                 args.BrokenDescription = "书籍的名称不能为空。";
             }
             else if (!value.Contains("《") || !value.Contains("》"))
             {
                 args.BrokenDescription = "书籍的名称需要带上书名号:《》";
             }
         }
     });
     //rules.AddRule(AmountProperty, (e, args) =>
     //{
     //    var value = (e as Book).Amount;
     //    if (value < 0)
     //    {
     //        args.BrokenDescription = "数量不能是负数。";
     //    }
     //});
 }
Exemplo n.º 10
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            base.AddValidations(rules);

            rules.AddRule(new Rafy.Domain.Validation.HandlerRule()
            {
                Handler = (entity, e) =>
                {
                    try
                    {
                        if (entity.GetType().Name == typeof(Role).Name)
                        {
                            var repo  = RF.Concrete <RoleRepository>();
                            Role bII  = entity as Role;
                            int count = 0;

                            if (bII.Id > 0)
                            {
                                count = repo.GetByCode(bII).Count;
                            }
                            else
                            {
                                count = repo.GetByCriteria(new RoleCriteria()
                                {
                                    Code = bII.Code
                                }).Count;
                            }
                            e.BrokenDescription = count == 0 ? string.Empty : "角色编号已经存在!";
                        }
                    }
                    catch (Exception ex)
                    {
                        e.BrokenDescription = ex.Message;
                    }
                }
            }
                          );
        }
Exemplo n.º 11
0
        protected override void AddValidations(IValidationDeclarer rules)
        {
            rules.AddRule(StorageMove.CodeProperty, RequiredRule.Instance);
            rules.AddRule(StorageMove.UserProperty, RequiredRule.Instance);
            rules.AddRule(StorageMove.StorageToProperty, new HandlerRule
            {
                Handler = (e, args) =>
                {
                    var move = e as StorageMove;
                    if (move.StorageToId == move.StorageFromId)
                    {
                        args.BrokenDescription = "出货仓库和入货仓库不能是同一个仓库".Translate();
                    }
                }
            });
            rules.AddRule(new HandlerRule
            {
                Handler = (e, args) =>
                {
                    var move     = e as StorageMove;
                    var children = move.StorageMoveItemList;
                    if (children.Count == 0)
                    {
                        args.BrokenDescription = "没有需要调拔的商品项。".Translate();
                        return;
                    }

                    foreach (StorageMoveItem item in move.StorageMoveItemList)
                    {
                        if (item.Amount <= 0)
                        {
                            args.BrokenDescription = "商品项数量必须是正数。".Translate();
                            return;
                        }
                    }
                }
            });
        }
Exemplo n.º 12
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(PurchaseOrder.CodeProperty, RequiredRule.Instance);
     rules.AddRule(new HandlerRule
     {
         Handler = (e, args) =>
         {
             var po = e as PurchaseOrder;
             if (po.PurchaseOrderItemList.Count == 0)
             {
                 args.BrokenDescription = "订单至少需要一个订单项。".Translate();
             }
             else
             {
                 foreach (PurchaseOrderItem item in po.PurchaseOrderItemList)
                 {
                     if (item.View_TotalPrice <= 0)
                     {
                         args.BrokenDescription = "商品项金额应该是正数。".Translate();
                         return;
                     }
                 }
             }
         }
     });
     rules.AddRule(PurchaseOrder.StorageProperty, new HandlerRule
     {
         Handler = (e, args) =>
         {
             var po = e as PurchaseOrder;
             if (po.StorageInDirectly && !po.StorageId.HasValue)
             {
                 args.BrokenDescription = "请选择需要入库的仓库。".Translate();
             }
         }
     });
 }
Exemplo n.º 13
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(Position.CodeProperty, new RequiredRule());
     rules.AddRule(Position.NameProperty, new RequiredRule());
 }
Exemplo n.º 14
0
 /// <summary>
 /// 子类重写此方法,并完成对实体验证规则的配置。
 /// 
 /// 注意:
 /// * 为了给当前类的子类也运行同样的配置,这个方法可能会被调用多次。
 /// </summary>
 protected internal virtual void AddValidations(IValidationDeclarer rules)
 {
 }
Exemplo n.º 15
0
 /// <summary>
 /// 子类重写此方法,并完成对实体验证规则的配置。
 ///
 /// 注意:
 /// * 为了给当前类的子类也运行同样的配置,这个方法可能会被调用多次。
 /// </summary>
 protected internal virtual void AddValidations(IValidationDeclarer rules)
 {
 }
Exemplo n.º 16
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(TestUser.NotEmptyCodeProperty, RequiredRule.Instance);
 }
Exemplo n.º 17
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(User.CodeProperty, new RequiredRule());
     rules.AddRule(User.NameProperty, new RequiredRule());
     rules.AddRule(User.CodeProperty, new NotDuplicateRule());
 }
Exemplo n.º 18
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(new NotUsedByReferenceRule(Book.BookCategoryIdProperty));
     base.AddValidations(rules);
 }
Exemplo n.º 19
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(Org.NameProperty, RequiredRule.Instance);
 }
Exemplo n.º 20
0
 protected override void AddValidations(IValidationDeclarer rules)
 {
     rules.AddRule(FinanceLog.ReasonProperty, new RequiredRule());
     rules.AddRule(FinanceLog.AmountProperty, new PositiveNumberRule());
     rules.AddRule(FinanceLog.UsersProperty, new RequiredRule());
 }