Esempio n. 1
0
 public scanOutputFuzzy()
 {
     words = new List<Words>();
     wordTaqti = new List<string>();
     meterSyllables = new List<string>();
     codeSyllables = new List<string>();
     orignalTaqti = new List<string>();
     inp = new Input();
     score = 10;
 }
Esempio n. 2
0
 public ActionResult Index(Input data)
 {
     if (!String.IsNullOrEmpty(data.text))
     {
         Input input = new Input();
         input.text = data.text;
         input.isChecked = data.isChecked;
         Session["inp"] = input;
         return RedirectToAction("Result", "Taqti");
     }
     return View(1);
 }
Esempio n. 3
0
        public ActionResult Output(int id)
        {
            Input inp2 = new Input();
            myConn = new MySqlConnection(connectionString);
            myConn.Open();
            MySqlCommand cmd = new MySqlCommand(connectionString);
            string text = "";
            string meters = "";
            string poet = "";
            string title = "";
            int type = -1;
            List<int> met = new List<int>();
            if (id < 0)
            {
                cmd = myConn.CreateCommand();
                cmd.CommandText = "select * from poetry where id = @id;";
                cmd.Parameters.AddWithValue("@id", id + 65536);
                dataReader = cmd.ExecuteReader();
                while (dataReader.Read())
                {
                    text = dataReader.GetString(4);
                    meters = dataReader.GetString(5);
                    title = dataReader.GetString(2);
                    poet = dataReader.GetString(1);
                    type = dataReader.GetInt32(3);

                }

                inp2.text = poet + " " + title + " " + meters.Replace(","," ").Replace("،"," "); 
                inp2.id = id;
                inp2.text = text;
            }
            else
            {
                inp2.id = id;
            }
            myConn.Close();
            Scansion scn = new Scansion();

            return View(inp2);
        }
Esempio n. 4
0
        public ActionResult Words(Input data)
        {
            string urlReferrer = "#@$@#%@$^$@#!@@#!";
            MySqlConnection myConn = new MySqlConnection(TaqtiController.connectionString);
            MySqlCommand cmd = new MySqlCommand(TaqtiController.connectionString);
            cmd = myConn.CreateCommand();
            cmd.CommandText = "select max(id) as id from iplog;";
            myConn.Open();
            MySqlDataReader dataReader = cmd.ExecuteReader();
            int id3 = 0;
            while (dataReader.Read())
            {
                id3 = dataReader.GetInt32(0);

            }
            myConn.Close();

            try
            {
                urlReferrer = Request.UrlReferrer.ToString();
            }
            catch
            {

            }

            MySqlConnection myConn2 = new MySqlConnection(TaqtiController.connectionString);
            MySqlCommand cmd2 = new MySqlCommand(TaqtiController.connectionString);
            myConn2.Open();

            cmd2 = myConn2.CreateCommand();
            cmd2.CommandText = "INSERT into iplog(ID,ip,date,data,referrer) VALUES (@id,@ip,@date,@data,@referrer)";
            cmd2.Parameters.AddWithValue("@id", id3 + 1);
            cmd2.Parameters.AddWithValue("@ip", (string)Request.UserHostAddress);
            cmd2.Parameters.AddWithValue("@date", DateTime.Now);
            cmd2.Parameters.AddWithValue("@data", data.text);
            cmd2.Parameters.AddWithValue("@referrer", urlReferrer);
            cmd2.ExecuteNonQuery();
            myConn2.Close();

            if (isValid())
            {

                Words wrd = new Words();
                wrd.word = Lines.Replace((data.text.Trim()));
                Scansion scn = new Scansion();
                Words word = new Words();
                word = scn.wordCode(wrd);
                List<string> str = new List<string>();
                for (int i = 0; i < word.code.Count; i++)
                {
                    str.Add(Meters.Rukn(word.code[i]));
                }
                word.taqti = str;
                return PartialView("_PartialWords", word);
            }
            else
            {
                return View();
            }
        }
Esempio n. 5
0
        public ActionResult PartialOutputExamples(Input inp)
        {
            
            string text = inp.text;
            bool isChecked = inp.isChecked;

            List<scanPath> sp = new List<scanPath>();
            Scansion scn = new Scansion();
            scn.fuzzy = false;
            scn.freeVerse = isChecked;
            scn.errorParam = 0;
            scn.isChecked = isChecked;


            List<int> mets = new List<int>();

            char[] delimiters = new[] { ',', '،' };  // List of delimiters
            var subStrings = inp.meter.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
            foreach (var m in subStrings)
            {
                List<int> a = Meters.meterIndex(m.Trim());
                if (a.Count != 0)
                {
                    foreach (var v in a)
                    {
                        mets.Add(v);
                    }
                }
                else
                {
                    mets.Add(-1);
                }
            }
            scn.meter = mets;


            foreach (string line in text.Split(new[] { '\n', '-' }, StringSplitOptions.RemoveEmptyEntries))
            {
                if (!string.IsNullOrWhiteSpace(line))
                    scn.addLine(new Lines(line.Trim()));
            }
            return PartialView("_AjaxPartialExamples", scn.scanOneLine(inp.id));
        }
