public virtual FornecedorParticipante AdicionarFornecedor(Fornecedor fornecedor) { if (Status != Enumeradores.StatusProcessoCotacao.NaoIniciado) { throw new ProcessoDeCotacaoIniciadoAtualizacaoFornecedorException(Status.Descricao()); } var fornecedorConsulta = FornecedoresParticipantes.SingleOrDefault(x => x.Fornecedor.Codigo == fornecedor.Codigo); if (fornecedorConsulta != null) { return(fornecedorConsulta); } var fornecedorParticipante = new FornecedorParticipante(this, fornecedor); FornecedoresParticipantes.Add(fornecedorParticipante); return(fornecedorParticipante); }
public virtual CotacaoFrete InformarCotacao(string codigoFornecedor, decimal valorTotalComImpostos, decimal quantidadeDisponivel, string observacoes) { base.InformarCotacao(); //busca a cotação do fornecedor FornecedorParticipante fornecedorParticipante = FornecedoresParticipantes.First(x => x.Fornecedor.Codigo == codigoFornecedor); var cotacao = (CotacaoFrete)fornecedorParticipante.Cotacao.CastEntity(); if (cotacao == null) { cotacao = new CotacaoFrete(); fornecedorParticipante.InformarCotacao(cotacao); } ProcessoDeCotacaoItem processoDeCotacaoItem = Itens.First(); cotacao.InformarCotacaoDeItem(processoDeCotacaoItem, valorTotalComImpostos, quantidadeDisponivel, observacoes); return(cotacao); }
public virtual CotacaoMaterial InformarCotacao(string codigoFornecedor, CondicaoDePagamento condicaoDePagamento, Incoterm incoterm, string descricaoDoIncoterm) { base.InformarCotacao(); //busca a cotação do fornecedor FornecedorParticipante fornecedorParticipante = FornecedoresParticipantes.First(x => x.Fornecedor.Codigo == codigoFornecedor); var cotacao = (CotacaoMaterial)fornecedorParticipante.Cotacao.CastEntity(); if (cotacao == null) { cotacao = new CotacaoMaterial(condicaoDePagamento, incoterm, descricaoDoIncoterm); fornecedorParticipante.InformarCotacao(cotacao); } else { cotacao.Atualizar(condicaoDePagamento, incoterm, descricaoDoIncoterm); } return(cotacao); }