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); }
public JsonResult Listar(PaginacaoVm paginacaoVm, ProcessoCotacaoFiltroVm filtro) { var usuarioConectado = ObjectFactory.GetInstance <UsuarioConectado>(); if (usuarioConectado.Perfis.Contains(Enumeradores.Perfil.Fornecedor)) { filtro.CodigoFornecedor = usuarioConectado.Login; } var kendoGridVm = _consultaProcessoDeCotacaoDeMaterial.Listar(paginacaoVm, filtro); return(Json(new { registros = kendoGridVm.Registros, totalCount = kendoGridVm.QuantidadeDeRegistros }, JsonRequestBehavior.AllowGet)); }
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); }