public async Task <int> Create(FornecedorRequestModel request) { var fornecedor = new FornecedorBuilder() .ComRazaoSocial(request.RazaoSocial) .ComNomeFantasia(request.NomeFantasia) .ComTelefone(request.Telefone) .ComEmail(request.Email) .ComCNPJ(request.CNPJ) .ComRua(request.Endereco.Rua) .ComNumero(request.Endereco.Numero) .ComComplemento(request.Endereco.Complemento) .ComBairro(request.Endereco.Bairro) .ComCEP(request.Endereco.CEP) .ComCidade(request.Endereco.Cidade) .ComUF(request.Endereco.UF) .Build(); fornecedor.Validate(); var fornecedorJaExiste = await _repository.VerificarSeFornecedorJaExiste(fornecedor.CNPJ); if (fornecedorJaExiste) { throw new ArgumentException("Fornecedor já existe."); } await _repository.Create(fornecedor); return(fornecedor.Id); }
public void Update(FornecedorBuilder builder) { RazaoSocial = builder.RazaoSocial; CNPJ = builder.CNPJ; NomeFantasia = builder.NomeFantasia; Telefone = builder.Telefone; Email = builder.Email; Endereco = new Endereco(builder); }
public static FornecedorEntity Of(FornecedorBuilder builder) => new FornecedorEntity { RazaoSocial = builder.RazaoSocial, CNPJ = builder.CNPJ, NomeFantasia = builder.NomeFantasia, Telefone = builder.Telefone, Email = builder.Email, Endereco = new Endereco(builder) };
public Endereco(FornecedorBuilder builder) { Rua = builder.Rua; Bairro = builder.Bairro; Cidade = builder.Cidade; CEP = builder.CEP; Numero = builder.Numero; Complemento = builder.Complemento; UF = builder.UF; }
public void IncluirFornecedor() { var builder = new FornecedorBuilder(); builder .ComNome(Nome) .ComDocumento(Documento) .ComContato(Contato) .NaCategoria(Categoria) .NaDataAtual(); _fornecedorCadastrado = builder.Constroi(); }
public void Atualizar_Fornecedor() { var fornecedorId = 1; var fornecedor = new FornecedorBuilder() .ComRazaoSocial("barbara Cosmeticos") .ComCNPJ("97.598.988/0001-74") .ComNomeFantasia("Claudio") .ComBairro("Ponta Aguda") .ComCidade("Blumenau") .ComRua("Rua Paraguay") .ComNumero("270") .ComComplemento("Apto 502") .ComUF("SC") .ComCEP("89050020") .ComEmail("*****@*****.**") .ComTelefone("433222335") .ComId(fornecedorId) .Build(); fornecedor.Update(new FornecedorBuilder() .ComRazaoSocial("Kruger Cosméticos") .ComCNPJ("08.632.688/0001-34") .ComNomeFantasia("Kruge Beleza") .ComBairro("Escola Agricola") .ComCidade("Blumenau") .ComRua("Rua Joinville") .ComNumero("77") .ComComplemento("Sala 502") .ComUF("SC") .ComCEP("89037656") .ComEmail("*****@*****.**") .ComTelefone("4733990785") .ComId(fornecedorId) ); fornecedor.CNPJ.Should().Be("08.632.688/0001-34"); fornecedor.Email.Should().Be("*****@*****.**"); fornecedor.Telefone.Should().Be("4733990785"); fornecedor.Endereco.Bairro.Should().Be("Escola Agricola"); fornecedor.Endereco.Rua.Should().Be("Rua Joinville"); fornecedor.Endereco.Cidade.Should().Be("Blumenau"); fornecedor.Endereco.Numero.Should().Be("77"); fornecedor.Endereco.UF.Should().Be("SC"); fornecedor.Endereco.Complemento.Should().Be("Sala 502"); fornecedor.Endereco.CEP.Should().Be("89037656"); fornecedor.NomeFantasia.Should().Be("Kruge Beleza"); fornecedor.Id.Should().Be(fornecedorId); fornecedor.RazaoSocial.Should().Be("Kruger Cosméticos"); }
public void CriarBuilder() { var fornecedor = new FornecedorBuilder(); fornecedor .ComContato(new Contato("José Augusto", "21934567890")) .ComNome("AutoViação Fast") .ComDocumento("012.345.678/0001-90") .NaCategoria(new Categoria("Transporte")) .NaDataAtual(); var autoViacaoFast = fornecedor.Constroi(); Assert.AreEqual(autoViacaoFast.Categoria.Nome, "Transporte"); }
public void CriacaoSolicitacao() { var paulo = new Solicitante("Paulo", "*****@*****.**"); ISolicitado representanteComercial = new Cliente("Trufell Alimentação"); representanteComercial.IncluirContato(new Contato("Representante Comercial", "*****@*****.**")); ISolicitado novoFornecedor = new FornecedorBuilder() .ComNome("Fazendo Cacau Puro") .ComContato(new Contato("Representante Fornecedor", "*****@*****.**")) .ComDocumento("123.456.789/0001-90") .NaDataAtual() .NaCategoria(new Categoria("Transporte")) .Constroi(); var inclusaoCliente = new Solicitacao(paulo, representanteComercial, "Inclusao De Cliente"); var inclusaoFornecedor = new Solicitacao(paulo, novoFornecedor, "Inclusao De Fornecedor"); Assert.AreEqual(inclusaoCliente.Solicitante.Email, paulo.Email); Assert.AreEqual(inclusaoCliente.Solicitante.Email, "*****@*****.**"); Assert.AreEqual(inclusaoFornecedor.Solicitante.Email, "*****@*****.**"); }
public async Task <FornecedorEntity> Update(int id, FornecedorRequestModel request) { var fornecedor = await _repository.GetById(id); if (fornecedor == null) { throw new ArgumentException("Id invalido."); } var fornecedorRequestModel = new FornecedorBuilder() .ComRazaoSocial(request.RazaoSocial) .ComNomeFantasia(request.NomeFantasia) .ComTelefone(request.Telefone) .ComEmail(request.Email) .ComCNPJ(request.CNPJ) .ComRua(request.Endereco.Rua) .ComNumero(request.Endereco.Numero) .ComComplemento(request.Endereco.Complemento) .ComBairro(request.Endereco.Bairro) .ComCEP(request.Endereco.CEP) .ComCidade(request.Endereco.Cidade) .ComUF(request.Endereco.UF); fornecedor.Update(fornecedorRequestModel); fornecedor.Validate(); var verificandoCnpj = await _repository.ExisteFornecedorComEsseCnpj(fornecedor.CNPJ, fornecedor.Id); if (verificandoCnpj) { throw new ArgumentException("Fornecedor não poderá ser cadastrado."); } await _repository.Update(fornecedor); return(fornecedor); }
public void CriarCadastroFornecedor() { Solicitante usuarioSistema = new Solicitante("Bruno Alves", "*****@*****.**"); Fornecedor barracaDoZe = new FornecedorBuilder() .ComContato(new Contato("Zé", "*****@*****.**")) .ComDocumento("12.234.567-0") .ComNome("José Araújo de Lima") .NaCategoria(new Categoria("Alimentícios")) .NaDataAtual() .Constroi(); Solicitacao solicitacaoCadastro = new Solicitacao(usuarioSistema, barracaDoZe, "Inclusão de Fornecedor"); //fluxo Solicitação Costumizada var passoA = new Passo(1, "PassoA"); var passoB = new Passo(2, "PassoB"); var passoC = new Passo(3, "PassoC"); var passoD = new Passo(4, "PassoD"); passoA.AdicionarProximoPasso(new List <Passo> { passoB, passoC }); passoB.AdicionarProximoPasso(new List <Passo> { passoD }); passoC.AdicionarProximoPasso(new List <Passo> { passoD }); passoB.AdicionarPassoAnterior(new List <Passo>() { passoA }); passoC.AdicionarPassoAnterior(new List <Passo>() { passoA }); passoD.AdicionarPassoAnterior(new List <Passo>() { passoB, passoC }); var fluxo = new WorkFlow(); fluxo.AdicionarPasso(new List <Passo> { passoA }); fluxo.AdicionarPasso(new List <Passo> { passoB, passoC }); fluxo.AdicionarPasso(new List <Passo> { passoD }); CadastroDeFornecedor cadastro = new CadastroDeFornecedor(barracaDoZe, solicitacaoCadastro, fluxo); //Aprovar P1 Assert.AreEqual(cadastro.Fluxo.PassoAtual.Descricao, passoA.Descricao); fluxo.AprovarPassoAtual(passoA); //Aprovar P2 Assert.AreEqual(cadastro.Fluxo.PassoAtual.Descricao, passoB.Descricao); fluxo.AprovarPassoAtual(passoB); //Aprovar P3 Assert.AreEqual(cadastro.Fluxo.PassoAtual.Descricao, passoC.Descricao); fluxo.AprovarPassoAtual(passoC); //Aprovar P4 Assert.AreEqual(cadastro.Fluxo.PassoAtual.Descricao, passoD.Descricao); fluxo.AprovarPassoAtual(passoD); }