Esempio n. 6
0
        public ActionResult Result2(Input inp)
        {
            string text = "";
            List<int> met = new List<int>();
            bool isChecked = false;
           
            text = inp.text;
            isChecked = inp.isChecked;
               
            List<scanPath> sp = new List<scanPath>();
            Scansion scn = new Scansion();
            scn.fuzzy = true;
            scn.freeVerse = false;
            scn.meter = met;
            scn.isChecked = isChecked;
            scn.errorParam = 2;
            foreach (string line in text.Split('\n'))
            {
                if (!string.IsNullOrWhiteSpace(line))
                    scn.addLine(new Lines(line.Trim()));
            }
            if(scn.numLines < 4)
            {
                scn.errorParam = 4;
            }
            List<scanOutputFuzzy> lst = new List<scanOutputFuzzy>();
            lst = scn.scanLinesFuzzy();

            if (lst.Count == 0)
            {
                scanOutputFuzzy sc = new scanOutputFuzzy();
                sc.identifier = -1;
                lst.Add(sc);
            }
            else
            {
                lst[0].identifier = -1;
            }

            //return RedirectToAction("Error", "Home");
            return PartialView("_PartialOutput", lst);
        }
Esempio n. 7
0
 public ActionResult PartialIndexExamples(Input data)
 {
     if (!String.IsNullOrEmpty(data.text) && !String.IsNullOrEmpty(data.meter))
     {
         Input input = new Input();
         input.text = data.text;
         input.meter = data.meter;
         input.id = data.id;
         input.isChecked = data.isChecked;
         return RedirectToAction("PartialOutputExamples", new RouteValueDictionary(input));
     }
     return View(data);
 }
Esempio n. 8
0
        public ActionResult ReportWord(Input data)
        {
            if (string.IsNullOrEmpty(data.text))
            {
                MySqlConnection myConn = new MySqlConnection(TaqtiController.connectionString);
                myConn.Open();
                MySqlCommand cmd = new MySqlCommand(TaqtiController.connectionString);
                cmd = myConn.CreateCommand();
                cmd.CommandText = "select * from unassigned where word like '@wrd';";
                cmd.Parameters.AddWithValue("@wrd", Araab.removeAraab(data.text));
                MySqlDataReader dataReader = cmd.ExecuteReader();

                if (!dataReader.HasRows) // look for existing entry in the unassigned table
                {
                    myConn.Close();
                    MySqlConnection myConn2 = new MySqlConnection(TaqtiController.connectionString);
                    myConn2.Open();
                    MySqlCommand cmd2 = new MySqlCommand(TaqtiController.connectionString);
                    cmd2 = myConn2.CreateCommand();
                    cmd2.CommandText = "INSERT into unassigned(word,assigned) VALUES (@word,@assigned);";
                    cmd2.Parameters.AddWithValue("@word", Araab.removeAraab(data.text));
                    cmd2.Parameters.AddWithValue("@assigned", false);

                    cmd2.ExecuteNonQuery();
                    myConn2.Close();

                }
                myConn.Close();
            }
            return View();
         }
Esempio n. 9
0
        public ActionResult Save(string text)
        {
            string prevline = "";
            string txt = "";
            if (!string.IsNullOrEmpty(text))
            {
                foreach (string line in text.Split('\n'))
                {
                    if (!string.IsNullOrWhiteSpace(line))
                    {
                        if (!prevline.Equals(line.Trim()))
                        {
                            txt += line.Trim() + "\n";
                            prevline = line.Trim();
                        }

                    }
                }
                Input inp = new Input();
                inp.text = txt;
                inp.isChecked = false;
                Session["inp"] = inp;
            }
            return View();
        }
Esempio n. 10
0
        public ActionResult Words(Input data)
        {

            Words wrd = new Words();
            wrd.word = Lines.Replace((data.text.Trim()));
            Scansion scn = new Scansion();
            return PartialView("_WordsLookup", scn.wordCode(wrd));
        }
Esempio n. 11
0
        public ActionResult Result2(Input inp)
        {
            string poet = "";
            int type = -1;
            List<int> met = new List<int>();
            Scansion scn = new Scansion();

            if (type == 4)
            {
                scn.fuzzy = false;
                scn.freeVerse = true;
                scn.isChecked = true;
                scn.errorParam = 2;
                scn.meter = met;
            }
            else
            {
                scn.fuzzy = false;
                scn.freeVerse = inp.isChecked;
                scn.isChecked = false;
                scn.errorParam = 2;
                scn.meter = met;
            }

            foreach (string line in inp.text.Split('\n'))
            {
                if (!string.IsNullOrWhiteSpace(line))
                    scn.addLine(new Lines(line.Trim()));
            }
            List<scanOutput> lst = new List<scanOutput>();
            lst = scn.scanLines();

            if (lst.Count == 0)
            {
                scanOutput sc = new scanOutput();
                sc.identifier = -2;
                sc.poet = poet;
                lst.Add(sc);
            }
            else
            {
                lst[0].identifier = -2;
                lst[0].poet = poet;
                lst[0].numLines = scn.numLines;
            }
            return PartialView("_PartialOutputTaqti", lst);
        }