Example #1
0
        public void QuandoCrioUmaIteracaoDoUsuarioParaProcessoDeCotacaoIniciaComoNaoVisualizadoPeloFornecedor()
        {
            var iteracaoUsuario = new ProcessoCotacaoIteracaoUsuario(1);

            Assert.AreEqual(1, iteracaoUsuario.IdFornecedorParticipante);
            Assert.IsFalse(iteracaoUsuario.VisualizadoPeloFornecedor);
        }
Example #2
0
        public void QuandoInformoQueFornecedorVisualizouProcesssoDeCotacaoPassaParaVisualizado()
        {
            var iteracaoUsuario = new ProcessoCotacaoIteracaoUsuario(1);

            iteracaoUsuario.FornecedorVisualizou();
            Assert.IsTrue(iteracaoUsuario.VisualizadoPeloFornecedor);
        }
Example #3
0
 public void Adicionar(IList <FornecedorParticipante> fornecedorParticipantes)
 {
     try
     {
         _unitOfWork.BeginTransaction();
         foreach (var fornecedorParticipante in fornecedorParticipantes)
         {
             var iteracaoUsuario = new ProcessoCotacaoIteracaoUsuario(fornecedorParticipante.Id);
             _processoCotacaoIteracoesUsuario.Save(iteracaoUsuario);
         }
         _unitOfWork.Commit();
     }
     catch (Exception)
     {
         _unitOfWork.RollBack();
         throw;
     }
 }
        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);
        }
