Пример #1
0
        public KendoGridVm FornecedoresDoProduto(PaginacaoVm paginacaoVm, string codigoProduto)
        {
            Produto produto = _produtos.BuscaPeloCodigo(codigoProduto);

            if (produto == null)
            {
                return(new KendoGridVm
                {
                    Registros = new List <ListagemVm>()
                });
            }

            var kendoGrid = new KendoGridVm
            {
                QuantidadeDeRegistros = produto.Fornecedores.Count,
                Registros             = _builderFornecedor.BuildList(
                    produto.Fornecedores
                    .Skip(paginacaoVm.Skip)
                    .Take(paginacaoVm.Take)
                    .ToList())
                                        .Cast <ListagemVm>().ToList()
            };

            return(kendoGrid);
        }
        public void ConsultaListagemDeProcessosRetornaObjetoEsperado()
        {
            RemoveQueries.RemoverProcessosDeCotacaoCadastrados();

            ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial);
            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.Listar(new PaginacaoVm()
            {
                Page = 1, PageSize = 10, Take = 10
            },
                                                                   new ProcessoCotacaoFiltroVm());

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            ProcessoCotacaoMaterialListagemVm processoListagem = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().First();

            Assert.AreEqual(processoDeCotacaoDeMaterial.Id, processoListagem.Id);
            //Assert.AreEqual(processoDeCotacaoDeMaterial.Itens.First().Produto.Codigo, processoListagem.CodigoMaterial);
            Assert.AreEqual(processoDeCotacaoDeMaterial.Itens.First().Produto.Descricao, processoListagem.Material);
            //Assert.AreEqual(1000, processoListagem.Quantidade);
            Assert.AreEqual("Não Iniciado", processoListagem.Status);
            Assert.IsNotNull(processoDeCotacaoDeMaterial.DataLimiteDeRetorno);
            Assert.AreEqual(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.Value.ToShortDateString(), processoListagem.DataTermino);
        }
