Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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);
        }