示例#1
0
        public void ShouldReturnErrorWhenGravarXmlIsInvalid()
        {
            var obj = new XMLService("");

            obj.Gravar(_nota);

            Assert.IsTrue(obj.Invalid);
        }
示例#2
0
        public void ShouldReturnSuccessWhenGravarXmlIsValid()
        {
            var obj = new XMLService(@"C:\temp\");

            obj.Gravar(_nota);

            Assert.IsTrue(obj.Valid);
        }
示例#3
0
        public void ShouldReturnErrorWhenGravarXmlNull()
        {
            var obj = new XMLService("");

            obj.Gravar(null);

            Assert.IsTrue(obj.Invalid);
        }
示例#4
0
        public ICommandResult Handle(EmissaoNotaFiscalCommand command)
        {
            if (command == null)
            {
                return(new CommandResult(false, "Não foi possível gravar a Nota Fiscal"));
            }

            //Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                AddNotifications(command);
                return(new CommandResult(false, "Não foi possível gravar a Nota Fiscal"));
            }

            //Emitir a nota fiscal
            NotaFiscal notaFiscal = this.EmitirNotaFiscal(command);

            //Agrupar as Validações
            AddNotifications(notaFiscal, command);

            //Checar as notificações
            if (Invalid)
            {
                return(new CommandResult(false, "Não foi possível gravar a Nota Fiscal"));
            }

            //Gerar XML
            if (_XmlService.Gravar(notaFiscal))
            {
                //Salvar as informações
                _repository.CreateNotaFiscal(notaFiscal);
            }

            //Retornar informações
            return(new CommandResult(true, "Nota Fiscal armazenada com sucesso"));
        }