示例#1
0
        public ActionResult ListarProjetos(Guid?projetoOid)
        {
            if (!Request.AcceptTypes.Contains("application/json"))
            {
                return(View("/Views/Projeto/View.cshtml"));
            }

            if (projetoOid.HasValue)
            {
                var projeto = ProjetoBo.Instancia.ConsultarProjeto(projetoOid.Value);

                return(Json(new { projeto = projeto }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var filtro = new Filtro <ProjetoDto>();

                filtro.Add("Status", (int)CsProjetoSituacaoDomain.EmAndamento);

                //ConsultarProjetos não existe BOs.Projeto, somente no Geral. Isso deve ser refatorado para o BOs.Projeto. Ass.: Ayrton
                var projetos = ProjetoBo.Instancia.ListarProjetos(filtro);

                return(Json(new { projetos = projetos }, JsonRequestBehavior.AllowGet));
            }
        }
示例#2
0
        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));
        }