public virtual CotacaoItem InformarCotacaoDeItem(int idProcessoDeCotacaoItem, int idCotacao, decimal preco, decimal?mva, decimal quantidadeDisponivel, DateTime prazoDeEntrega, string observacoes) { base.InformarCotacao(); var cotacao = (CotacaoMaterial)FornecedoresParticipantes.Where(fp => fp.Cotacao != null && fp.Cotacao.Id == idCotacao) .Select(fp => fp.Cotacao).Single().CastEntity(); ProcessoDeCotacaoItem processoDeCotacaoItem = Itens.Single(item => item.Id == idProcessoDeCotacaoItem); return(cotacao.InformarCotacaoDeItem(processoDeCotacaoItem, preco, mva, quantidadeDisponivel, prazoDeEntrega, observacoes)); }
public virtual void Fechar() { if (Status == Enumeradores.StatusProcessoCotacao.Fechado) { throw new FecharProcessoDeCotacaoFechadoException(); } if (FornecedoresParticipantes.Count(x => x.Cotacao != null && x.Cotacao.Itens.Any(c => c.Selecionada)) == 0) { throw new ProcessoDeCotacaoFecharSemCotacaoSelecionadaException(); } Status = Enumeradores.StatusProcessoCotacao.Fechado; DataDeFechamento = DateTime.Now.Date; }
public virtual void RemoverFornecedor(string codigoFornecedor) { if (Status != Enumeradores.StatusProcessoCotacao.NaoIniciado) { throw new ProcessoDeCotacaoIniciadoAtualizacaoFornecedorException(Status.Descricao()); } var fornecedorParticipante = FornecedoresParticipantes.SingleOrDefault(x => x.Fornecedor.Codigo == codigoFornecedor); if (fornecedorParticipante == null) { return; } FornecedoresParticipantes.Remove(fornecedorParticipante); }
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); }
protected Cotacao BuscarPodId(int idCotacao) { return(FornecedoresParticipantes.First(x => x.Cotacao != null && x.Cotacao.Id == idCotacao).Cotacao); }