private tbInfDetail CreateDataDetil(string input)
        {
            tbInfDetail baru = new tbInfDetail();

            baru.info = input;
            //cari penghubung, awal dan akhir
            try
            {
                string[] konjungsi = { "adalah", "jika", "ketika", "tetapi", "seandainya", "supaya", "walaupun", "seperti", "karena", "sehingga", "bahwa", "ataupun", "dan", "atau" };
                string   separator = "";
                foreach (string item in konjungsi)
                {
                    if (input.ToLower().Contains(item) == true)
                    {
                        separator = item;
                        break;
                    }
                }
                if (separator != "")
                {
                    baru.Awal       = (input.Substring(0, input.IndexOf(separator)));
                    baru.Akhir      = (input.Substring(input.IndexOf(separator) + separator.Length + 1, input.Length - (input.IndexOf(separator) + separator.Length + 1)));
                    baru.Penghubung = (separator);
                }
                return(baru);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public void dataIndexing(string args)
        {
            List <tbInformasi> InfoList  = null;// db.tbInformasis.ToList();
            tbInfDetail        datadetil = null;

            if (CheckInternetConnectionByPing() && CheckInternetConnectionbyWebPage())
            {
                InetCon = true;
            }
            if (args.ToLower().Equals("all"))
            {
                InfoList = db.tbInformasis.ToList();
            }
            else
            {
                InfoList = db.tbInformasis.Where(x => x.Indexed == 0).ToList();
            }

            for (int i = 0; i < InfoList.Count; i++)
            {
                bool cek = File.Exists(InfoList[i].Lokasi);
                if (cek)// && InfoList[i].Indexed==0)
                {
                    InfoList[i].Indexed = 1;
                    string   text     = File.ReadAllText(InfoList[i].Lokasi);
                    string[] Fragment = text.Split(';').ToArray();
                    for (int j = 0; j < Fragment.Length; j++)
                    {
                        if (!String.IsNullOrWhiteSpace(Fragment[j]))
                        {
                            datadetil = CreateDataDetil(Fragment[j]);
                            if (datadetil != null && db.tbInfDetails.Where(x => x.info.ToString() == datadetil.info.ToString()).FirstOrDefault() == null)
                            {
                                InfoList[i].tbInfDetails.Add(datadetil);
                            }
                            createInvertedIndex(Fragment[j], InfoList[i].DomainID, InfoList[i].Id, j);
                        }
                    }
                    bool isExist = File.Exists(Lingkungan.getDataCache() + InfoList[i].tbDomain.Name + "\\" + InfoList[i].Judul);
                    File.Move(InfoList[i].Lokasi, Lingkungan.getDataCache() + InfoList[i].tbDomain.Name + "\\" + InfoList[i].Judul);
                    InfoList[i].Lokasi = Lingkungan.getDataCache() + InfoList[i].tbDomain.Name + "\\" + InfoList[i].Judul;
                }
            }
            if (File.Exists(Lingkungan.getInvertedIndexLocation()))
            {
                HitungPembobotanKata();
            }
            InetCon = false;
            db.SubmitChanges();
        }
        private string Pilihjawaban(Dialogue I, tbInfDetail data)
        {
            List <Term> masukan = I.StringToTerm("all");

            //Konjungsi "jika", "ketika", "tetapi", "seandainya", "supaya", "walaupun", "seperti", "karena",
            //          "sehingga", "bahwa", "dan", "atau", "adalah", "ataupun"
//          System.Windows.Forms.MessageBox.Show(masukan.Count().ToString());
            try
            {
                if (data.Penghubung != null)
                {
                    if (masukan[0].Word.Equals("apa") || masukan[0].Word.Equals("apakah")) // apa apakah
                    {
                        if (data.Penghubung.ToLower().Equals("jika") || data.Penghubung.ToLower().Equals("ketika"))
                        {
                            return(data.Awal);
                        }
                        else if (data.Penghubung.ToLower().Equals("adalah"))
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("kapan") || masukan[0].Word.Equals("kapankah")) //kapan
                    {
                        if (data.Awal.Contains(" jam ") || data.Awal.Contains(" pada ") || data.Awal.Contains(" sewaktu "))
                        {
                            return(data.Awal);
                        }
                        else if (data.Penghubung.ToLower().Equals("ketika") || data.Penghubung.ToLower().Equals("jika") ||
                                 data.Akhir.Contains(" jam ") || data.Akhir.Contains(" pada ") || data.Akhir.Contains(" sewaktu "))
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("siapa") || masukan[0].Word.Equals("siapakah")) //siapa
                    {
                        if (data.Penghubung.ToLower().Equals("ketika") || data.Penghubung.ToLower().Equals("adalah"))
                        {
                            return(data.Awal);
                        }
                        else if (false)
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("bagaimana") || masukan[0].Word.Equals("bagaimanakah")) //bagaimana
                    {
                        if (data.Penghubung.ToLower().Equals("jika"))
                        {
                            return(data.Awal);
                        }
                        else if (data.Penghubung.ToLower().Equals("adalah"))
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("kenapa") || masukan[0].Word.Equals("mengapa")) //kenapa
                    {
                        if (data.Penghubung.ToLower().Equals("jika"))
                        {
                            return(data.Awal);
                        }
                        else if (false)
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("dimana") || masukan[0].Word.Equals("dimanakah")) //dimana
                    {
                        if (data.Awal.Contains(" di ") || data.Awal.Contains(" ke ") || data.Awal.Contains(" di"))
                        {
                            return(data.Awal);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                    else if (masukan[0].Word.Equals("berapa") || masukan[0].Word.Equals("berapakah")) //berapa
                    {
                        int y;
                        if (data.Awal.Split(' ').ToList().Where(x => int.TryParse(x, out y) == true).FirstOrDefault() != null)
                        {
                            return(data.Awal);
                        }
                        else if (data.Akhir.Split(' ').ToList().Where(x => int.TryParse(x, out y) == true).FirstOrDefault() != null)
                        {
                            return(data.Akhir);
                        }
                        return(data.info);
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show(masukan[0].Word);
                        if (data.Penghubung.ToLower().Equals("jika"))
                        {
                            return(data.Awal);
                        }
                        else if (data.Penghubung.ToLower().Equals("adalah"))
                        {
                            return(data.Akhir);
                        }
                        else
                        {
                            return(data.info);
                        }
                    }
                }
                else
                {
                    return(data.info);
                }
                return(null);
            }
            catch (Exception)
            {
                return(data.info);
            }
        }
 private void detach_tbInfDetails(tbInfDetail entity)
 {
     this.SendPropertyChanging();
     entity.tbInformasi = null;
 }
 partial void DeletetbInfDetail(tbInfDetail instance);
 partial void UpdatetbInfDetail(tbInfDetail instance);
 partial void InserttbInfDetail(tbInfDetail instance);