public bool Get_Palabra(string value, int cant)
        {
            Dir_Palabras_Transaction _trn = new Dir_Palabras_Transaction();
            Dir_Palabras_Model       _pa  = new Dir_Palabras_Model();
            bool pResp = false;

            try
            {
                _pa = _trn.GetPalabra(value.ToString().Trim(), cant);
                if (_pa.Palabra != null)
                {
                    pResp = true;
                }
            }
            catch (Exception e)
            {
                throw new ArgumentException(e.Message);
            }
            return(pResp);
        }
Exemple #2
0
        public Dir_Palabras_Model GetPalabra(string value, int cant)
        {
            PalabrasEntities   db = new PalabrasEntities();
            Dir_Palabras_Model pa = new Dir_Palabras_Model();

            try
            {
                var a = db.Dir_Palabras.Where(x => x.Palabra == value && x.Cant_Letras == cant).FirstOrDefault();
                if (a != null)
                {
                    pa.Id          = a.id;
                    pa.Palabra     = a.Palabra;
                    pa.Cant_Letras = a.Cant_Letras;
                }
            }
            catch (Exception e)
            {
                throw new ArgumentException(e.Message.ToString());
            }
            return(pa);
        }
Exemple #3
0
        private List <Dir_Palabras_Model> _ResultPalabras(string p1, string p2)
        {
            List <Dir_Palabras_Model> _listResult = new List <Dir_Palabras_Model>();
            IAlfabeto             alfabeto        = new Alfabeto_Model();
            Alfabeto_Model        m    = new Alfabeto_Model();
            Dir_Palabras_Business _bll = new Dir_Palabras_Business();

            //Recorro la palabra uno para empezar a reemplazar
            try
            {
                string letra   = string.Empty;
                string letra2  = string.Empty;
                bool   isVocal = false;
                string pResult = string.Empty;

                for (int j = 0; j < p1.Length; j++)
                {
                    for (int k = j; k < p2.Length; k++)
                    {
                        letra   = p1.Substring(j, 1);
                        letra2  = p2.Substring(k, 1);
                        isVocal = alfabeto.isVocal(letra);
                        if (!isVocal)
                        {
                            foreach (var item in m.Consonantes)
                            {
                                StringBuilder sb = new StringBuilder(p1);
                                sb[j]   = char.Parse(item.ToString());
                                pResult = sb.ToString();

                                //Busco si la palabra tiene significado
                                if (_bll.Get_Palabra(pResult, pResult.Length))
                                {
                                    var checklist = _listResult.Where(x => x.Palabra == pResult).ToList();
                                    if (!(letra.Equals(letra2)) && checklist.Count == 0)
                                    {
                                        //agrego la palabra a lista resultante
                                        Dir_Palabras_Model ob = new Dir_Palabras_Model();
                                        ob.Cant_Letras = pResult.Length;
                                        ob.Id          = j + 1;
                                        ob.Palabra     = pResult.ToString().Trim();
                                        _listResult.Add(ob);
                                    }
                                }
                            }
                        }
                        else
                        {
                            foreach (var item in m.Vocales)
                            {
                                StringBuilder sb = new StringBuilder(p1);
                                sb[j]   = char.Parse(item.ToString());
                                pResult = sb.ToString();
                                if (pResult != p1)
                                {
                                    //Busco si la palabra tiene significado
                                    if (_bll.Get_Palabra(pResult, pResult.Length))
                                    {
                                        var checklist = _listResult.Where(x => x.Palabra == pResult).ToList();
                                        if (!(letra.Equals(letra2)) && checklist.Count == 0)
                                        {
                                            //agrego la palabra a lista resultante
                                            Dir_Palabras_Model ob = new Dir_Palabras_Model();
                                            ob.Cant_Letras = pResult.Length;
                                            ob.Id          = j + 1;
                                            ob.Palabra     = pResult.ToString().Trim();
                                            _listResult.Add(ob);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                return(_listResult);
            }
            catch
            {
                throw;
            }
        }