コード例 #1
0
        public virtual async Task <TEntity> Add(TEntity entity)
        {
            if (!await _validator.Validate(entity))
            {
                return(entity);
            }

            await _repository.Add(entity);

            await _repository.Commit();

            return(entity);
        }
コード例 #2
0
    public static void UnilateralTest(string input, ValidatorBase validator)
    {
        var inStream     = new MemoryStream();
        var outBuilder   = new StringBuilder();
        var errorBuilder = new StringBuilder();

        Console.SetIn(new StreamReader(inStream));
        Console.SetOut(new StringWriter(outBuilder));
        Trace.Listeners.Add(new TextWriterTraceListener(new StringWriter(errorBuilder)));
        Console.SetError(new StringWriter(errorBuilder));
        var bytes = Encoding.UTF8.GetBytes(input);

        inStream.Write(bytes, 0, bytes.Length);
        inStream.Position = 0;
        SetStreamToReader(inStream);

        RunProgram();

        var res = outBuilder.ToString();

        try
        {
            validator.Validate(res);
        }
        catch (WrongAnswerException waException)
        {
            waException.Input = input;
            waException.Debug = errorBuilder.ToString();
            throw waException;
        }
    }
コード例 #3
0
        public override void Execute(ProcessContext processContext)
        {
            string errorMsg = _validator.Validate();

            if (!string.IsNullOrWhiteSpace(errorMsg))
            {
                throw new NotificationProcessException(_validator.ValidatorName, errorMsg, _validator.ErrorInstructionsMessage, _validator.NotificationErrorType);
            }
        }
コード例 #4
0
        public void WhenValidateWithNoRulesThanShouldBeTrue()
        {
            //ARRANGE
            var validator = new ValidatorBase <Entity>();
            var e         = new Entity();

            //ACT
            var condition = validator.Validate(e);

            //ASSERT
            Assert.IsTrue(condition);
        }
コード例 #5
0
        public void WhenValidateWithOneRuleInConstructorThanShouldBeTrue()
        {
            //ARRANGE
            var rule      = new Rule <Entity>(x => x.StringProperty != "some value");
            var validator = new ValidatorBase <Entity>(rule);
            var e         = new Entity();

            //ACT
            var condition = validator.Validate(e);

            //ASSERT
            Assert.IsTrue(condition);
        }
コード例 #6
0
        public void WhenValidateWithRegisteredRuleCollectionThanShouldBeTrue()
        {
            //ARRANGE
            var rules = new IRuleBase <Entity>[]
            {
                new Rule <Entity>(x => x.StringProperty != "some value"),
                new Rule <Entity>(x => x.IntProperty < 1),
                new RequiredStringRule <Entity>(x => x.StringProperty)
            };
            var validator = new ValidatorBase <Entity>();
            var e         = new Entity {
                StringProperty = "some prop"
            };

            validator.RegisterRules(rules);

            //ACT
            var condition = validator.Validate(e);

            //ASSERT
            Assert.IsTrue(condition);
        }
コード例 #7
0
ファイル: Publisher.cs プロジェクト: Ali-Doustkani/CactusGuru
 public virtual void Add(T domainEntity)
 {
     _validator.Validate(domainEntity);
     _repo.Add(domainEntity);
 }