Пример #3
0
        public JsonResult FornecedoresDosProdutos(PaginacaoVm paginacaoVm, int idProcessoCotacao)
        {
            string[]    codigoDosProdutos = _consultaProcessoDeCotacao.CodigoDosProdutos(idProcessoCotacao);
            KendoGridVm kendoGridVm       = _consultaProduto.FornecedoresDosProdutos(paginacaoVm, codigoDosProdutos);

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public void QuandoConsultaForneceedoresDeVariosProdutosRetornaListaDeTodosOFornecedoresVinculadosAosProdutosSemRepetir()
        {
            //cenário: dois produtos, três fornecedores distintos. Sendo que um dos fornecedores está vinculado a ambos produtos.
            //Os outros dois fornecedores, cada um está vinculado a um produto.
            //Deve retornar uma lista com 3 fornecedores, sem repetir o fornecedor que está compartilhado com os dois produtos.
            Produto produto1 = DefaultObjects.ObtemProdutoPadrao();
            Produto produto2 = DefaultObjects.ObtemProdutoPadrao();

            Fornecedor fornecedor1             = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2             = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedorCompartilhado = DefaultObjects.ObtemFornecedorPadrao();

            produto1.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor1, fornecedorCompartilhado
            });
            produto2.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor2, fornecedorCompartilhado
            });

            DefaultPersistedObjects.PersistirProduto(produto1);
            DefaultPersistedObjects.PersistirProduto(produto2);

            var         consultaProduto = ObjectFactory.GetInstance <IConsultaProduto>();
            PaginacaoVm paginacaoVm     = DefaultObjects.ObtemPaginacaoDefault();

            KendoGridVm kendoGridVm = consultaProduto.FornecedoresDosProdutos(paginacaoVm, new [] { produto1.Codigo, produto2.Codigo });

            Assert.AreEqual(3, kendoGridVm.QuantidadeDeRegistros);

            IList <FornecedorCadastroVm> registros = kendoGridVm.Registros.Cast <FornecedorCadastroVm>().ToList();

            Assert.IsTrue(registros.Any(x => x.Codigo == fornecedor1.Codigo));
            Assert.IsTrue(registros.Any(x => x.Codigo == fornecedor2.Codigo));
            Assert.IsTrue(registros.Any(x => x.Codigo == fornecedorCompartilhado.Codigo));
        }
        public void QuandoConsultaProcessosDeCotacaoDeUmDeterminadoFornecedorNaoConsideraOsProcessosNaoIniciados()
        {
            //crio um fornecedor e adiciono ele em uma cotação aberta e uma não iniciada
            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();

            ProcessoDeCotacaoDeMaterial processoDeCotacao1 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();
            ProcessoDeCotacaoDeMaterial processoDeCotacao2 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();

            processoDeCotacao1.AdicionarFornecedor(fornecedor1);
            processoDeCotacao1.Abrir(DefaultObjects.ObtemUsuarioPadrao());

            processoDeCotacao2.AdicionarFornecedor(fornecedor1);

            DefaultPersistedObjects.PersistirProcessosDeCotacaoDeMaterial(new List <ProcessoDeCotacaoDeMaterial>()
            {
                processoDeCotacao1, processoDeCotacao2
            });

            var consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            //consulta filtrando pelo fornecedor
            KendoGridVm kendoGridVm = consultaProcesso.Listar(new PaginacaoVm()
            {
                Page = 1, PageSize = 10, Take = 10
            },
                                                              new ProcessoCotacaoFiltroVm()
            {
                CodigoFornecedor = fornecedor1.Codigo
            });

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            var viewModels = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().ToList();

            //verifico que está retornado apenas o processo que foi aberto
            Assert.IsNotNull(viewModels.First(x => x.Id == processoDeCotacao1.Id));
        }
        public void QuandoConsultaCotacaoResumidaAntesDoFornecedorInformarCotacaoRetornaObjetoEsperado()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao    = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();
            Fornecedor             fornecedor             = DefaultObjects.ObtemFornecedorPadrao();
            FornecedorParticipante fornecedorParticipante = processoDeCotacao.AdicionarFornecedor(fornecedor);

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao);

            UnitOfWorkNh.Session.Clear();

            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.CotacoesDosFornecedoresResumido(processoDeCotacao.Id);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            var processoCotacaoFornecedorVm = (ProcessoCotacaoFornecedorVm)kendoGridVm.Registros.First();

            Assert.AreEqual(fornecedorParticipante.Id, processoCotacaoFornecedorVm.IdFornecedorParticipante);
            Assert.AreEqual(fornecedor.Codigo, processoCotacaoFornecedorVm.Codigo);
            Assert.AreEqual(fornecedor.Nome, processoCotacaoFornecedorVm.Nome);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.Selecionado);
            Assert.IsNull(processoCotacaoFornecedorVm.ValorLiquido);
            Assert.IsNull(processoCotacaoFornecedorVm.ValorComImpostos);
            Assert.IsNull(processoCotacaoFornecedorVm.QuantidadeDisponivel);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.VisualizadoPeloFornecedor);
        }
        public void QuandoFiltraFornecedoresPorNomeRetornaListaEContabemDeRegistrosCorreta()
        {
            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor3 = DefaultObjects.ObtemFornecedorPadrao();

            fornecedor2.Atualizar("CARLOS EDUARDO DA SILVA", fornecedor2.Email, "", "", "", false);
            fornecedor3.Atualizar("LUIS EDUARDO SILVA", fornecedor3.Email, "", "", "", false);
            DefaultPersistedObjects.PersistirFornecedor(fornecedor1);
            DefaultPersistedObjects.PersistirFornecedor(fornecedor2);
            DefaultPersistedObjects.PersistirFornecedor(fornecedor3);

            var consultaFornecedor = ObjectFactory.GetInstance <IConsultaFornecedor>();

            var paginacaoVm = new PaginacaoVm()
            {
                Page     = 1,
                PageSize = 10,
                Take     = 10
            };
            var filtro = new FornecedorFiltroVm
            {
                Nome = "eduardo"
            };
            KendoGridVm kendoGridVm = consultaFornecedor.Listar(paginacaoVm, filtro);

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
        }
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, ProcessoCotacaoFiltroVm filtro)
        {
            _processosDeCotacao.FiltraPorTipo(Enumeradores.TipoDeCotacao.Frete);
            if (filtro.CodigoFornecedor != null)
            {
                _processosDeCotacao
                .DesconsideraNaoIniciados()
                .FiltraPorFornecedor(filtro.CodigoFornecedor);
            }

            _processosDeCotacao.CodigoDoProdutoContendo(filtro.CodigoProduto)
            .DescricaoDoProdutoContendo(filtro.DescricaoProduto);

            if (filtro.CodigoStatusProcessoCotacao.HasValue)
            {
                _processosDeCotacao.FiltraPorStatus(
                    (Enumeradores.StatusProcessoCotacao)
                    Enum.Parse(typeof(Enumeradores.StatusProcessoCotacao),
                               Convert.ToString(filtro.CodigoStatusProcessoCotacao.Value)));
            }

            var query = (from p in _processosDeCotacao.GetQuery()
                         from item in p.Itens
                         orderby p.Status
                         select new
            {
                CodigoMaterial = item.Produto.Codigo,
                Material = item.Produto.Descricao,
                DataTermino = p.DataLimiteDeRetorno,
                Id = p.Id,
                Quantidade = item.Quantidade,
                Status = p.Status,
                UnidadeDeMedida = item.UnidadeDeMedida.Descricao
            }
                         );

            var quantidadeDeRegistros = query.Count();

            var registros = query.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).ToList()
                            .Select(x => new ProcessoCotacaoMaterialListagemVm()
            {
                Id             = x.Id,
                CodigoMaterial = x.CodigoMaterial,
                Material       = x.Material,
                DataTermino    =
                    x.DataTermino.HasValue ? x.DataTermino.Value.ToShortDateString() : "",
                Quantidade      = x.Quantidade,
                Status          = x.Status.Descricao(),
                UnidadeDeMedida = x.UnidadeDeMedida
            }).Cast <ListagemVm>().ToList();

            var kendoGridVm = new KendoGridVm()
            {
                QuantidadeDeRegistros = quantidadeDeRegistros,
                Registros             = registros
            };

            return(kendoGridVm);
        }
