public new virtual void RemoverItem(ProcessoDeCotacaoItem item)
        {
            var itemMaterial = (ProcessoDeCotacaoDeMaterialItem)item;

            itemMaterial.RequisicaoDeCompra.DesvincularDeProcessoDeCotacao();
            base.RemoverItem(item);
        }
示例#2
0
 internal CotacaoMaterialItem(Cotacao cotacao, ProcessoDeCotacaoItem processoDeCotacaoItem, decimal?mva, DateTime prazoDeEntrega,
                              decimal preco, decimal quantidadeDisponivel, string observacoes)
     : base(cotacao, processoDeCotacaoItem, preco, quantidadeDisponivel, observacoes)
 {
     Mva            = mva;
     PrazoDeEntrega = prazoDeEntrega;
     AdicionarHistoricoDePreco(preco);
 }
 public virtual void RemoverItem(ProcessoDeCotacaoItem item)
 {
     if (Status != Enumeradores.StatusProcessoCotacao.NaoIniciado)
     {
         throw new ProcessoDeCotacaoAlterarItensException(Status.Descricao());
     }
     Itens.Remove(item);
 }
        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));
        }
示例#5
0
 protected CotacaoItem(Cotacao cotacao, ProcessoDeCotacaoItem processoDeCotacaoItem, decimal preco,
                       decimal quantidadeDisponivel, string observacoes) : this()
 {
     Selecionada           = false;
     Cotacao               = cotacao;
     ProcessoDeCotacaoItem = processoDeCotacaoItem;
     Preco                = preco;
     PrecoInicial         = preco;
     QuantidadeDisponivel = quantidadeDisponivel;
     Observacoes          = observacoes;
     CalculaValorComImpostos();
     CalculaCusto();
 }
示例#6
0
        //protected CotacaoFrete(){}
        public virtual CotacaoItem InformarCotacaoDeItem(ProcessoDeCotacaoItem processoDeCotacaoItem, decimal valorTotalComImpostos, decimal quantidadeDisponivel, string observacoes)
        {
            var cotacaoItem = (CotacaoFreteItem)Itens.SingleOrDefault(item => item.ProcessoDeCotacaoItem.Id == processoDeCotacaoItem.Id);

            if (cotacaoItem != null)
            {
                cotacaoItem.Atualizar(valorTotalComImpostos, quantidadeDisponivel, observacoes);
            }
            else
            {
                cotacaoItem = new CotacaoFreteItem(this, processoDeCotacaoItem, valorTotalComImpostos, quantidadeDisponivel, observacoes);
                Itens.Add(cotacaoItem);
            }

            return(cotacaoItem);
        }
示例#7
0
        public virtual CotacaoItem InformarCotacaoDeItem(ProcessoDeCotacaoItem processoDeCotacaoItem, decimal preco, decimal?mva,
                                                         decimal quantidadeDisponivel, DateTime prazoDeEntrega, string observacoes)
        {
            var cotacaoItem = (CotacaoMaterialItem)Itens.SingleOrDefault(item => item.ProcessoDeCotacaoItem.Id == processoDeCotacaoItem.Id);

            if (cotacaoItem != null)
            {
                cotacaoItem.Atualizar(preco, mva, quantidadeDisponivel, prazoDeEntrega, observacoes);
            }
            else
            {
                cotacaoItem = new CotacaoMaterialItem(this, processoDeCotacaoItem, mva, prazoDeEntrega, preco, quantidadeDisponivel, observacoes);
                Itens.Add(cotacaoItem);
            }

            return(cotacaoItem);
        }
        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);
        }
示例#9
0
 internal CotacaoFreteItem(Cotacao cotacao, ProcessoDeCotacaoItem processoDeCotacaoItem, decimal valorTotalComImpostos,
                           decimal quantidadeDisponivel, string observacoes) : base(cotacao, processoDeCotacaoItem, valorTotalComImpostos, quantidadeDisponivel, observacoes)
 {
 }
示例#10
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((Cotacao != null ? Cotacao.GetHashCode() : 0) * 397) ^ (ProcessoDeCotacaoItem != null ? ProcessoDeCotacaoItem.GetHashCode() : 0));
     }
 }