コード例 #1
0
        public bool ZapratiTemu([FromBody] TemaZaCuvanje temaZaCuvanje)
        {
            StreamReader sr = dbOperater.getReader("korisnici.txt");

            List <string> listaSvihKorisnika = new List <string>();
            int           brojac             = 0;
            int           indexZaIzmenu      = -1;
            string        line = "";

            while ((line = sr.ReadLine()) != null)
            {
                listaSvihKorisnika.Add(line);
                brojac++;

                string[] splitter = line.Split(';');
                if (splitter[0] == temaZaCuvanje.KorisnikKojiPrati)
                {
                    indexZaIzmenu = brojac;
                }
            }
            sr.Close();
            dbOperater.Reader.Close();

            // splituj tu liniju koja treba da se menja tj na koju treba da se dodaje
            string[] tokeniOdabranogKorisnika = listaSvihKorisnika[indexZaIzmenu - 1].Split(';');
            // tokeniOdabranogKorisnika[9] tu se nalazi spisak pracenih tema
            string[] splitterProvere = tokeniOdabranogKorisnika[9].Split('|');
            // provera ukoliko korisnik vec prati postojeci podforum
            foreach (string pracenaTema in splitterProvere)
            {
                if (pracenaTema == temaZaCuvanje.NaslovTeme)
                {
                    return(false);
                }
            }
            // otvori bulk writer
            StreamWriter sw = dbOperater.getBulkWriter("korisnici.txt");

            // tokeniOdabranogKorisnika[9] tu se nalazi spisak pracenih tema
            tokeniOdabranogKorisnika[9] += "|" + temaZaCuvanje.NaslovTeme;

            // linijaZaUpis se inicijalizuje na pocetku da je korisnicki username
            string linijaZaUpis = tokeniOdabranogKorisnika[0];

            // prodji kroz sve tokene odabranog korisnika i upisi ih u liniju, da ne pisem tokeni[0]+';'+tokeni[1] ...
            for (int i = 1; i < 11; i++)
            {
                linijaZaUpis += ";" + tokeniOdabranogKorisnika[i];
            }

            // ubaci tu izmenjenu liniju na to mesto u listiSvih
            listaSvihKorisnika[indexZaIzmenu - 1] = linijaZaUpis;
            // prepisi ceo fajl
            foreach (string korisnickaLinija in listaSvihKorisnika)
            {
                sw.WriteLine(korisnickaLinija);
            }
            sw.Close();
            dbOperater.Writer.Close();

            return(true);
        }
コード例 #2
0
        public bool SacuvajTemu([FromBody] TemaZaCuvanje temaZaCuvanje)
        {
            var          dataFile = HttpContext.Current.Server.MapPath("~/App_Data/korisnici.txt");
            FileStream   stream   = new FileStream(dataFile, FileMode.Open);
            StreamReader sr       = new StreamReader(stream);

            List <string> listaSvihKorisnika = new List <string>();
            int           brojac             = 0;
            int           korisnikZaIzmenu   = -1;
            string        line = "";

            while ((line = sr.ReadLine()) != null)
            {
                listaSvihKorisnika.Add(line);
                brojac++;

                string[] splitter = line.Split(';');
                if (splitter[0] == temaZaCuvanje.KorisnikKojiPrati) //korisnicko ime je id , tu gledamo poklapanje
                {
                    korisnikZaIzmenu = brojac;
                }
            }
            sr.Close();
            stream.Close();

            // splituj tu liniju koja treba da se menja tj na koju treba da se dodaje
            string[] tokeniOdabranogKorisnika = listaSvihKorisnika[korisnikZaIzmenu - 1].Split(';');
            // tokeniOdabranogKorisnika[9] tu se nalazi spisak pracenih tema
            string[] splitterProvere = tokeniOdabranogKorisnika[9].Split('|');
            // provera ukoliko korisnik vec prati postojeci podforum
            foreach (string pracenaTema in splitterProvere)
            {
                if (pracenaTema == temaZaCuvanje.NaslovTeme)
                {
                    return(false);
                }
            }
            // otvori bulk writer


            var          dataFile1 = HttpContext.Current.Server.MapPath("~/App_Data/korisnici.txt");
            FileStream   stream1   = new FileStream(dataFile1, FileMode.Create, FileAccess.Write);
            StreamWriter sw        = new StreamWriter(stream1);

            // tokeniOdabranogKorisnika[9] tu se nalazi spisak pracenih tema
            tokeniOdabranogKorisnika[9] += "|" + temaZaCuvanje.NaslovTeme;

            // linijaZaUpis se inicijalizuje na pocetku da je korisnicki username
            string linijaZaUpis = tokeniOdabranogKorisnika[0];

            // prodji kroz sve tokene odabranog korisnika i upisi ih u liniju, da ne pisem tokeni[0]+';'+tokeni[1] ...
            for (int i = 1; i < 11; i++)
            {
                linijaZaUpis += ";" + tokeniOdabranogKorisnika[i];
            }

            // ubaci tu izmenjenu liniju na to mesto u listiSvih
            listaSvihKorisnika[korisnikZaIzmenu - 1] = linijaZaUpis;
            // prepisi ceo fajl
            foreach (string korisnickaLinija in listaSvihKorisnika)
            {
                sw.WriteLine(korisnickaLinija);
            }
            sw.Close();
            stream1.Close();

            return(true);
        }