Пример #9
0
        public JsonResult FornecedoresGerais(PaginacaoVm paginacaoVm, int idProcessoCotacao, FornecedorDoProdutoFiltro filtro)
        {
            string[] codigoDosProdutos = _consultaProcessoDeCotacao.CodigoDosProdutos(idProcessoCotacao);
            filtro.CodigoDosProdutos = codigoDosProdutos;
            KendoGridVm kendoGridVm = _consultaFornecedor.FornecedoresNaoVinculadosAoProduto(paginacaoVm, filtro);

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }
        public KendoGridVm FornecedoresParticipantes(int idProcessoCotacao)
        {
            IList <Fornecedor> fornecedoresParticipantes = (from p in
                                                            _processosDeCotacao.BuscaPorId(idProcessoCotacao).GetQuery()
                                                            from fp in p.FornecedoresParticipantes
                                                            select fp.Fornecedor).ToList();

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

            return(kendoGridVm);
        }
Пример #11
0
        public KendoGridVm ProdutosDoFornecedor(PaginacaoVm paginacaoVm, string codigoFornecedor)
        {
            Fornecedor fornecedor  = _fornecedores.BuscaPeloCodigo(codigoFornecedor);
            var        kendoGridVm = new KendoGridVm
            {
                QuantidadeDeRegistros = fornecedor.Produtos.Count,
                Registros             = _builderProduto.BuildList(
                    fornecedor.Produtos
                    .Skip(paginacaoVm.Skip)
                    .Take(paginacaoVm.Take).ToList())
                                        .Cast <ListagemVm>().ToList()
            };

            return(kendoGridVm);
        }
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, ProcessoCotacaoFiltroVm filtro)
        {
            _processosDeCotacao.FiltraPorTipo(Enumeradores.TipoDeCotacao.Material);
            if (filtro.CodigoFornecedor != null)
            {
                _processosDeCotacao
                .DesconsideraNaoIniciados()
                .FiltraPorFornecedor(filtro.CodigoFornecedor);
            }

            _processosDeCotacao.CodigoDoProdutoContendo(filtro.CodigoProduto)
            .DescricaoDoProdutoContendo(filtro.DescricaoProduto);

            if (filtro.CodigoStatusProcessoCotacao.HasValue)
            {
                _processosDeCotacao.FiltraPorStatus((Enumeradores.StatusProcessoCotacao)Enum.Parse(typeof(Enumeradores.StatusProcessoCotacao), Convert.ToString(filtro.CodigoStatusProcessoCotacao.Value)));
            }

            var query = _processosDeCotacao.GetQuery();

            query = query.OrderBy(x => x.Status);

            var quantidadeDeRegistros = query.Count();

            var processosListados = query.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).ToList();

            var registros = (from x in processosListados
                             let material = String.Join(", ", x.Itens.Select(i => i.Produto.Descricao))
                                            select
                                            new ProcessoCotacaoMaterialListagemVm()
            {
                Id = x.Id,
                //CodigoMaterial = x.CodigoMaterial,
                Material = string.IsNullOrEmpty(material) ? "Sem Materiais": material,
                DataTermino = x.DataLimiteDeRetorno.HasValue ? x.DataLimiteDeRetorno.Value.ToShortDateString(): "",
                //Quantidade = x.Quantidade,
                Status = x.Status.Descricao(),
                //UnidadeDeMedida = x.UnidadeDeMedida
            }).Cast <ListagemVm>().ToList();

            var kendoGridVm = new KendoGridVm()
            {
                QuantidadeDeRegistros = quantidadeDeRegistros,
                Registros             = registros
            };

            return(kendoGridVm);
        }
