Example #1
0
 public void TestOptionsForHiragana()
 {
     Assert.AreEqual(
         KanaTools.ToHiragana("wiwewo"),
         "うぃうぇを"
         );
 }
Example #2
0
 public void TestBooleanChecks()
 {
     Assert.IsTrue(KanaTools.IsHiragana("ものの"));
     Assert.IsFalse(KanaTools.IsHiragana("キョクタン"));
     Assert.IsFalse(KanaTools.IsHiragana("romaji"));
     Assert.IsTrue(KanaTools.IsKatakana("キョクタン"));
     Assert.IsTrue(KanaTools.IsKana("キョクタンものの"));
     Assert.IsTrue(KanaTools.IsRomaji("romaji"));
 }
Example #3
0
        public void ConvertSimpleStringsToKatakana()
        {
            Assert.AreEqual(
                KanaTools.ToKatakana("monono"),
                "モノノ");

            Assert.AreEqual(
                KanaTools.ToKatakana("kyokutannazankyou"),
                "キョクタンナザンキョウ");
        }
Example #4
0
        public void ConvertSimpleStringsToHiragana()
        {
            Assert.AreEqual(
                KanaTools.ToHiragana("monono"),
                "ものの");

            Assert.AreEqual(
                KanaTools.ToHiragana("kyokutannazankyou"),
                "きょくたんなざんきょう");
        }
Example #5
0
        public ActionResult SearchModal(string ctrSearchVoc)
        {
            if ("".Equals(ctrSearchVoc))
            {
                return(PartialView());
            }
            // khi serch bang romaji se chuyen sang hiragana
            KanaTools kanaTool = new KanaTools();

            if (kanaTool.IsRomaji(ctrSearchVoc))
            {
                ctrSearchVoc = kanaTool.ToHiragana(ctrSearchVoc);
            }
            // get sentence
            Sen_Mean_Bus senMeanBus = new Sen_Mean_Bus();
            IQueryable <SenViewModel> lstSenMean = senMeanBus.getListSenViewModel(ctrSearchVoc, 10);

            ViewBag.LstSenMean = lstSenMean;

            IQueryable <VocSenViewModel> lstVocSen = (from m in db.A_Voc_Mean
                                                      join d in db.A_Voc_Sen on m.VocMeanId equals d.VocMeanId into tblVocSen
                                                      from d in tblVocSen.DefaultIfEmpty()
                                                      where m.A_Vocabulary.VocContent == ctrSearchVoc || m.A_Vocabulary.VocHiragana == ctrSearchVoc
                                                      select new VocSenViewModel()
            {
                VocContent = m.A_Vocabulary.VocContent,
                VocKanji = m.A_Vocabulary.VocKanji,
                VocHiragana = m.A_Vocabulary.VocHiragana,
                VocKind = m.A_Vocabulary.VocKind,
                MeanContent = m.A_Mean.MeanContent,
                Sentence = d.A_Sen_Mean.A_Sentence.Sentence,
                SenFormat = d.A_Sen_Mean.A_Sentence.SenFormat,
                MeanSenContent = d.A_Sen_Mean.A_Mean.MeanContent
            });

            if (lstVocSen != null)
            {
                return(PartialView(lstVocSen));
            }
            if (!db.A_VocHistory.Any(s => s.VocHistoryContent == ctrSearchVoc))
            {
                A_VocHistory vocHis = new A_VocHistory();
                vocHis.VocHistoryContent = ctrSearchVoc;
                vocHis.ActiveFlag        = 1;
                vocHis.CreateTime        = DateTime.Now;
                vocHis.UpdateTime        = DateTime.Now;
                db.A_VocHistory.Add(vocHis);
                db.SaveChanges();
            }
            return(PartialView());
            // U_End 20200322 Khoi-VT sua add vao table history
        }
Example #6
0
        public void ConvertTrickyStringsToKatakana()
        {
            Assert.AreEqual(
                KanaTools.ToKatakana("teppennowebbutyotto"),
                "テッペンノウェッブチョット");

            Assert.AreEqual(
                KanaTools.ToKatakana("tunaototsunadiji"),
                "ツナオトツナヂジ");

            Assert.AreEqual(
                KanaTools.ToKatakana("bizinessu"),
                "ビジネッス");

            Assert.AreEqual(
                KanaTools.ToKatakana("pyottonn"),
                "ピョットン");
        }
