示例#1
0
        public bool DislajkujKomentar([FromBody] KomentarLikeDislikeRequest komentarRequest)
        {
            var          dataFile = HttpContext.Current.Server.MapPath("~/App_Data/lajkDislajkKomentari.txt");
            FileStream   stream   = new FileStream(dataFile, FileMode.Open);
            StreamReader sr1      = new StreamReader(stream);

            List <string> listaSvih = new List <string>();
            string        line      = "";
            bool          changed   = false;

            while ((line = sr1.ReadLine()) != null)
            {
                bool isDisliked = false;

                string[] splitter = line.Split(';');
                // U slucaju da je vec dislajkovao taj komentar vrati false
                if (splitter[0] == komentarRequest.KoVrsiAkciju && splitter[1] == komentarRequest.IdKomentara && splitter[2] == "dislike")
                {
                    sr1.Close();
                    stream.Close();
                    return(false);
                }
                else if (splitter[0] == komentarRequest.KoVrsiAkciju && splitter[1] == komentarRequest.IdKomentara && splitter[2] == "like")
                {
                    isDisliked = true;
                    changed    = true;
                    listaSvih.Add(komentarRequest.KoVrsiAkciju + ";" + komentarRequest.IdKomentara + ";dislike");
                }
                if (!isDisliked)
                {
                    listaSvih.Add(line);
                }
            }
            sr1.Close();
            stream.Close();

            if (!changed)
            {
                var          dataFile1 = HttpContext.Current.Server.MapPath("~/App_Data/lajkDislajkKomentari.txt");
                FileStream   stream1   = new FileStream(dataFile1, FileMode.Append, FileAccess.Write);
                StreamWriter sw1       = new StreamWriter(stream1);

                sw1.WriteLine(komentarRequest.KoVrsiAkciju + ";" + komentarRequest.IdKomentara + ";dislike");
                sw1.Close();
                stream1.Close();
            }
            else
            {
                var          dataFile2 = HttpContext.Current.Server.MapPath("~/App_Data/lajkDislajkKomentari.txt");
                FileStream   stream2   = new FileStream(dataFile2, FileMode.Create, FileAccess.Write);
                StreamWriter sw2       = new StreamWriter(stream2);

                foreach (string lajkDislajk in listaSvih)
                {
                    sw2.WriteLine(lajkDislajk);
                }
                sw2.Close();
                stream2.Close();
            }
            // Nakon sto sam dodao u .txt fajl ko je dislajkovao , sada nadji taj komentar i povecaj mu brojlajkovanih



            var          dataFile3 = HttpContext.Current.Server.MapPath("~/App_Data/komentari.txt");
            FileStream   stream3   = new FileStream(dataFile3, FileMode.Open);
            StreamReader sr2       = new StreamReader(stream3);

            List <string> sviKomentari = new List <string>();

            string komentar = "";

            while ((komentar = sr2.ReadLine()) != null)
            {
                bool nadjena = false;

                string[] komentarTokens = komentar.Split(';');
                if (komentarTokens[0] == komentarRequest.IdKomentara)
                {
                    // nasli smo komentar kome treba povecati pozitivne glasove
                    nadjena = true;
                    int brojTrenutnoPozitivnih = Int32.Parse(komentarTokens[6]);
                    int brojTrenutnoNegativnih = Int32.Parse(komentarTokens[7]);
                    brojTrenutnoNegativnih++;
                    if (changed)
                    {
                        brojTrenutnoPozitivnih--;
                    }
                    sviKomentari.Add(komentarTokens[0] + ";" + komentarTokens[1] + ";" + komentarTokens[2] + ";" + komentarTokens[3] + ";" + komentarTokens[4] + ";" + komentarTokens[5] + ";" + brojTrenutnoPozitivnih.ToString() + ";" + brojTrenutnoNegativnih.ToString() + ";" + komentarTokens[8] + ";" + komentarTokens[9] + ";" + komentarTokens[10]);
                }
                if (!nadjena)
                {
                    sviKomentari.Add(komentar);
                }
            }
            sr2.Close();
            stream3.Close();

            var          dataFile4 = HttpContext.Current.Server.MapPath("~/App_Data/komentari.txt");
            FileStream   stream4   = new FileStream(dataFile4, FileMode.Create, FileAccess.Write);
            StreamWriter sw3       = new StreamWriter(stream4);



            foreach (string linijaKomentara in sviKomentari)
            {
                sw3.WriteLine(linijaKomentara);
            }
            sw3.Close();
            stream4.Close();

            // Sada sve ovo isto za podkomentare
            // Nakon sto sam dodao u .txt fajl ko je dislajkovao , sada nadji taj PODKOMENTAR i povecaj mu brojlajkovanih

            var          dataFile5 = HttpContext.Current.Server.MapPath("~/App_Data/podkomentari.txt");
            FileStream   stream5   = new FileStream(dataFile5, FileMode.Open);
            StreamReader sr3       = new StreamReader(stream5);

            List <string> sviPodkomentari = new List <string>();

            string podkomentar = "";

            while ((podkomentar = sr3.ReadLine()) != null)
            {
                bool nadjena = false;

                string[] podkomentarTokens = podkomentar.Split(';');
                if (podkomentarTokens[1] == komentarRequest.IdKomentara)
                {
                    // nasli smo komentar kome treba povecati pozitivne glasove
                    nadjena = true;
                    int brojTrenutnoPozitivnih = Int32.Parse(podkomentarTokens[5]);
                    int brojTrenutnoNegativnih = Int32.Parse(podkomentarTokens[6]);
                    brojTrenutnoNegativnih++;
                    if (changed)
                    {
                        brojTrenutnoPozitivnih--;
                    }
                    sviPodkomentari.Add(podkomentarTokens[0] + ";" + podkomentarTokens[1] + ";" + podkomentarTokens[2] + ";" + podkomentarTokens[3] + ";" + podkomentarTokens[4] + ";" + brojTrenutnoPozitivnih.ToString() + ";" + brojTrenutnoNegativnih.ToString() + ";" + podkomentarTokens[7] + ";" + podkomentarTokens[8] + ";" + podkomentarTokens[9]);
                }
                if (!nadjena)
                {
                    sviPodkomentari.Add(podkomentar);
                }
            }
            sr3.Close();
            stream5.Close();

            var          dataFile6 = HttpContext.Current.Server.MapPath("~/App_Data/podkomentari.txt");
            FileStream   stream6   = new FileStream(dataFile6, FileMode.Create, FileAccess.Write);
            StreamWriter sw4       = new StreamWriter(stream6);



            foreach (string linijaKomentara in sviPodkomentari)
            {
                sw4.WriteLine(linijaKomentara);
            }
            sw4.Close();
            stream6.Close();

            return(true);
        }