Пример #13
0
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, FornecedorFiltroVm filtro)
        {
            _fornecedores
            .CodigoContendo(filtro.Codigo)
            .NomeContendo(filtro.Nome);
            var kendoGridVmn = new KendoGridVm()
            {
                QuantidadeDeRegistros = _fornecedores.Count(),
                Registros             =
                    _builderFornecedor.BuildList(_fornecedores.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List())
                    .Cast <ListagemVm>()
                    .ToList()
            };

            return(kendoGridVmn);
        }
Пример #14
0
        public JsonResult Listar(int idProcessoCotacao)
        {
            string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Uploads", Convert.ToString(idProcessoCotacao));
            IEnumerable <string> arquivos = _fileService.ListFiles(path);
            var kendoGridVm = new KendoGridVm
            {
                QuantidadeDeRegistros = arquivos.Count(),
                Registros             = arquivos.Select(f => new FileDownloadVm
                {
                    FileName = f,
                    Url      = f
                }).Cast <ListagemVm>().ToList()
            };

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }
Пример #15
0
        public void ConsigoConsultarUmAgendamentoPeloNumeroDaNotaFiscal()
        {
            Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento();
            //AgendamentoDeDescarregamento agendamento = DefaultObjects.ObtemAgendamentoDeDescarregamento(quota);
            var agendamentoVm = new AgendamentoDeDescarregamentoSalvarVm
            {
                IdQuota       = quota.Id,
                Placa         = "IOQ5338",
                IdAgendamento = 0,
                NotasFiscais  = new List <NotaFiscalVm>
                {
                    new NotaFiscalVm
                    {
                        Numero            = "1234",
                        Serie             = "1",
                        DataDeEmissao     = DateTime.Today.ToShortDateString(),
                        CnpjDoEmitente    = "123",
                        NomeDoEmitente    = "Emitente",
                        CnpjDoContratante = "666",
                        NomeDoContratante = "contratante",
                        NumeroDoContrato  = "4001",
                        Peso  = 100,
                        Valor = 150
                    }
                }
            };

            quota.InformarAgendamento(agendamentoVm);

            DefaultPersistedObjects.PersistirQuota(quota);

            var consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();

            UnitOfWorkNh.Session.Clear();

            var filtro = new ConferenciaDeCargaFiltroVm
            {
                CodigoTerminal = "1000",
                NumeroNf       = "1234"/*,
                                        * CodigoRealizacaoDeAgendamento = (int) Enumeradores.RealizacaoDeAgendamento.NaoRealizado*/
            };
            KendoGridVm kendoGridVm = consultaQuota.Consultar(new PaginacaoVm {
                Page = 1, PageSize = 10, Take = 10
            }, filtro);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
        }
