public KendoGridVm CotacoesDosFornecedoresResumido(int idProcessoCotacao)
        {
            List <FornecedorParticipante> fornecedoresParticipantes = (from p in
                                                                       _processosDeCotacao.BuscaPorId(idProcessoCotacao).GetQuery()
                                                                       from fp in p.FornecedoresParticipantes
                                                                       select fp).ToList();


            var registros = new List <ProcessoCotacaoFornecedorVm>();

            foreach (var fornecedorParticipante in fornecedoresParticipantes)
            {
                ProcessoCotacaoIteracaoUsuario iteracaoUsuario = _iteracoesUsuario.BuscaPorIdParticipante(fornecedorParticipante.Id);
                var vm = new ProcessoCotacaoFornecedorVm
                {
                    IdFornecedorParticipante = fornecedorParticipante.Id,
                    Codigo = fornecedorParticipante.Fornecedor.Codigo,
                    Nome   = fornecedorParticipante.Fornecedor.Nome,
                    VisualizadoPeloFornecedor = iteracaoUsuario != null && iteracaoUsuario.VisualizadoPeloFornecedor ? "Sim" : "Não"
                };

                if (fornecedorParticipante.Cotacao != null)
                {
                    var cotacaoItem = fornecedorParticipante.Cotacao.Itens.SingleOrDefault();
                    if (cotacaoItem != null)
                    {
                        vm.Selecionado          = (cotacaoItem.Selecionada ? "Sim" : "Não");
                        vm.ValorLiquido         = cotacaoItem.Preco;
                        vm.ValorComImpostos     = cotacaoItem.ValorComImpostos;
                        vm.QuantidadeDisponivel = cotacaoItem.QuantidadeDisponivel;
                    }
                }

                registros.Add(vm);
            }

            var kendoGridVm = new KendoGridVm()
            {
                QuantidadeDeRegistros = registros.Count,
                Registros             = registros.Cast <ListagemVm>().ToList()
            };

            return(kendoGridVm);
        }
        public void ConsigoConsultarCotacaoResumidaDosFornecedoresDeUmProcessoDeCotacaoDeFrete()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCotacaoNaoSelecionada();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);
            FornecedorParticipante fornecedorParticipante = processo.FornecedoresParticipantes.Single();
            Fornecedor             fornecedor             = fornecedorParticipante.Fornecedor;
            CotacaoItem            cotacaoItem            = fornecedorParticipante.Cotacao.Itens.Single();

            var         consulta    = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeFrete>();
            KendoGridVm kendoGridVm = consulta.CotacoesDosFornecedoresResumido(processo.Id);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            ProcessoCotacaoFornecedorVm vm = kendoGridVm.Registros.Cast <ProcessoCotacaoFornecedorVm>().Single();

            Assert.AreEqual(fornecedor.Codigo, vm.Codigo);
            Assert.AreEqual(fornecedor.Nome, vm.Nome);
            Assert.AreEqual(fornecedorParticipante.Id, vm.IdFornecedorParticipante);
            Assert.AreEqual(cotacaoItem.QuantidadeDisponivel, vm.QuantidadeDisponivel);
            Assert.AreEqual("Não", vm.Selecionado);
            Assert.AreEqual(cotacaoItem.ValorComImpostos, vm.ValorComImpostos);
            Assert.AreEqual(cotacaoItem.Preco, vm.ValorLiquido);
        }