public static void registrarTraduccion(Palabra palabra, Usuario user, Diccionario dicc) { Traduccion tTraduc = new Traduccion(); palabra = palaMng.RetrieveByDic(palabra); tTraduc.palabraId = palabra.palabraId; tTraduc.diccionarioId = dicc.diccionarioId; tTraduc.usuarioId = user.usuarioId; tTraduc.fecha = DateTime.Now; traducMng.Create(tTraduc); }
public static void DoIt() { try { var secionIniciada = false; while (secionIniciada == false) { secionIniciada = IniciarSesion(); } Console.WriteLine(" "); Console.WriteLine("Bienvenido " + sesion.Nombre + " "); Console.WriteLine(" "); Console.WriteLine("A que idioma deseas traducir el dia de hoy:"); Console.WriteLine(" "); var idioma = new Idioma { Nombre = Console.ReadLine().ToLower() }; IdiomaManager img = new IdiomaManager(); var nombreIdioma = img.RetrieveByName(idioma); var frase = new Frase(); if (nombreIdioma == null) { img.Create(idioma); nombreIdioma = img.RetrieveByName(idioma); } if (idioma.Nombre.Equals(nombreIdioma.Nombre, StringComparison.CurrentCultureIgnoreCase)) { Console.WriteLine(""); Console.WriteLine("Ingrese la frase que desea traducir, en espa\u00f1ol:"); string palabra = Console.ReadLine().ToLower(); frase = new Frase { Palabra = palabra }; FraseTraducida fraseTraducida = new FraseTraducida { Palabra = frase.Palabra, NombreIdioma = idioma.Nombre }; FraseManager fmg = new FraseManager(); FraseTraducidaManager ftmg = new FraseTraducidaManager(); if (palabra.Contains(" ")) { if (fmg.RetrieveByName(frase) == null) { fmg.Create(frase); } if (ftmg.RetrieveByName(fraseTraducida) == null) { var listaPalabras = palabra.Split(' '); var traducida = ""; int popularidad = 0; foreach (string palActual in listaPalabras) { frase = new Frase { Palabra = palActual }; if (fmg.RetrieveByName(frase) == null) { fmg.Create(frase); } frase = fmg.RetrieveByName(frase); fraseTraducida = new FraseTraducida { Palabra = frase.Palabra, NombreIdioma = idioma.Nombre }; if (ftmg.RetrieveByName(fraseTraducida) == null) { fraseTraducida = SolicitarTraduccion(frase, idioma, fraseTraducida); } fraseTraducida = ftmg.RetrieveByName(fraseTraducida); traducida += fraseTraducida.PalabraTraducida + " "; fmg.AddPopularidad(frase); frase = fmg.RetrieveByName(frase); popularidad += frase.Popularidad; } frase = new Frase { Palabra = palabra, Popularidad = popularidad }; fraseTraducida = new FraseTraducida { Palabra = frase.Palabra, PalabraTraducida = traducida, NombreIdioma = idioma.Nombre }; ftmg.Create(fraseTraducida); } } else { frase = new Frase { Palabra = palabra }; if (fmg.RetrieveByName(frase) == null) { fmg.Create(frase); } frase = fmg.RetrieveByName(frase); if (ftmg.RetrieveByName(fraseTraducida) == null) { fraseTraducida = SolicitarTraduccion(frase, idioma, fraseTraducida); } } fmg.AddPopularidad(frase); frase = fmg.RetrieveByName(frase); fraseTraducida = ftmg.RetrieveByName(fraseTraducida); Imprimir(fraseTraducida); Traduccion registro = new Traduccion { Usuario = sesion.Nombre, Idioma = idioma.Nombre, FraseEspannol = fraseTraducida.Palabra, FraseIdioma = fraseTraducida.PalabraTraducida, Popularidad = frase.Popularidad }; TraduccionManager tmg = new TraduccionManager(); tmg.Create(registro); } } catch (BussinessException bex) { Console.WriteLine("***************************"); Console.WriteLine("ERROR: \n"); Console.WriteLine(bex.AppMessage.Message); Console.WriteLine("***************************"); } finally { Console.WriteLine("Continue? Y/N"); var moreActions = Console.ReadLine(); if (moreActions.Equals("Y", StringComparison.CurrentCultureIgnoreCase)) { DoIt(); } } Console.ReadLine(); }