Пример #16
0
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, ItinerarioFiltroVm filtro)
        {
            _itinerarios.CodigoContendo(filtro.Codigo);
            _itinerarios.DescricaoContendo(filtro.Local1);
            _itinerarios.DescricaoContendo(filtro.Local2);

            var kendoGridVmn = new KendoGridVm()
            {
                QuantidadeDeRegistros = _itinerarios.Count(),
                Registros             =
                    _builder.BuildList(_itinerarios.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List())
                    .Cast <ListagemVm>()
                    .ToList()
            };

            return(kendoGridVmn);
        }
        public void QuandoListaProcessosDeCotacaoDeUmDeterminadoFornecedorRetornaApenasProcessosDesteFornecedor()
        {
            //crio dois fornecedores e adiciono cada um deles em duas cotações distintas
            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();

            ProcessoDeCotacaoDeMaterial processoDeCotacao1 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();
            ProcessoDeCotacaoDeMaterial processoDeCotacao2 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();
            ProcessoDeCotacaoDeMaterial processoDeCotacao3 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();
            ProcessoDeCotacaoDeMaterial processoDeCotacao4 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();

            processoDeCotacao1.AdicionarFornecedor(fornecedor1);
            processoDeCotacao1.Abrir(DefaultObjects.ObtemUsuarioPadrao());

            processoDeCotacao2.AdicionarFornecedor(fornecedor1);
            processoDeCotacao2.Abrir(DefaultObjects.ObtemUsuarioPadrao());

            processoDeCotacao3.AdicionarFornecedor(fornecedor2);
            processoDeCotacao3.Abrir(DefaultObjects.ObtemUsuarioPadrao());

            processoDeCotacao4.AdicionarFornecedor(fornecedor2);
            processoDeCotacao4.Abrir(DefaultObjects.ObtemUsuarioPadrao());

            DefaultPersistedObjects.PersistirProcessosDeCotacaoDeMaterial(new List <ProcessoDeCotacaoDeMaterial>()
            {
                processoDeCotacao1, processoDeCotacao2, processoDeCotacao3, processoDeCotacao4
            });

            var consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            //consulta filtrando pelo fornecedor1
            KendoGridVm kendoGridVm = consultaProcesso.Listar(new PaginacaoVm()
            {
                Page = 1, PageSize = 10, Take = 10
            },
                                                              new ProcessoCotacaoFiltroVm()
            {
                CodigoFornecedor = fornecedor1.Codigo
            });

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
            var viewModels = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().ToList();

            //verifico que está retornado os dois processos vinculados ao fornecedor 1
            Assert.IsNotNull(viewModels.First(x => x.Id == processoDeCotacao1.Id));
            Assert.IsNotNull(viewModels.First(x => x.Id == processoDeCotacao2.Id));
        }