Example #5
0
 public void Atualizar(int idIteracaoUsuario)
 {
     try
     {
         _unitOfWork.BeginTransaction();
         ProcessoCotacaoIteracaoUsuario iteracaoUsuario = _processoCotacaoIteracoesUsuario.BuscaPorIdParticipante(idIteracaoUsuario);
         if (iteracaoUsuario.VisualizadoPeloFornecedor)
         {
             _unitOfWork.RollBack();
             return;
         }
         iteracaoUsuario.FornecedorVisualizou();
         _processoCotacaoIteracoesUsuario.Save(iteracaoUsuario);
         _unitOfWork.Commit();
     }
     catch (Exception)
     {
         _unitOfWork.RollBack();
         throw;
     }
 }
        public void ConsigoSalvarUmaIteracaoDoUsuarioNoProcessoDeCotacaoEConsultarPosteriormente()
        {
            var repositorio     = ObjectFactory.GetInstance <IProcessoCotacaoIteracoesUsuario>();
            var iteracaoUsuario = new ProcessoCotacaoIteracaoUsuario(10);

            try
            {
                UnitOfWorkNh.BeginTransaction();
                repositorio.Save(iteracaoUsuario);
                UnitOfWorkNh.Commit();
            }
            catch (Exception)
            {
                UnitOfWorkNh.RollBack();
                throw;
            }

            UnitOfWorkNh.Session.Clear();

            ProcessoCotacaoIteracaoUsuario iteracaoUsuarioConsultada = repositorio.BuscaPorIdParticipante(iteracaoUsuario.IdFornecedorParticipante);

            Assert.AreEqual(iteracaoUsuario.IdFornecedorParticipante, iteracaoUsuarioConsultada.IdFornecedorParticipante);
            Assert.IsFalse(iteracaoUsuarioConsultada.VisualizadoPeloFornecedor);
        }
        public KendoGridVm CotacoesDosFornecedoresResumido(int idProcessoCotacao)
        {
            //var queryIteracoesUsuario = iteracoesUsuario.GetQuery();

            //var queryfp = (from p in
            //                   _processosDeCotacao.BuscaPorId(idProcessoCotacao).GetQuery()
            //               from fp in p.FornecedoresParticipantes
            //               select fp);

            //List<ProcessoCotacaoFornecedorVm> fornecedoresParticipantes =
            //    (from fp in queryfp
            //     join iu in queryIteracoesUsuario on fp.Id equals iu.IdFornecedorParticipante
            //         into joinedTable
            //     from iu in joinedTable.DefaultIfEmpty()
            //     select new ProcessoCotacaoFornecedorVm
            //         {
            //             IdFornecedorParticipante = fp.Id,
            //             Codigo = fp.Fornecedor.Codigo,
            //             Nome = fp.Fornecedor.Nome,
            //             Selecionado = (fp.Cotacao != null && fp.Cotacao.Selecionada ? "Sim" : "Não"),
            //             ValorLiquido = (fp.Cotacao != null ? fp.Cotacao.ValorLiquido : (decimal?)null),
            //             ValorComImpostos = (fp.Cotacao != null ? fp.Cotacao.ValorComImpostos : (decimal?)null),
            //             VisualizadoPeloFornecedor = iu != null && iu.VisualizadoPeloFornecedor ? "Sim" : "Não"
            //         }).ToList();

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


            //List<ProcessoCotacaoFornecedorVm> fornecedoresParticipantes = (from p in
            //                                                              _processosDeCotacao.BuscaPorId(idProcessoCotacao).GetQuery()
            //                                                          from fp in p.FornecedoresParticipantes
            //                                                          join it in queryIteracoesUsuario on fp.Id equals it.IdFornecedorParticipante
            //                                                          select new ProcessoCotacaoFornecedorVm
            //                                                              {
            //                                                                    IdFornecedorParticipante = fp.Id,
            //                                                                    Codigo = fp.Fornecedor.Codigo ,
            //                                                                    Nome =  fp.Fornecedor.Nome,
            //                                                                    Selecionado = (fp.Cotacao != null && fp.Cotacao.Selecionada ? "Sim" : "Não") ,
            //                                                                    ValorLiquido = (fp.Cotacao != null ? fp.Cotacao.ValorLiquido : (decimal?) null),
            //                                                                    ValorComImpostos = (fp.Cotacao != null ? fp.Cotacao.ValorComImpostos : (decimal?)null),
            //                                                                   // VisualizadoPeloFornecedor = it.VisualizadoPeloFornecedor ? "Sim": "Não"
            //                                                              }).ToList();

            //List<ProcessoCotacaoFornecedorVm> fornecedoresParticipantes = queryParticipantes.Join( queryIteracoesUsuario, p => p.FornecedoresParticipantes.Select(fp => fp.Id),iu => iu.IdFornecedorParticipante )

            var registros = new List <ProcessoCotacaoFornecedorVm>();

            foreach (var fornecedorParticipante in fornecedoresParticipantes)
            {
                ProcessoCotacaoIteracaoUsuario iteracaoUsuario = _iteracoesUsuario.BuscaPorIdParticipante(fornecedorParticipante.Id);
                registros.Add(new ProcessoCotacaoFornecedorVm
                {
                    IdFornecedorParticipante = fornecedorParticipante.Id,
                    Codigo      = fornecedorParticipante.Fornecedor.Codigo,
                    Nome        = fornecedorParticipante.Fornecedor.Nome,
                    Selecionado =
                        (fornecedorParticipante.Cotacao != null && fornecedorParticipante.Cotacao.Itens.Any(x => x.Selecionada)
                                 ? "Sim"
                                 : "Não"),
                    //ValorLiquido =
                    //    (fornecedorParticipante.Cotacao != null
                    //         ? fornecedorParticipante.Cotacao.ValorLiquido
                    //         : (decimal?) null),
                    //ValorComImpostos =
                    //    (fornecedorParticipante.Cotacao != null
                    //         ? fornecedorParticipante.Cotacao.ValorComImpostos
                    //         : (decimal?) null),
                    //QuantidadeDisponivel = fornecedorParticipante.Cotacao != null ? fornecedorParticipante.Cotacao.QuantidadeDisponivel : (decimal?) null,
                    VisualizadoPeloFornecedor = iteracaoUsuario != null && iteracaoUsuario.VisualizadoPeloFornecedor ? "Sim" : "Não"
                });
            }


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

            return(kendoGridVm);
        }