public Resultado GerarXml(int ProjetoId, XmlTipo XmlTipo, string Versao, string UserId) { Resultado resultado = DadosValidos(ProjetoId, XmlTipo, Versao, UserId); if (resultado.Inconsistencias.Count == 0) { var svc = obterXmlTipo(XmlTipo); Resultado ValidaXml = svc.ValidaXml(ProjetoId); if (ValidaXml.Inconsistencias.Count() > 0) { return(ValidaXml); } var xml = svc.GerarXml(ProjetoId, Versao, UserId); if (xml != null) { resultado = CriarArquivo(JsonConvert.SerializeObject(xml), XmlTipo.ToString(), ProjetoId, Versao, UserId); } else { resultado.Inconsistencias.Add("Erro na gravação do arquivo"); } resultado.Acao = "Geração Xml " + XmlTipo.ToString(); } return(resultado); }
public Resultado DadosValidos(int ProjetoId, XmlTipo XmlTipo, string Versao, string UserId) { var resultado = new Resultado(); try { if (ProjetoId <= 0) { resultado.Inconsistencias.Add("Informe o ProjetoId"); } if (XmlTipo.ToString() == null || !Enum.IsDefined(typeof(XmlTipo), XmlTipo)) { resultado.Inconsistencias.Add("Informe o XmlTipo"); } else if (_context.Projetos.Where(p => p.Id == ProjetoId).FirstOrDefault() == null) { resultado.Inconsistencias.Add("ProjetoId não localizado"); } if (Versao == null) { resultado.Inconsistencias.Add("Informe a Versão"); } if (UserId == null) { resultado.Inconsistencias.Add("UserId Não localizado"); } } catch (Exception ex) { resultado.Inconsistencias.Add(ex.Message); } return(resultado); }
public ActionResult <Resultado> Get(int projetoId, XmlTipo xmlTipo, string versao) { Resultado r = new Resultado(); try { var userId = User.FindFirst(JwtRegisteredClaimNames.Jti).Value; return(_service.GerarXml(projetoId, xmlTipo, versao, userId)); } catch (System.Exception e) { // Substituir depois só por uma mensagem de erro genérica r.Inconsistencias.Add(e.Message); r.Inconsistencias.Add(e.StackTrace); return(r); } }
private dynamic obterXmlTipo(XmlTipo XmlTipo) { var svc = (dynamic)null; switch (XmlTipo.ToString()) { //case "MOVIMENTACAOFINANCEIRA": //case "PROGRAMA": case "PROJETOGESTAO": svc = _projetoGestao; break; case "PROJETOPED": svc = _projetoPed; break; case "INTERESSEPROJETOPED": svc = _interessePed; break; case "INICIOEXECUCAOPROJETO": svc = _inicioExec; break; case "PRORROGAEXECUCAOPROJETO": svc = _prorrogacaoPed; break; case "RELATORIOFINALPED": svc = _relatorioFinalPed; break; case "RELATORIOFINALGESTAO": svc = _relatorioFinalGestao; break; case "RELATORIOAUDITORIAPED": svc = _relatorioAuditoriaPed; break; case "RELATORIOAUDITORIAGESTAO": svc = _relatorioAuditoriaGestao; break; } return(svc); }
public Resultado ValidaDados(int ProjetoId, XmlTipo XmlTipo) { Resultado resultado = new Resultado(); if (ProjetoId <= 0) { resultado.Inconsistencias.Add("Informe o ProjetoId"); } if (XmlTipo.ToString() == null || !Enum.IsDefined(typeof(XmlTipo), XmlTipo)) { resultado.Inconsistencias.Add("Informe o XmlTipo"); } if (resultado.Inconsistencias.Count == 0) { var svc = obterXmlTipo(XmlTipo); resultado = svc.ValidaXml(ProjetoId); resultado.Acao = "Validação dados Xml " + XmlTipo.ToString(); } return(resultado); }
public ActionResult <Resultado> GetA(int projetoId, XmlTipo xmlTipo) { return(_service.ValidaDados(projetoId, xmlTipo)); }