示例#2
0
        public bool ThumbsDown([FromBody] KomentarLikeDislikeRequest komentarRequest)
        {
            StreamReader sr = dbOperater.getReader("lajkDislajkKomentari.txt");

            List <string> listaSvih = new List <string>();
            string        line      = "";
            bool          changed   = false;

            while ((line = sr.ReadLine()) != null)
            {
                bool isDisliked = false;

                string[] splitter = line.Split(';');
                // U slucaju da je vec dislajkovao taj komentar vrati false
                if (splitter[0] == komentarRequest.KoVrsiAkciju && splitter[1] == komentarRequest.IdKomentara && splitter[2] == "dislike")
                {
                    sr.Close();
                    dbOperater.Reader.Close();
                    return(false);
                }
                else if (splitter[0] == komentarRequest.KoVrsiAkciju && splitter[1] == komentarRequest.IdKomentara && splitter[2] == "like")
                {
                    isDisliked = true;
                    changed    = true;
                    listaSvih.Add(komentarRequest.KoVrsiAkciju + ";" + komentarRequest.IdKomentara + ";dislike");
                }
                if (!isDisliked)
                {
                    listaSvih.Add(line);
                }
            }
            sr.Close();
            dbOperater.Reader.Close();

            if (!changed)
            {
                StreamWriter sw = dbOperater.getWriter("lajkDislajkKomentari.txt");

                sw.WriteLine(komentarRequest.KoVrsiAkciju + ";" + komentarRequest.IdKomentara + ";dislike");
                sw.Close();
                dbOperater.Writer.Close();
            }
            else
            {
                StreamWriter sw = dbOperater.getBulkWriter("lajkDislajkKomentari.txt");

                foreach (string lajkDislajk in listaSvih)
                {
                    sw.WriteLine(lajkDislajk);
                }
                sw.Close();
                dbOperater.Writer.Close();
            }
            // Nakon sto sam dodao u .txt fajl ko je dislajkovao , sada nadji taj komentar i povecaj mu brojlajkovanih
            StreamReader  komentariReader = dbOperater.getReader("komentari.txt");
            List <string> sviKomentari    = new List <string>();

            string komentar = "";

            while ((komentar = komentariReader.ReadLine()) != null)
            {
                bool nadjena = false;

                string[] komentarTokens = komentar.Split(';');
                if (komentarTokens[0] == komentarRequest.IdKomentara)
                {
                    // nasli smo komentar kome treba povecati pozitivne glasove
                    nadjena = true;
                    int brojTrenutnoPozitivnih = Int32.Parse(komentarTokens[6]);
                    int brojTrenutnoNegativnih = Int32.Parse(komentarTokens[7]);
                    brojTrenutnoNegativnih++;
                    if (changed)
                    {
                        brojTrenutnoPozitivnih--;
                    }
                    sviKomentari.Add(komentarTokens[0] + ";" + komentarTokens[1] + ";" + komentarTokens[2] + ";" + komentarTokens[3] + ";" + komentarTokens[4] + ";" + komentarTokens[5] + ";" + brojTrenutnoPozitivnih.ToString() + ";" + brojTrenutnoNegativnih.ToString() + ";" + komentarTokens[8] + ";" + komentarTokens[9] + ";" + komentarTokens[10]);
                }
                if (!nadjena)
                {
                    sviKomentari.Add(komentar);
                }
            }
            komentariReader.Close();
            dbOperater.Reader.Close();

            StreamWriter komentariWriter = dbOperater.getBulkWriter("komentari.txt");

            foreach (string linijaKomentara in sviKomentari)
            {
                komentariWriter.WriteLine(linijaKomentara);
            }
            komentariWriter.Close();
            dbOperater.Writer.Close();

            // Sada sve ovo isto za podkomentare
            // Nakon sto sam dodao u .txt fajl ko je dislajkovao , sada nadji taj PODKOMENTAR i povecaj mu brojlajkovanih
            StreamReader  podkomentariReader = dbOperater.getReader("podkomentari.txt");
            List <string> sviPodkomentari    = new List <string>();

            string podkomentar = "";

            while ((podkomentar = podkomentariReader.ReadLine()) != null)
            {
                bool nadjena = false;

                string[] podkomentarTokens = podkomentar.Split(';');
                if (podkomentarTokens[1] == komentarRequest.IdKomentara)
                {
                    // nasli smo komentar kome treba povecati pozitivne glasove
                    nadjena = true;
                    int brojTrenutnoPozitivnih = Int32.Parse(podkomentarTokens[5]);
                    int brojTrenutnoNegativnih = Int32.Parse(podkomentarTokens[6]);
                    brojTrenutnoNegativnih++;
                    if (changed)
                    {
                        brojTrenutnoPozitivnih--;
                    }
                    sviPodkomentari.Add(podkomentarTokens[0] + ";" + podkomentarTokens[1] + ";" + podkomentarTokens[2] + ";" + podkomentarTokens[3] + ";" + podkomentarTokens[4] + ";" + brojTrenutnoPozitivnih.ToString() + ";" + brojTrenutnoNegativnih.ToString() + ";" + podkomentarTokens[7] + ";" + podkomentarTokens[8] + ";" + podkomentarTokens[9]);
                }
                if (!nadjena)
                {
                    sviPodkomentari.Add(podkomentar);
                }
            }
            podkomentariReader.Close();
            dbOperater.Reader.Close();

            StreamWriter podkomentariWriter = dbOperater.getBulkWriter("podkomentari.txt");

            foreach (string linijaKomentara in sviPodkomentari)
            {
                podkomentariWriter.WriteLine(linijaKomentara);
            }
            podkomentariWriter.Close();
            dbOperater.Writer.Close();

            return(true);
        }