Example #7
0
        public void ConvertTrickyStringsToHiragana()
        {
            Assert.AreEqual(
                KanaTools.ToHiragana("teppennowebbutyotto"),
                "てっぺんのうぇっぶちょっと");

            Assert.AreEqual(
                KanaTools.ToHiragana("tunaototsunadiji"),
                "つなおとつなぢじ");

            Assert.AreEqual(
                KanaTools.ToHiragana("bizinessu"),
                "びじねっす");

            Assert.AreEqual(
                KanaTools.ToHiragana("pyottonn"),
                "ぴょっとん");
        }
Example #8
0
        private void btnLookup_Click(object sender, EventArgs e)
        {
            KanaTools kt = new KanaTools();

            txtCharacter.Text = kt.ToHiragana(txtCharacter.Text);

            Dictionary <string, string> parameters = new Dictionary <string, string>();

            if (kt.IsHiragana(txtCharacter.Text))
            {
                parameters.Add("characters", txtCharacter.Text);
            }
            else
            {
                parameters.Add("ids", txtCharacter.Text);
            }



            List <Subject> subjectList = Subject.BuildSubjectList(txtCharacter.Text);

            rtbJson.Text = Subject.GetAllSubjects(parameters);
        }
Example #9
0
        public ActionResult Search(string ctrSearchVoc)
        {
            if ("".Equals(ctrSearchVoc))
            {
                return(View());
            }
            // khi serch bang romaji se chuyen sang hiragana
            KanaTools kanaTool = new KanaTools();

            if (kanaTool.IsRomaji(ctrSearchVoc))
            {
                ctrSearchVoc = kanaTool.ToHiragana(ctrSearchVoc);
            }
            // get sentence
            Sen_Mean_Bus senMeanBus = new Sen_Mean_Bus();
            IQueryable <SenViewModel> lstSenMean = senMeanBus.getListSenViewModel(ctrSearchVoc, 10);

            ViewBag.LstSenMean = lstSenMean;

            // D_Start 20200326 khoi-vt sua model view
            // get sentence of vocabulary
            //List<A_Voc_Sen> lstVocSen = new List<A_Voc_Sen>();
            //lstVocSen = db.A_Voc_Sen.Where(s => s.A_Sen_Mean.A_Sentence.SenSearch.Contains(ctrSearchVoc)).ToList();
            //ViewBag.lstVocSen = lstVocSen;
            //ViewBag.NullSenMeanId = Settings.Default.NullSenMeanId;
            // D_End 20200326 khoi-vt sua model view

            //get data tu DB truong hop khong ton tai get tu mazii
            //var a_Voc_Mean = db.A_Voc_Mean.Include(a => a.A_Mean).Include(a => a.A_User).Include(a => a.A_User1).Include(a => a.A_Vocabulary);
            //var a_Voc_Mean = db.A_Voc_Mean.Where(a => a.A_Vocabulary.VocContent.Equals(ctrSearchVoc) || a.A_Vocabulary.VocHiragana.Equals(ctrSearchVoc));
            // U_Start 20200326 khoi-vt sua model view
            //List<A_Voc_Mean> lstVocMean = new List<A_Voc_Mean>();
            //lstVocMean = db.A_Voc_Mean.Where(a => a.A_Vocabulary.VocContent == ctrSearchVoc || a.A_Vocabulary.VocHiragana == ctrSearchVoc).ToList();
            //if (lstVocMean.Count > 0)
            //{
            //    return View(lstVocMean);
            //}
            IQueryable <VocSenViewModel> lstVocSen = (from m in db.A_Voc_Mean
                                                      join d in db.A_Voc_Sen on m.VocMeanId equals d.VocMeanId into tblVocSen
                                                      from d in tblVocSen.DefaultIfEmpty()
                                                      where m.A_Vocabulary.VocContent == ctrSearchVoc || m.A_Vocabulary.VocHiragana == ctrSearchVoc
                                                      select new VocSenViewModel()
            {
                VocContent = m.A_Vocabulary.VocContent,
                VocKanji = m.A_Vocabulary.VocKanji,
                VocHiragana = m.A_Vocabulary.VocHiragana,
                VocKind = m.A_Vocabulary.VocKind,
                MeanContent = m.A_Mean.MeanContent,
                Sentence = d.A_Sen_Mean.A_Sentence.Sentence,
                SenFormat = d.A_Sen_Mean.A_Sentence.SenFormat,
                MeanSenContent = d.A_Sen_Mean.A_Mean.MeanContent
            });

            if (lstVocSen != null)
            {
                return(View(lstVocSen));
            }
            // U_End 20200326 khoi-vt sua model view
            // U_Start 20200322 Khoi-VT sua add vao table history
            //Translate_Bus tranBus = new Translate_Bus();
            //tranBus.getDataFromApi(ctrSearchVoc);

            //lstSenMean = new List<A_Sen_Mean>();
            //senMeanBus = new Sen_Mean_Bus();
            //lstSenMean = senMeanBus.getListSentence(ctrSearchVoc, 10);
            //ViewBag.LstSenMean = lstSenMean.ToList();


            //// get sentence of vocabulary
            //lstVocSen = new List<A_Voc_Sen>();
            //lstVocSen = db.A_Voc_Sen.Where(s => s.A_Sen_Mean.A_Sentence.SenSearch.Contains(ctrSearchVoc)).ToList();
            //ViewBag.lstVocSen = lstVocSen;

            ////a_Voc_Mean = db.A_Voc_Mean.Include(a => a.A_Mean).Include(a => a.A_User).Include(a => a.A_User1).Include(a => a.A_Vocabulary);
            //a_Voc_Mean = a_Voc_Mean.Where(a => (a.A_Vocabulary.VocContent == ctrSearchVoc || a.A_Vocabulary.VocHiragana == ctrSearchVoc) &&
            //                                    a.ApproveFlag == 1 && a.ActiveFlag == 1);
            //return View(a_Voc_Mean.ToList());
            if (!db.A_VocHistory.Any(s => s.VocHistoryContent == ctrSearchVoc))
            {
                A_VocHistory vocHis = new A_VocHistory();
                vocHis.VocHistoryContent = ctrSearchVoc;
                vocHis.ActiveFlag        = 1;
                vocHis.CreateTime        = DateTime.Now;
                vocHis.UpdateTime        = DateTime.Now;
                db.A_VocHistory.Add(vocHis);
                db.SaveChanges();
            }
            return(View());
            // U_End 20200322 Khoi-VT sua add vao table history
        }
