Exemple #1
0
        private void PlayEvent(FileLineProcessingRejectedEvent domainEvent)
        {
            // find the line
            FileLine fileLine = this.FileLines.Single(f => f.LineNumber == domainEvent.LineNumber);

            fileLine.ProcessingResult = ProcessingResult.Rejected;
            fileLine.RejectedReason   = domainEvent.Reason;
        }
        public void FileLineProcessingRejectedEvent_CanBeCreated_IsCreated()
        {
            FileLineProcessingRejectedEvent fileLineProcessingRejectedEvent =
                new FileLineProcessingRejectedEvent(TestData.FileId, TestData.EstateId, TestData.LineNumber, TestData.RejectionReason);

            fileLineProcessingRejectedEvent.FileId.ShouldBe(TestData.FileId);
            fileLineProcessingRejectedEvent.LineNumber.ShouldBe(TestData.LineNumber);
            fileLineProcessingRejectedEvent.EstateId.ShouldBe(TestData.EstateId);
            fileLineProcessingRejectedEvent.Reason.ShouldBe(TestData.RejectionReason);
        }
Exemple #3
0
        /// <summary>
        /// Records the file line as rejected.
        /// </summary>
        /// <param name="lineNumber">The line number.</param>
        /// <param name="reason">The reason.</param>
        /// <exception cref="InvalidOperationException">File has no lines to mark as rejected</exception>
        /// <exception cref="NotFoundException">File line with number {lineNumber} not found to mark as rejected</exception>
        public void RecordFileLineAsRejected(Int32 lineNumber, String reason)
        {
            if (this.FileLines.Any() == false)
            {
                throw new InvalidOperationException("File has no lines to mark as rejected");
            }

            if (this.FileLines.SingleOrDefault(l => l.LineNumber == lineNumber) == null)
            {
                throw new NotFoundException($"File line with number {lineNumber} not found to mark as rejected");
            }

            FileLineProcessingRejectedEvent fileLineProcessingRejectedEvent =
                new FileLineProcessingRejectedEvent(this.AggregateId, this.EstateId, lineNumber, reason);

            this.ApplyAndAppend(fileLineProcessingRejectedEvent);

            this.CompletedChecks();
        }