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 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 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); }