Пример #18
0
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, ProdutoCadastroVm filtro)
        {
            _produtos.CodigoContendo(filtro.Codigo);
            _produtos.DescricaoContendo(filtro.Descricao);
            _produtos.TipoContendo(filtro.Tipo);

            var kendoGridVmn = new KendoGridVm()
            {
                QuantidadeDeRegistros = _produtos.Count(),
                Registros             =
                    _builderProduto.BuildList(_produtos.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List())
                    .Cast <ListagemVm>()
                    .ToList()
            };

            return(kendoGridVmn);
        }
Пример #19
0
        public KendoGridVm Listar(PaginacaoVm paginacaoVm, UsuarioFiltroVm usuarioFiltroVm)
        {
            _usuarios
            .LoginContendo(usuarioFiltroVm.Login)
            .NomeContendo(usuarioFiltroVm.Nome);

            var kendoGridVmn = new KendoGridVm()
            {
                QuantidadeDeRegistros = _usuarios.Count(),
                Registros             =
                    _builderUsuario.BuildList(_usuarios.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List())
                    .Cast <ListagemVm>()
                    .ToList()
            };

            return(kendoGridVmn);
        }
        public void ConsigoConsultarItensDeUmProcessoDeCotacaoDeMaterial()
        {
            ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialNaoIniciado();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacao);

            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.ListarItens(processoDeCotacao.Id);
            IList <ProcessoDeCotacaoDeMaterialItemVm> itens = kendoGridVm.Registros.Cast <ProcessoDeCotacaoDeMaterialItemVm>().ToList();

            Assert.IsNotNull(itens);
            Assert.AreEqual(1, itens.Count);
            var requisicaoDeCompraVm = itens.First();
            var item = (ProcessoDeCotacaoDeMaterialItem)processoDeCotacao.Itens.First();

            Assert.AreEqual(item.RequisicaoDeCompra.Numero, requisicaoDeCompraVm.NumeroRequisicao);
            Assert.AreEqual(item.RequisicaoDeCompra.NumeroItem, requisicaoDeCompraVm.NumeroItem);
        }
        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 ConsultaFornecedoresParticipantesRetornaObjetoEsperado()
        {
            ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialNaoIniciado();
            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();

            processoDeCotacaoDeMaterial.AdicionarFornecedor(fornecedor1);
            processoDeCotacaoDeMaterial.AdicionarFornecedor(fornecedor2);
            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial);

            Console.WriteLine("INICIANDO CONSULTA");
            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.FornecedoresParticipantes(processoDeCotacaoDeMaterial.Id);

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
            IList <FornecedorCadastroVm> viewModels = kendoGridVm.Registros.Cast <FornecedorCadastroVm>().ToList();

            Assert.AreEqual(1, viewModels.Count(x => x.Codigo == fornecedor1.Codigo));
            Assert.AreEqual(1, viewModels.Count(x => x.Codigo == fornecedor2.Codigo));
        }
        public void QuandoConsultaCotacaoResumidaAposFornecedorInformarCotacaoRetornaObjetoEsperado()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao      = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCotacaoSelecionada();
            FornecedorParticipante   fornecedorParticipante = processoDeCotacao.FornecedoresParticipantes.First();
            Fornecedor fornecedor = fornecedorParticipante.Fornecedor;

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao);

            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.CotacoesDosFornecedoresResumido(processoDeCotacao.Id);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            var processoCotacaoFornecedorVm = (ProcessoCotacaoFornecedorVm)kendoGridVm.Registros.First();

            Assert.AreEqual(fornecedorParticipante.Id, processoCotacaoFornecedorVm.IdFornecedorParticipante);
            Assert.AreEqual(fornecedor.Codigo, processoCotacaoFornecedorVm.Codigo);
            Assert.AreEqual(fornecedor.Nome, processoCotacaoFornecedorVm.Nome);
            Assert.AreEqual("Sim", processoCotacaoFornecedorVm.Selecionado);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.VisualizadoPeloFornecedor);
        }
