public ActionResult Index(PermutaListFilter filter) { if (!User.UnidadeId.HasValue) { this.AlertError("Atenção!", "Informe a unidade onde você trabalha"); return(RedirectToAction("Index", "Funcionario")); } ViewBag.Filter = filter; ViewBag.TipoOptions = _tipoUnidadeDomain.ToOptions(); ViewBag.RegiaoOptions = _regiaoUnidadeDomain.ToOptions(); return(View(_domain.Get().ToIndexView(User, filter))); }
public static IPagedList <PermutaListVM> ToPagedList(this IEnumerable <Permuta> models, FuncionarioOnline user, PermutaListFilter filter = null) { return(models.ToListVM(user, filter) .OrderByDescending(a => a.DtPublicacao) .ToPagedList(filter?.Page ?? 1, 10)); }
public static PermutaIndexVM ToIndexView(this IEnumerable <Permuta> models, FuncionarioOnline user, PermutaListFilter filter = null) { var current = models.SingleOrDefault(a => a.FuncionarioId == user.Id && !a.DtExclusao.HasValue); var pagedList = models.Where(a => a.Funcionario.CargoId == user.CargoId).ToPagedList(user, filter); return(new PermutaIndexVM { Permuta = current.ToGetVM(), Permutas = pagedList }); }
public static IEnumerable <PermutaListVM> ToListVM(this IEnumerable <Permuta> models, FuncionarioOnline user, PermutaListFilter filter = null) { if (filter != null) { if (filter.Tipos.Any()) { models = models.Where(a => filter.Tipos.Any(b => b == a.Funcionario.UnidadeTrabalho.TipoUnidadeId)); } if (filter.Regioes.Any()) { models = models.Where(a => filter.Regioes.Any(b => b == a.Funcionario.UnidadeTrabalho.RegiaoUnidadeId)); } } return(models.Where(a => !a.DtExclusao.HasValue && a.TiposUnidade.Any(b => b.TipoUnidadeId == user.TipoUnidadeId) && a.Regioes.Any(b => b.RegiaoUnidadeId == user.RegiaoUnidadeId)) .Select(model => new PermutaListVM { Id = model.Id, ObservacaoFuncionario = model.ObservacaoFuncionario, ObservacaoPermuta = model.ObservacaoPermuta, DtPublicacao = model.DtPublicacao, Regiao = model.Funcionario.UnidadeTrabalho.RegiaoUnidade.Regiao, Unidade = model.Funcionario.UnidadeTrabalho.Nome }).ToList()); }