/// <summary> /// Recupera Projeto de acordo com um modelo, com um certo Oid. /// </summary> /// <param name="modelo">Dicionário de Propriedades requisitadas.</param> /// <param name="projetoOid">Oid do Projeto a ser recuperado.</param> /// <returns>Obejto Dinâmico com as propriedades requisitadas.</returns> public ObjetoDinamico ConsultarProjeto(ModeloDinamico <ProjetoDto> modelo, Guid projetoOid) { ObjetoDinamico projetoDto = modelo.Objeto(ProjetoDao.Instancia.ConsultarProjetoPorOid(projetoOid, o => o.Gerente.Usuario.Person, o => o.EmpresaInstituicao1 ).ToDto()); return(projetoDto); }
/// <summary> /// Recupera projetos de acordo com um modelo, filtrados por propriedades. /// </summary> /// <param name="modelo">Dicionário de Propriedades requisitadas.</param> /// <param name="filtro">Dicionário de Propriedades para filtrar os objetos.</param> /// <returns>Lista de Obejtos Dinâmicos com as propriedades requisitadas.</returns> public List <ObjetoDinamico> ListarProjetos(ModeloDinamico <ProjetoDto> modelo, Filtro <ProjetoDto> filtro) { List <ObjetoDinamico> projetosDto = (from p in ProjetoDao.Instancia.ListarProjetos() select p.ToDto()) .Filtra(filtro) .Select(modelo.Objeto) .ToList(); return(projetosDto); }
public ActionResult ListarProjetosMacros(Guid?id = null) { ModeloDinamico <ProjetoDto> modelo = null; NameValueCollection queryString; queryString = new NameValueCollection(Request.QueryString); try { string campos = queryString.Get("campos"); if (campos != null) { modelo = new ModeloDinamico <ProjetoDto>(campos); queryString.Remove("campos"); } } catch (PropriedadeNaoExisteException e) { // Será que deve ser 400 ou 409 nesse caso? Response.StatusCode = 400; return(Json(new { message = e.Message }, JsonRequestBehavior.AllowGet)); } if (id.HasValue) { dynamic projeto; if (modelo == null) { projeto = ProjetoBo.Instancia.ConsultarProjeto(id.Value); } else { projeto = ProjetoBo.Instancia.ConsultarProjeto(modelo, id.Value); } return(Json(new { projeto }, JsonRequestBehavior.AllowGet)); } dynamic projetos; try { Filtro <ProjetoDto> filtro = queryString.CriarFiltro <ProjetoDto>(); // Somente projetos Macros filtro.Add("ProjetoMacroOid", null); if (modelo == null) { projetos = ProjetoBo.Instancia.ListarProjetos(filtro); } else { projetos = ProjetoBo.Instancia.ListarProjetos(modelo, filtro); } } catch (PropriedadeNaoExisteException e) { Response.StatusCode = 409; return(Json(new { message = e.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { projetos }, JsonRequestBehavior.AllowGet)); }