public static void Imprimir(FraseTraducida fraseTraducida)
        {
            FraseTraducidaManager ftmg = new FraseTraducidaManager();

            fraseTraducida = ftmg.RetrieveByName(fraseTraducida);
            Console.WriteLine("");
            Console.WriteLine("La frase '" + fraseTraducida.Palabra + "' traducida al '" +
                              fraseTraducida.NombreIdioma + "' es: '" + fraseTraducida.PalabraTraducida + "'");
        }
        public static FraseTraducida SolicitarTraduccion(Frase frase, Idioma idioma, FraseTraducida fraseTraducida)
        {
            FraseTraducidaManager ftmg = new FraseTraducidaManager();

            Console.WriteLine("");
            Console.WriteLine("No poseo la traduccion de la palabra '" + frase.Palabra +
                              "' en el idioma '" + idioma.Nombre + "', por favor ingrese la traduccion:");
            fraseTraducida.PalabraTraducida = Console.ReadLine().ToLower();
            ftmg.Create(fraseTraducida);
            return(fraseTraducida);
        }
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var frase = new FraseTraducida
            {
                Palabra          = GetStringValue(row, DB_COL_FRASE_ORIGEN),
                NombreIdioma     = GetStringValue(row, DB_COL_IDIOMA),
                PalabraTraducida = GetStringValue(row, DB_COL_PALABRA)
            };

            return(frase);
        }
Beispiel #4
0
        public IHttpActionResult GetByIdioma(string idioma)
        {
            try
            {
                var mng            = new FraseTraducidaManager();
                var fraseTraducida = new FraseTraducida();
                fraseTraducida.NombreIdioma = idioma;

                apiResp      = new ApiResponse();
                apiResp.Data = mng.RetrieveAllByIdioma(fraseTraducida);
                return(Ok(apiResp));
            }
            catch (BussinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
        public List <T> RetrieveAllByPalabra <T>(FraseTraducida fraseTraducida)
        {
            var lstFrasesTraducidas = new List <T>();

            var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetriveByPalabraStatement(fraseTraducida));
            var dic       = new Dictionary <string, object>();

            if (lstResult.Count > 0)
            {
                var objs = mapper.BuildObjects(lstResult);
                foreach (var c in objs)
                {
                    lstFrasesTraducidas.Add((T)Convert.ChangeType(c, typeof(T)));
                }
            }

            return(lstFrasesTraducidas);
        }
 internal void Delete(FraseTraducida fraseTraducida)
 {
     throw new NotImplementedException();
 }
 public FraseTraducida RetrieveByName(FraseTraducida fraseTraducida)
 {
     return(crudFraseTraducida.Retrieve <FraseTraducida>(fraseTraducida));
 }
 public List <FraseTraducida> RetrieveAllByPalabra(FraseTraducida fraseTraducida)
 {
     return(crudFraseTraducida.RetrieveAllByPalabra <FraseTraducida>(fraseTraducida));
 }
 public List <FraseTraducida> RetrieveAllByIdioma(FraseTraducida fraseTraducida)
 {
     return(crudFraseTraducida.RetrieveAllByIdioma <FraseTraducida>(fraseTraducida));
 }
 public void Create(FraseTraducida fraseTraducida)
 {
     crudFraseTraducida.Create(fraseTraducida);
 }
        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();
        }