public int InsertarTexto(IdiomaBE idioma, TextoBE texto) { AccesoSQL AccesoSQL = new AccesoSQL(); List <SqlParameter> parametros = new List <SqlParameter>(); parametros.Add(AccesoSQL.CrearParametroStr("CodIdioma", idioma.CodIdioma)); parametros.Add(AccesoSQL.CrearParametroInt("IdFrase", texto.IdFrase)); parametros.Add(AccesoSQL.CrearParametroStr("Texto", texto.Texto)); return(AccesoSQL.Escribir("pr_Insertar_Texto", parametros)); }
public List <TextoBE> ListarTextosDelIdioma(IdiomaBE idioma) { AccesoSQL AccesoSQL = new AccesoSQL(); List <TextoBE> textos = new List <TextoBE>(); List <SqlParameter> parametros = new List <SqlParameter>(); parametros.Add(AccesoSQL.CrearParametroStr("CodIdioma", idioma.CodIdioma)); DataTable tabla = AccesoSQL.Leer("pr_Listar_TextosPorIdioma", parametros); if (tabla != null) { foreach (DataRow fila in tabla.Rows) { TextoBE frase = new TextoBE(); frase.IdFrase = short.Parse(fila["IdFrase"].ToString()); frase.Texto = fila["Texto"].ToString(); textos.Add(frase); } } return(textos); }
/// <summary> /// Este método traduce al lenguaje de destino, todas las palabras del lenguaje origen /// </summary> /// <param name="idiomaOrigen"></param> /// <param name="idiomaDestino"></param> public int TraducirIdiomaCompleto(IdiomaBE idiomaOrigen, IdiomaBE idiomaDestino) { int retVal = 0; try { IdiomaMapper m = new IdiomaMapper(); List <TextoBE> textosOrigen = ListarTextosDelIdioma(idiomaOrigen); HttpClient client = new HttpClient(); //Por las dudas borro antes lo del destino, por si reutilizo esta función en otro momento m.EliminarTextosDeIdioma(idiomaDestino); foreach (TextoBE text in textosOrigen) { string requestStr = String.Format("?q={0}&langpair={1}|{2}", text.Texto, idiomaOrigen.CodIdioma, idiomaDestino.CodIdioma); TranslationResponse.Rootobject tResponse = new TranslationResponse.Rootobject(); string jsonResp = client.GetStringAsync("https://api.mymemory.translated.net/get" + requestStr).Result; tResponse = JsonConvert.DeserializeObject <TranslationResponse.Rootobject>(jsonResp); if (tResponse != null) { //if matches.count?? TextoBE textoTraducido = new TextoBE(); textoTraducido.IdFrase = text.IdFrase; textoTraducido.Texto = tResponse.responseData.translatedText; retVal += m.InsertarTexto(idiomaDestino, textoTraducido); } } } catch (Exception ex) { //TODO: crear nueva excepción específica throw ex; } return(retVal); }