Пример #24
0
        public void QuandoConsultaQuotasDeUmDeterminadoFornecedorRetornaListaDeQuotasEmOrdemDecrescenteDeData()
        {
            //cria duas quotas para o mesmo fornecedor
            Fornecedor fornecedor = DefaultObjects.ObtemFornecedorPadrao();
            var        quota1     = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor, "1000", DateTime.Today, 100);
            var        quota2     = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor, "1000", DateTime.Today.AddDays(1), 100);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota2);

            var         consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();
            KendoGridVm kendoGridVm   =
                consultaQuota.ListarQuotasDoFornecedor(new PaginacaoVm {
                Page = 1, PageSize = 10, Take = 10
            }, fornecedor.Codigo);

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
            IList <QuotaPorFornecedorVm> quotas = kendoGridVm.Registros.Cast <QuotaPorFornecedorVm>().ToList();

            Assert.IsTrue(Convert.ToDateTime(quotas[0].Data) > Convert.ToDateTime(quotas[1].Data));
        }
        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);
        }
Пример #26
0
        public KendoGridVm FornecedoresNaoVinculadosAoProduto(PaginacaoVm paginacaoVm, FornecedorDoProdutoFiltro filtro)
        {
            _fornecedores.FornecedoresNaoVinculadosAosProdutos(filtro.CodigoDosProdutos)
            .NomeContendo(filtro.NomeFornecedor)
            .CodigoContendo(filtro.CodigoFornecedor);

            if (filtro.Transportadora.HasValue && filtro.Transportadora.Value)
            {
                _fornecedores.SomenteTransportadoras();
            }
            else if (filtro.Transportadora.HasValue && !filtro.Transportadora.Value)
            {
                _fornecedores.RemoveTransportadoras();
            }

            var kendoGrid = new KendoGridVm()
            {
                QuantidadeDeRegistros = _fornecedores.Count(),
                Registros             = _builderFornecedor.BuildList(_fornecedores.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List()).Cast <ListagemVm>().ToList()
            };

            return(kendoGrid);
        }
        public void QuandoConsultaListagemDeUmProcessoQueNaoPossuiItensRetornaObjetoEsperado()
        {
            RemoveQueries.RemoverProcessosDeCotacaoCadastrados();

            var processoDeCotacaoDeMaterial = new ProcessoDeCotacaoDeMaterial();

            processoDeCotacaoDeMaterial.Atualizar(DateTime.Today, "requisitos");
            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial);
            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.Listar(new PaginacaoVm()
            {
                Page = 1, PageSize = 10, Take = 10
            },
                                                                   new ProcessoCotacaoFiltroVm());

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            ProcessoCotacaoMaterialListagemVm processoListagem = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().First();

            Assert.AreEqual(processoDeCotacaoDeMaterial.Id, processoListagem.Id);
            Assert.AreEqual("Sem Materiais", processoListagem.Material);
            Assert.AreEqual("Não Iniciado", processoListagem.Status);
            Assert.IsNotNull(processoDeCotacaoDeMaterial.DataLimiteDeRetorno);
            Assert.AreEqual(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.Value.ToShortDateString(), processoListagem.DataTermino);
        }
Пример #28
0
        public JsonResult Consultar(PaginacaoVm paginacaoVm, ConferenciaDeCargaFiltroVm filtro)
        {
            KendoGridVm kendoGridVm = _consultaQuota.Consultar(paginacaoVm, filtro);

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }
Пример #29
0
        public JsonResult ListarPorQuota(int idQuota)
        {
            KendoGridVm kendoGridVm = _consultaQuota.ListarAgendamentosDaQuota(idQuota);

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }
        public JsonResult ListarItens(int idProcessoCotacao)
        {
            KendoGridVm kendoGridVm = _consultaProcessoDeCotacaoDeMaterial.ListarItens(idProcessoCotacao);

            return(Json(kendoGridVm, JsonRequestBehavior.AllowGet));
        }