//public CotacaoCadastroVm ConsultarCotacao(int idProcessoCotacao, string codigoFornecedor) //{ // _processosDeCotacao.BuscaPorId(idProcessoCotacao) // .FiltraPorFornecedor(codigoFornecedor); // var vm = (from p in _processosDeCotacao.GetQuery() // from fp in p.FornecedoresParticipantes // let pcm = (ProcessoDeCotacaoDeMaterial ) p // select new // { // IdProcessoCotacao = pcm.Id, // CodigoFornecedor = fp.Fornecedor.Codigo, // Status = pcm.Status, // DescricaoDoProcessoDeCotacao = pcm.RequisicaoDeCompra.Descricao, // DataLimiteDeRetorno = pcm.DataLimiteDeRetorno.Value.ToShortDateString(), // Material = pcm.Produto.Descricao, // Quantidade = pcm.Quantidade, // UnidadeDeMedida = pcm.RequisicaoDeCompra.UnidadeMedida, // //CodigoCondicaoPagamento = fp.Cotacao != null ? fp.Cotacao.CondicaoDePagamento.Codigo : null, // //CodigoIncoterm = fp.Cotacao != null ? fp.Cotacao.Incoterm.Codigo : null, // //DescricaoIncoterm = fp.Cotacao != null ? fp.Cotacao.DescricaoIncoterm : null, // //Mva = fp.Cotacao != null ? fp.Cotacao.Mva : null, // //ValorTotalSemImpostos = fp.Cotacao != null ? fp.Cotacao.ValorTotalSemImpostos : (decimal?) null, // //ValorTotalComImpostos = fp.Cotacao != null ? fp.Cotacao.ValorTotalComImpostos : null // //CodigoCondicaoPagamento = fp.Cotacao != null ? fp.Cotacao.CondicaoDePagamento.Codigo : null, // CodigoCondicaoPagamento = fp.Cotacao.CondicaoDePagamento.Codigo, // CodigoIncoterm = fp.Cotacao.Incoterm.Codigo, // DescricaoIncoterm = fp.Cotacao.DescricaoIncoterm, // Mva = fp.Cotacao.Mva, // ValorTotalSemImpostos = fp.Cotacao.ValorTotalSemImpostos, // ValorTotalComImpostos = fp.Cotacao.ValorTotalComImpostos // }).Single(); // return new CotacaoCadastroVm() // { // IdProcessoCotacao = vm.IdProcessoCotacao, // CodigoFornecedor = vm.CodigoFornecedor, // Status = vm.Status.Descricao(), // DescricaoDoProcessoDeCotacao = vm.DescricaoDoProcessoDeCotacao, //falta implementar. Acho que a descrição tem que estar no processo e não na requisição de compra // DataLimiteDeRetorno = vm.DataLimiteDeRetorno, // Material = vm.Material, // Quantidade = vm.Quantidade, // UnidadeDeMedida = vm.UnidadeDeMedida, // CodigoCondicaoPagamento = vm.CodigoCondicaoPagamento, // CodigoIncoterm = vm.CodigoIncoterm, // DescricaoIncoterm = vm.DescricaoIncoterm, // Mva = vm.Mva, // ValorTotalSemImpostos = vm.ValorTotalSemImpostos, // ValorTotalComImpostos = vm.ValorTotalComImpostos // }; //} public CotacaoMaterialCadastroVm ConsultarCotacaoDeMaterial(int idProcessoCotacao, string codigoFornecedor) { var processo = (ProcessoDeCotacaoDeMaterial)_processosDeCotacao.BuscaPorId(idProcessoCotacao).Single(); var fp = processo.FornecedoresParticipantes.Single(x => x.Fornecedor.Codigo == codigoFornecedor); var vm = new CotacaoMaterialCadastroVm { PermiteEditar = processo.Status == Enumeradores.StatusProcessoCotacao.Aberto, IdProcessoCotacao = processo.Id, CodigoFornecedor = fp.Fornecedor.Codigo, Status = processo.Status.Descricao(), Requisitos = processo.Requisitos, //DescricaoDoProcessoDeCotacao = processo.RequisicaoDeCompra.Descricao, DataLimiteDeRetorno = processo.DataLimiteDeRetorno.Value.ToShortDateString(), IdFornecedorParticipante = fp.Id }; if (fp.Cotacao != null) { var cotacao = (CotacaoMaterial)fp.Cotacao.CastEntity(); vm.IdCotacao = cotacao.Id; vm.CodigoCondicaoPagamento = cotacao.CondicaoDePagamento.Codigo; vm.CodigoIncoterm = cotacao.Incoterm.Codigo; vm.DescricaoIncoterm = cotacao.DescricaoIncoterm; } return(vm); }
public void QuandoConsultoUmaCotacaoDoFornecedorQueJaFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var cotacao = processo.InformarCotacao(fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); var processoCotacaoItem = processo.Itens.First(); cotacao.InformarCotacaoDeItem(processoCotacaoItem, 100, 120, 12, DateTime.Today.AddMonths(1), "observacoes"); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialCadastroVm vm = consulta.ConsultarCotacaoDeMaterial(processo.Id, fornecedor.Codigo); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(cotacao.Id, vm.IdCotacao); Assert.AreEqual(cotacao.CondicaoDePagamento.Codigo, vm.CodigoCondicaoPagamento); Assert.AreEqual(cotacao.Incoterm.Codigo, vm.CodigoIncoterm); Assert.AreEqual("Desc Incoterm", vm.DescricaoIncoterm); Assert.AreEqual(fornecedor.Codigo, vm.CodigoFornecedor); Assert.IsTrue(processo.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processo.DataLimiteDeRetorno.Value.ToShortDateString(), vm.DataLimiteDeRetorno); Assert.AreEqual("Aberto", vm.Status); }
public ViewResult EditarCadastro(int idProcessoCotacao) { var usuarioConectado = ObjectFactory.GetInstance <UsuarioConectado>(); CotacaoMaterialCadastroVm viewModel = _consultaCotacaoDoFornecedor.ConsultarCotacaoDeMaterial(idProcessoCotacao, usuarioConectado.Login); _atualizadorDeIteracaoDoUsuario.Atualizar(viewModel.IdFornecedorParticipante); ViewBag.Incoterms = _consultaIncoterms.ListarTodos(); ViewBag.CondicoesDePagamento = _consultaCondicaoPagamento.ListarTodas(); return(View(viewModel)); }
public ActionResult Editar() { ViewBag.Materiais = _produtos; var cotacaoVm = new CotacaoMaterialCadastroVm() { DataInicioLeilao = DateTime.Today.ToShortDateString(), DataTerminoLeilao = DateTime.Today.AddDays(2).ToShortDateString(), DataValidadeCotacaoInicial = DateTime.Today.AddDays(3).ToShortDateString(), DataValidadeCotacaoFinal = DateTime.Today.AddDays(30).ToShortDateString(), DescricaoMaterial = "MATERIAL 0001 ", DescricaoStatus = "ABERTO", Id = 1, IdMaterial = 2000, Observacoes = "Observações do Leilão", QuantidadeMaterial = 100, Requisitos = "Requisitos do Leilão" }; return(View("Cadastro", cotacaoVm)); }
public void QuandoConsultoUmaCotacaoDoFornecedorQueAindaNaoFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialCadastroVm vm = consulta.ConsultarCotacaoDeMaterial(processo.Id, fornecedor.Codigo); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(0, vm.IdCotacao); Assert.IsNull(vm.CodigoCondicaoPagamento); Assert.IsNull(vm.CodigoIncoterm); Assert.IsNull(vm.DescricaoIncoterm); Assert.AreEqual(fornecedor.Codigo, vm.CodigoFornecedor); Assert.IsTrue(processo.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processo.DataLimiteDeRetorno.Value.ToShortDateString(), vm.DataLimiteDeRetorno); Assert.AreEqual("Aberto", vm.Status); }
public void QuandoConsultaUmaCotacaoQueParticipaMaisDeUmFornecedorRetornaOsDadoDoFornecedorInformado() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado(); Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao(); Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao(); processo.AdicionarFornecedor(fornecedor1); processo.AdicionarFornecedor(fornecedor2); processo.Abrir(DefaultObjects.ObtemUsuarioPadrao()); var processoDeCotacaoItem = processo.Itens.First(); var cotacao1 = processo.InformarCotacao(fornecedor1.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); cotacao1.InformarCotacaoDeItem(processoDeCotacaoItem, 100, 120, 12, DateTime.Today.AddMonths(1), "observacoes"); var cotacao2 = processo.InformarCotacao(fornecedor2.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); cotacao2.InformarCotacaoDeItem(processoDeCotacaoItem, 120, 130, 14, DateTime.Today.AddMonths(1), "observacoes"); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); var cotacao = (CotacaoMaterial)processo.FornecedoresParticipantes.Single(x => x.Fornecedor.Codigo == fornecedor1.Codigo).Cotacao; var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialCadastroVm vm = consulta.ConsultarCotacaoDeMaterial(processo.Id, fornecedor1.Codigo); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(cotacao.Id, vm.IdCotacao); Assert.AreEqual(cotacao.CondicaoDePagamento.Codigo, vm.CodigoCondicaoPagamento); Assert.AreEqual(cotacao.Incoterm.Codigo, vm.CodigoIncoterm); Assert.AreEqual("Desc Incoterm", vm.DescricaoIncoterm); Assert.AreEqual(fornecedor1.Codigo, vm.CodigoFornecedor); Assert.IsTrue(processo.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processo.DataLimiteDeRetorno.Value.ToShortDateString(), vm.DataLimiteDeRetorno); Assert.AreEqual("Aberto", vm.Status); }