schangxiang@126.com
2025-05-13 25246d39da4b74b54a844b36d8a50752917b81cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System.Linq.Expressions;
 
namespace CMS.Plugin.HIAWms.Domain.WmsMaterialInfos
{
    /// <summary>
    /// WmsMaterialInfo规约
    /// </summary>
    public class WmsMaterialInfoSpecification : Volo.Abp.Specifications.Specification<WmsMaterialInfo>
    {
        private readonly string _materialNo;
 
        /// <summary>
        /// Initializes a new instance of the <see cref="WmsMaterialInfoSpecification"/> class.
        /// </summary>
        public WmsMaterialInfoSpecification()
        {
        }
 
        /// <summary>
        /// Initializes a new instance of the <see cref="WmsMaterialInfoSpecification"/> class.
        /// </summary>
        /// <param name="materialNo">The name.</param>
        public WmsMaterialInfoSpecification(string materialNo = null)
        {
            _materialNo = materialNo;
        }
 
        /// <inheritdoc />
        public override Expression<Func<WmsMaterialInfo, bool>> ToExpression()
        {
            Expression<Func<WmsMaterialInfo, bool>> expression = c => 1 == 1;
 
            if (_materialNo != null)
            {
                expression = expression.And(c => c.MaterialNo == _materialNo);
            }
 
            return expression;
        }
    }
}