Example #10
0
 public void ConverKatakanaToRomaji()
 {
     Assert.AreEqual(
         KanaTools.ToRomaji("キョクタンナザンキョウ"),
         "kyokutannazankyou");
 }
Example #11
0
 public void ConverHiraganaToRomaji()
 {
     Assert.AreEqual(
         KanaTools.ToRomaji("きょくたんなざんきょう"),
         "kyokutannazankyou");
 }
Example #12
0
        private async void btnSubmit_Click(object sender, EventArgs e)
        {
            // Check based on meaning
            bool correctMeaning = false, correctReading = false;
            var  levenshtein = new Levenshtein();

            foreach (string meaning in subjectList[0].Meanings)
            {
                int lev = levenshtein.iLD(txtMeaning.Text.ToUpperInvariant(), meaning.ToUpperInvariant());
                if (lev <= 30)
                {
                    correctMeaning = true;
                    break;
                }
                else
                {
                    correctMeaning = false;
                }
            }

            if (!correctMeaning)
            {
                incorrectMeaning++;
            }

            // Check based on reading
            KanaTools kt = new KanaTools();

            txtReading.Text = kt.ToHiragana(txtReading.Text.ToLower());
            if (subjectList[0].Readings != null)
            {
                foreach (string reading in subjectList[0].Readings)
                {
                    if (kt.ToHiragana(txtReading.Text.ToLower()) == reading.ToLower())
                    {
                        correctReading = true;
                        break;
                    }
                    else
                    {
                        correctReading = false;
                    }
                }
            }
            else
            {
                correctReading = true;
            }

            if (!correctReading)
            {
                incorrectReading++;
            }

            if (correctMeaning && correctReading)
            {
                await Review.CreateReview(subjectList[0].Id, incorrectMeaning, incorrectReading);

                LoadNextSubject();
            }
            else
            {
                btnShowAnswer.Enabled = true;
            }
        }