public async Task <MensagemDeSaida> Transforma(MensagemDeEntrada mensagemDeEntrada) { var regra = await regrasRepository.ObtemRegraPeloNome(mensagemDeEntrada.Regra); XmlDocument mensagemXml; switch (regra.TipoDeFormato) { case TipoDeFormato.Xml: mensagemXml = new XmlDocument(); mensagemXml.LoadXml(mensagemDeEntrada.Conteudo); break; case TipoDeFormato.JSON: mensagemXml = JsonConvert.DeserializeXmlNode(mensagemDeEntrada.Conteudo); break; default: throw new InvalidCastException(); } var mensagem = await transformacaoDeMensagensXmlService.Transforma(mensagemXml, regra); var mensagemDeSaida = new MensagemDeSaida { Result = mensagem }; return(mensagemDeSaida); }
public async Task <ActionResult <MensagemDeSaida> > Post([FromHeader] string regra, [FromBody] string conteudo) { var mensagemDeEntrada = new MensagemDeEntrada { Regra = regra, Conteudo = conteudo }; var mensagem = await transformacaoDeMensagens.Transforma(mensagemDeEntrada); return(Ok(mensagem)); }