Пример #1
0
        public void Execute_RecordDoesNotExist_ThrowsException()
        {
            int id = new Random().Next(1, 1000);
            ProjectRequestAggregateModel model = null;

            _projectRequestAggregateRepo.GetById(id).Returns(model);

            // execute
            TestDelegate del = () => _deleteProjectRequestAggregateCommand.Execute(id);

            // assert
            Assert.Throws <InvalidOperationException>(del);

            // we shouldn't have even tried to do the delete
            _dbContext.DidNotReceive().ExecuteNonQuery(Arg.Any <string>(), Arg.Any <object>());
        }
Пример #2
0
        public void Execute(int id)
        {
            // load the record up
            ProjectRequestAggregateModel projectRequestAggregate = _projectRequestAggregateRepo.GetById(id);

            if (projectRequestAggregate == null)
            {
                throw new InvalidOperationException(String.Format("No project aggregate request found with id {0}", id));
            }

            // insert new record
            string sql = @"DELETE FROM ProjectRequestAggregates WHERE Id = @Id";

            _dbContext.ExecuteNonQuery(sql, new { Id = id });

            // register jobs so all log files are reprocessed
            IEnumerable <LogFileModel> logFiles = _logFileRepo.GetByProject(projectRequestAggregate.ProjectId);

            foreach (LogFileModel logFile in logFiles)
            {
                _setLogFileUnprocessedCommand.Execute(logFile.Id);
            }
        }