Exemple #1
0
        public ActionResult OnGet()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);

            String email = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User"; return(RedirectToPage("/Index"));
                }
                //Message = "Welcome " + korisnik.ime;
            }
            else
            {
                return(RedirectToPage("/Login"));
            }
            novaKnjiga = new Knjiga();
            return(Page());
        }
Exemple #2
0
        private void Connect()
        {
            var countTry = 0;

            while (true)
            {
                try
                {
                    String[] HOST1 = ConfigurationManager.AppSettings[ConfigStatic.KeyNoSqlHtml].Split(new char[] { ',' });
                    countTry++;
                    _cluster =
                        Cluster.Builder()
                        .AddContactPoints(HOST1)
                        .WithReconnectionPolicy(new ConstantReconnectionPolicy(10000L))
                        .WithRetryPolicy(DowngradingConsistencyRetryPolicy.Instance)
                        .WithLoadBalancingPolicy(new DCAwareRoundRobinPolicy())
                        .Build();
                    Log.Info("Connected to cluster: " + _cluster.Metadata.ClusterName);
                    foreach (var host in _cluster.Metadata.AllHosts())
                    {
                        Log.Info("Data Center: " + host.Datacenter + ", " + "Host: " + host.Address + ", " + "Rack: " +
                                 host.Rack);
                    }
                    _session = _cluster.Connect();
                    _session.ChangeKeyspace("product_properties");
                    return;
                }
                catch (Exception ex)
                {
                    Log.Error(string.Format("Try again {0} {1}", countTry, ex.Message));
                    Thread.Sleep(1000);
                }
            }
        }
Exemple #3
0
        public IActionResult OnPostRec()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=admin").ToString()));
                }
                Recenzija recenzija = mapper.FirstOrDefault <Recenzija>("select * from \"Recenzija\" where \"knjigaID\"= ? and \"korisnikID\"= ?", idKnjiga, korisnik.korisnikID.ToString());
                if (recenzija == null)
                {
                    String query = $"insert into \"EBook\".\"Recenzija\" (\"recenzijaID\",\"korisnikID\", \"knjigaID\", komentar, ocena,nazivknjige,zanrknjige,opisknjige,email) values ('" + Cassandra.TimeUuid.NewId() + $"','{korisnik.korisnikID.ToString()}','{idKnjiga}','{komentar}',{ocena}, '{naziv}', '{zanr}', '{opis}', '{email}')";
                    session.Execute(query);
                    return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr).ToString()));
                }
                else
                {
                    return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=already").ToString()));
                }
            }
            else
            {
                return(RedirectToPage("/Login"));
            }
        }
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "CreateCat")] HttpRequest req)
        {
            cass.ISession session     = _cluster.Connect(_config[Constants.KEYSPACE_NAME]);
            IMapper       mapper      = new Mapper(session);
            IActionResult returnValue = null;

            try
            {
                string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                var    input       = JsonConvert.DeserializeObject <Cat>(requestBody);

                var cat = new Cat()
                {
                    cat_id   = Guid.NewGuid().ToString(),
                    cat_name = input.cat_name,
                    cat_type = input.cat_type,
                    cat_age  = input.cat_age
                };

                mapper.Insert <Cat>(cat);
                returnValue = new OkObjectResult(cat);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Could not insert new cat. Exception thrown: {ex.Message}");
                returnValue = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }

            return(returnValue);
        }
Exemple #5
0
 public Session(Settings settings)
 {
     _session = Cluster.Builder()
                .AddContactPoint(settings.Hostname).WithPort(Int32.Parse(settings.Port))
                .WithCredentials(settings.Username, settings.Password)
                .Build()
                .Connect();
 }
Exemple #6
0
        public IActionResult OnPostObrisiKnjigu(string id, string zanr)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             query   = $"delete from \"EBook\".\"Knjiga\" where \"knjigaID\"= '{id}' and \"zanr\"='{zanr}'";

            session.Execute(query);
            return(Redirect("/Admin?success=dBook"));
        }
Exemple #7
0
        public IActionResult OnPostObrisiRec(string id, string kId)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             query   = $"delete from \"EBook\".\"Recenzija\" where \"knjigaID\"= '{id}' and \"korisnikID\"='{kId}'";

            session.Execute(query);
            return(Redirect("/Admin?success=dRec"));
        }
        public IEnumerable <IoTMessage> QueryByDeviceId(string DeviceId)
        {
            string Query = "SELECT DeviceId, TimeStamp, Status, message FROM Messages WHERE DeviceId = '" + DeviceId + "'";

            Cassandra.ISession session = cluster.Connect(_configuration["DatabaseSettings:KeySpace"]);
            IMapper            mapper  = new Mapper(session);

            return(mapper.Fetch <IoTMessage>(Query));
        }
Exemple #9
0
        public IActionResult OnPostStatusRealizovano(string id, string kId)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             query   = $"update \"EBook\".\"Rezervacija\" set status='Realizovano' where \"rezervacijaID\"= '{id}' and \"korisnikID\"='{kId}'";

            session.Execute(query);
            return(Redirect("/Admin?success=sRealizovano"));
        }
Exemple #10
0
        public IActionResult OnPostObrisiRez(string id, string kId)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             query   = $"delete from \"EBook\".\"Rezervacija\" where \"rezervacijaID\"= '{id}' and \"korisnikID\"='{kId}'";

            session.Execute(query);
            return(RedirectToPage());
        }
Exemple #11
0
        public IActionResult OnPostSmanji(string id, string zanr)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            Knjiga             k       = mapper.First <Knjiga>("select * from \"Knjiga\" where \"knjigaID\"= ? and zanr= ?", id, zanr);
            String             query   = $"update \"EBook\".\"Knjiga\" set kolicina = {k.kolicina-1} where \"knjigaID\"='{id}' and zanr='{zanr}'";

            session.Execute(query);
            return(Redirect("/Admin?success=minus"));
        }
 public PreporukaController()
 {
     try
     {
         var cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();
         session = cluster.Connect("OnlineMusicConcert");
     }
     catch (Exception ex)
     { }
 }
        private static void InitConnection()
        {
            // Create a cluster instance
            cluster = Cluster.Builder().AddContactPoint(Environment.GetEnvironmentVariable("CASSANDRA_ADDRESS")).Build();

            //Create connections to the nodes using a keyspace
            session = cluster.Connect(Environment.GetEnvironmentVariable("KEYSPACE_NAME"));

            MappingConfiguration.Global.Define <AllMappings>();

            mapper = new Mapper(session);
        }
Exemple #14
0
        public IActionResult OnPostSacuvaj()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
            if (newPassword != null && !newPassword.Equals(""))
            {
                String query = $"update \"EBook\".korisnik set sifra = '{newPassword}' where email= '" + email + $"' and korisnikid='{korisnik.korisnikID}'";
                session.Execute(query);
            }
            return(Redirect("./Login"));
        }
Exemple #15
0
        public void OnGet()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);

            String email = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User";
                }
                //Message = "Welcome " + korisnik.ime;
            }

            kategorije = mapper.Fetch <string>("SELECT DISTINCT zanr FROM \"Knjiga\"");

            //SELECT "knjigaID", AVG(ocena) FROM "Recenzija" GROUP BY "knjigaID" LIMIT 5;
            najpopularnijeKnjige = new List <Knjiga>();
            RowSet knjigaOcena = session.Execute("SELECT \"knjigaID\", AVG(ocena) as avgocena, COUNT(*) as brojocena, nazivknjige, zanrknjige, opisknjige FROM \"Recenzija\" GROUP BY \"knjigaID\"");

            foreach (var item in knjigaOcena)
            {
                Knjiga k = new Knjiga();
                k.knjigaID  = item["knjigaID"] != null ? item["knjigaID"].ToString() : string.Empty;
                k.ocena     = item["avgocena"] != null ? (float)item["avgocena"] : 0;
                k.brojocena = item["brojocena"] != null ? (long)item["brojocena"] : 0;
                k.naziv     = item["nazivknjige"] != null ? item["nazivknjige"].ToString() : string.Empty;
                k.zanr      = item["zanrknjige"] != null ? item["zanrknjige"].ToString() : string.Empty;
                k.opis      = item["opisknjige"] != null ? item["opisknjige"].ToString() : string.Empty;
                najpopularnijeKnjige.Add(k);
            }
            najpopularnijeKnjige.Sort((a, b) => b.CompareTo(a));

            brojKnjiga      = mapper.Single <int>("SELECT COUNT(*) FROM \"Knjiga\"");
            brojKorisnika   = mapper.Single <int>("SELECT COUNT(*) FROM korisnik");
            brojRezervacija = mapper.Single <int>("SELECT COUNT(*) FROM \"Rezervacija\"");
            brojRecenzija   = mapper.Single <int>("SELECT COUNT(*) FROM \"Recenzija\"");

            bibliotekar1 = mapper.FirstOrDefault <Korisnik>("SELECT * FROM korisnik where korisnikid = '7' and email = '*****@*****.**'");
            bibliotekar2 = mapper.FirstOrDefault <Korisnik>("SELECT * FROM korisnik where korisnikid = '8' and email = '*****@*****.**'");
        }
Exemple #16
0
        public void izracunajOcene()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper = new Mapper(session);
            float brojac1, brojac2, brojac3, brojac4, brojac5, ocene;

            brojac1   = brojac2 = brojac3 = brojac4 = brojac5 = ocene = 0;
            recenzije = mapper.Fetch <Recenzija>("select * from \"Recenzija\" where \"knjigaID\"= ?", knjiga.knjigaID).ToList <Recenzija>();
            foreach (Recenzija r in recenzije)
            {
                brojOcena++;
                ocene = ocene + r.ocena;
                if (r.ocena == 1)
                {
                    brojac1++;
                }
                else if (r.ocena == 2)
                {
                    brojac2++;
                }
                else if (r.ocena == 3)
                {
                    brojac3++;
                }
                else if (r.ocena == 4)
                {
                    brojac4++;
                }
                else
                {
                    brojac5++;
                }
            }
            prosecnaOcena  = (float)Math.Round(ocene / brojOcena, 2);
            prosek         = new List <string>();
            brOcenaPosebno = new List <float>();
            prosek.Add(("width:" + (brojac1 / brojOcena) * 100 + "%").ToString());
            prosek.Add(("width:" + (brojac2 / brojOcena) * 100 + "%").ToString());
            prosek.Add(("width:" + (brojac3 / brojOcena) * 100 + "%").ToString());
            prosek.Add(("width:" + (brojac4 / brojOcena) * 100 + "%").ToString());
            prosek.Add(("width:" + (brojac5 / brojOcena) * 100 + "%").ToString());
            brOcenaPosebno.Add(brojac1);
            brOcenaPosebno.Add(brojac2);
            brOcenaPosebno.Add(brojac3);
            brOcenaPosebno.Add(brojac4);
            brOcenaPosebno.Add(brojac5);
        }
Exemple #17
0
        public void OnGet()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User";
                }
                //Message = "Welcome " + korisnik.ime;
            }
        }
Exemple #18
0
        public void OnGet(string success)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User";
                }
                //Message = "Welcome " + korisnik.ime;
                rezervacije = mapper.Fetch <Rezervacija>("select * from \"EBook\".\"Rezervacija\" where \"korisnikID\"=?", korisnik.korisnikID).OrderBy(x => x.datum).ToList <Rezervacija>();
            }
        }
Exemple #19
0
        public IActionResult OnPostSignUp()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);

            Korisnik k = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + newEmail + "'");

            if (k != null)
            {
                ErrorMessage2 = "This email address is already used";
                WhatToShow    = 0;
                return(Page());
            }

            Korisnik newUser = new Korisnik(Cassandra.TimeUuid.NewId().ToString(), newEmail, newPassword, newFirstName, newLastName, newPhoneNumber, newCity, newAddress, 0);

            mapper.Insert <Korisnik>(newUser);


            HttpContext.Session.SetString("email", newEmail);
            return(RedirectToPage("/Index"));
        }
Exemple #20
0
        public void OnGet(string success)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message     = "Admin";
                    rezervacije = mapper.Fetch <Rezervacija>("select * from \"Rezervacija\"").OrderBy(x => x.datum).ToList <Rezervacija>();
                    knjige      = mapper.Fetch <Knjiga>("select * from \"Knjiga\"").OrderBy(x => x.zanr).ToList <Knjiga>();
                    recenzije   = mapper.Fetch <Recenzija>("select * from \"Recenzija\"").ToList <Recenzija>();
                }
                else
                {
                    Message = "User";
                }
            }
        }
Exemple #21
0
        public void OnGet(string id, string zanr)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User";
                }
                //Message = "Welcome " + korisnik.ime;
            }
            knjiga    = mapper.First <Knjiga>("select * from \"Knjiga\" where \"knjigaID\"= ? and zanr= ?", id, zanr);
            recenzije = mapper.Fetch <Recenzija>("select * from \"Recenzija\" where \"knjigaID\"= ?", knjiga.knjigaID).ToList <Recenzija>();
            izracunajOcene();
            slicneKnjige = mapper.Fetch <Knjiga>("select * from \"Knjiga\" where zanr=?", zanr).ToList <Knjiga>();
            for (int j = 0; j < slicneKnjige.Count; j++)
            {
                if (slicneKnjige.ElementAt(j).knjigaID.Equals(knjiga.knjigaID))
                {
                    slicneKnjige.RemoveAt(j);
                }
            }
            if (slicneKnjige.Count > 4)
            {
                for (int i = slicneKnjige.Count - 1; i > 3; i--)
                {
                    slicneKnjige.RemoveAt(i);
                }
            }
        }
Exemple #22
0
        public IActionResult OnPost()
        {
            Cassandra.ISession session = SessionManager.GetSession();

            if (session == null)
            {
                return(RedirectToPage("/Error"));
            }


            string fileName = saveBase64AsImage(novaKnjiga.slika);

            novaKnjiga.slika = "images/" + "Library" + "/" + fileName;



            String noviId = Cassandra.TimeUuid.NewId().ToString();
            String query  = $"insert into \"Knjiga\" (zanr, \"knjigaID\", autor, brstrana, godina, kolicina, naziv, opis, pismo, slika, jezik)  values ('{novaKnjiga.zanr}', '" + noviId + $"', '{novaKnjiga.autor}', '{novaKnjiga.brstrana}', '{novaKnjiga.godina}', {novaKnjiga.kolicina}, '{novaKnjiga.naziv}', '{novaKnjiga.opis}', '{novaKnjiga.pismo}','{novaKnjiga.slika}','{novaKnjiga.jezik}')";


            session.Execute(query);
            return(RedirectToPage("/Book", new { id = noviId, zanr = novaKnjiga.zanr }));
        }
Exemple #23
0
        public IActionResult OnPostLogin()
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);

            Korisnik user = mapper.FirstOrDefault <Korisnik>("select * from \"korisnik\" where email = '" + email + "'");

            if (user == null)
            {
                ErrorMessage = "Invalid email adress.";
                WhatToShow   = 1;
                return(Page());
            }
            else if (user.sifra != password)
            {
                ErrorMessage = "Invalid password.";
                WhatToShow   = 1;
                return(Page());
            }

            HttpContext.Session.SetString("email", email);
            return(RedirectToPage("/Index"));
        }
Exemple #24
0
        /*public  void OnGet(string SearchBook)
         * {
         *  Cassandra.ISession session = SessionManager.GetSession();
         *  IMapper mapper = new Mapper(session);
         *
         *  String email = HttpContext.Session.GetString("email");
         *  if(!String.IsNullOrEmpty(email))
         *  {
         *      Korisnik korisnik = mapper.FirstOrDefault<Korisnik>("select * from korisnik where email = '" + email + "'");
         *      if(korisnik.tip==1)
         *          Message="Admin";
         *      else
         *          Message="User";
         *      //Message = "Welcome " + korisnik.ime;
         *  }
         *
         *  Knjiga k = mapper.FirstOrDefault<Knjiga>("select * from \"Knjiga\" where naziv = '" + SearchBook + "'");
         *
         * }*/


        public JsonResult OnGetLoadMore(string selektovaniZanr)
        {
            byte[] pagingState;
            bool   gotPagingState = HttpContext.Session.TryGetValue("pagingState", out pagingState);

            if (!gotPagingState)
            {
                return(new JsonResult("nemaVise"));
            }

            Cassandra.ISession session = SessionManager.GetSession();
            RowSet             knjigeRaw;

            if (selektovaniZanr.CompareTo("All") == 0)
            {
                var ps        = session.Prepare("SELECT * from \"Knjiga\" ;");
                var statement = ps.Bind().SetAutoPage(false).SetPageSize(7).SetPagingState(pagingState);
                knjigeRaw   = session.Execute(statement);
                pagingState = knjigeRaw.PagingState;
                if (pagingState != null)
                {
                    HttpContext.Session.Set("pagingState", pagingState);
                }
                else
                {
                    HttpContext.Session.Remove("pagingState");
                }
            }
            else
            {
                var ps        = session.Prepare("SELECT * from \"Knjiga\" where zanr='" + selektovaniZanr + "';");
                var statement = ps.Bind().SetAutoPage(false).SetPageSize(5).SetPagingState(pagingState);
                knjigeRaw   = session.Execute(statement);
                pagingState = knjigeRaw.PagingState;
                if (pagingState != null)
                {
                    HttpContext.Session.Set("pagingState", pagingState);
                }
                else
                {
                    HttpContext.Session.Remove("pagingState");
                }
            }
            List <Knjiga> josKnjiga = new List <Knjiga>();

            foreach (var knjigaRaw in knjigeRaw)
            {
                Knjiga knjiga = new Knjiga();
                knjiga.autor    = knjigaRaw["autor"] != null ? knjigaRaw["autor"].ToString() : string.Empty;
                knjiga.brstrana = knjigaRaw["brstrana"] != null ? knjigaRaw["brstrana"].ToString() : string.Empty;
                knjiga.godina   = knjigaRaw["godina"] != null ? knjigaRaw["godina"].ToString() : string.Empty;
                knjiga.knjigaID = knjigaRaw["knjigaID"].ToString();
                knjiga.kolicina = knjigaRaw["kolicina"] != null?Int32.Parse(knjigaRaw["kolicina"].ToString()) : 0;

                knjiga.naziv = knjigaRaw["naziv"] != null ? knjigaRaw["naziv"].ToString() : string.Empty;
                knjiga.opis  = knjigaRaw["opis"] != null ? knjigaRaw["opis"].ToString() : string.Empty;
                knjiga.pismo = knjigaRaw["pismo"] != null ? knjigaRaw["pismo"].ToString() : string.Empty;
                knjiga.slika = knjigaRaw["slika"] != null?LoadImage(knjigaRaw["slika"].ToString()) : string.Empty;

                knjiga.zanr  = knjigaRaw["zanr"] != null ? knjigaRaw["zanr"].ToString() : string.Empty;
                knjiga.jezik = knjigaRaw["jezik"] != null ? knjigaRaw["jezik"].ToString() : string.Empty;

                josKnjiga.Add(knjiga);
            }


            return(new JsonResult(josKnjiga));
        }
Exemple #25
0
        public void OnGet(string zanr, string SearchBook)
        {
            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);

            String email = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                if (korisnik.tip == 1)
                {
                    Message = "Admin";
                }
                else
                {
                    Message = "User";
                }
                //Message = "Welcome " + korisnik.ime;
            }

            if (!String.IsNullOrEmpty(SearchBook))
            {
                knjigaSearch = mapper.FirstOrDefault <Knjiga>("select * from \"Knjiga\" where naziv like '" + SearchBook + "%'");
            }

            if (String.IsNullOrEmpty(SearchBook) || knjigaSearch == null)
            {
                zanrFilter = zanr;
                HttpContext.Session.Remove("pagingState");

                foreach (var zanrRaw in session.Execute("SELECT DISTINCT zanr FROM \"Knjiga\";"))
                {
                    zanrovi.Add(zanrRaw["zanr"].ToString());
                }

                RowSet knjigeRaw;
                if (String.IsNullOrEmpty(zanr) | !zanrovi.Contains(zanr))
                {//all
                    var ps        = session.Prepare("SELECT * from \"Knjiga\" ;");
                    var statement = ps.Bind().SetAutoPage(false).SetPageSize(10);
                    knjigeRaw = session.Execute(statement);
                    var pagingState = knjigeRaw.PagingState;
                    if (pagingState != null)
                    {
                        HttpContext.Session.Set("pagingState", pagingState);
                    }
                }
                else
                {
                    var ps        = session.Prepare("SELECT * from \"Knjiga\" where zanr='" + zanr + "';");
                    var statement = ps.Bind().SetAutoPage(false).SetPageSize(5);
                    knjigeRaw = session.Execute(statement);
                    var pagingState = knjigeRaw.PagingState;
                    if (pagingState != null)
                    {
                        HttpContext.Session.Set("pagingState", pagingState);
                    }
                }

                foreach (var knjigaRaw in knjigeRaw)
                {
                    Knjiga knjiga = new Knjiga();
                    knjiga.autor    = knjigaRaw["autor"] != null ? knjigaRaw["autor"].ToString() : string.Empty;
                    knjiga.brstrana = knjigaRaw["brstrana"] != null ? knjigaRaw["brstrana"].ToString() : string.Empty;
                    knjiga.godina   = knjigaRaw["godina"] != null ? knjigaRaw["godina"].ToString() : string.Empty;
                    knjiga.knjigaID = knjigaRaw["knjigaID"].ToString();
                    knjiga.kolicina = knjigaRaw["kolicina"] != null?Int32.Parse(knjigaRaw["kolicina"].ToString()) : 0;

                    knjiga.naziv = knjigaRaw["naziv"] != null ? knjigaRaw["naziv"].ToString() : string.Empty;
                    knjiga.opis  = knjigaRaw["opis"] != null ? knjigaRaw["opis"].ToString() : string.Empty;
                    knjiga.pismo = knjigaRaw["pismo"] != null ? knjigaRaw["pismo"].ToString() : string.Empty;
                    knjiga.slika = knjigaRaw["slika"] != null ? knjigaRaw["slika"].ToString() : string.Empty;
                    knjiga.zanr  = knjigaRaw["zanr"] != null ? knjigaRaw["zanr"].ToString() : string.Empty;
                    knjiga.jezik = knjigaRaw["jezik"] != null ? knjigaRaw["jezik"].ToString() : string.Empty;

                    sveKnjige.Add(knjiga);
                }
            }
            else
            {
                sveKnjige.Add(knjigaSearch);
            }
        }
Exemple #26
0
 public AutoController(Cassandra.ISession session)
 {
     _session = session;
 }
Exemple #27
0
 public PollutionController()
 {
     _cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();
     _session = _cluster.Connect("WaterPollution");
     _mapper  = new Mapper(_session);
 }
        public CassandraContext()
        {
            var cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();

            _session = cluster.Connect("amico");
        }
Exemple #29
0
        public IActionResult OnPostRez()
        {
            int brojac = 0;

            Cassandra.ISession session = SessionManager.GetSession();
            IMapper            mapper  = new Mapper(session);
            String             email   = HttpContext.Session.GetString("email");

            if (!String.IsNullOrEmpty(email))
            {
                Korisnik korisnik = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + email + "'");
                Knjiga   k        = mapper.First <Knjiga>("select * from \"Knjiga\" where \"knjigaID\"= ? and zanr= ?", idKnjiga, zanr);
                //mogucnost da admin moze da rezervise neku knjigu za nekog korisnika ukoliko unese korisnikovu mail adresu
                if (korisnik.tip == 1)
                {
                    Korisnik kor = mapper.FirstOrDefault <Korisnik>("select * from korisnik where email = '" + emailKorisnika + "'");
                    if (kor != null)
                    {
                        String queryUpdate = $"update \"EBook\".\"Knjiga\" set kolicina = {k.kolicina-1} where \"knjigaID\"='{idKnjiga}' and zanr='{zanr}'";
                        session.Execute(queryUpdate);
                        String query = $"insert into \"EBook\".\"Rezervacija\" (\"rezervacijaID\",\"korisnikID\", \"knjigaID\", datum, status, nazivknjige,zanrknjige,email) values ('" + Cassandra.TimeUuid.NewId() + $"','{kor.korisnikID.ToString()}','{idKnjiga}','{(DateTime.Now).ToString("yyyy-MM-dd'T'HH:mm:ssZ")}','Aktivno', '{k.naziv}', '{k.zanr}', '{emailKorisnika}')";
                        session.Execute(query);
                        return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=AdminTrue").ToString()));
                    }
                    return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=AdminFalse").ToString()));
                }
                //da izbroji korisnikove rezervacije
                IList <Rezervacija> rezervacije = new List <Rezervacija>();
                rezervacije = mapper.Fetch <Rezervacija>("select * from \"Rezervacija\" where \"korisnikID\"=?", korisnik.korisnikID).ToList <Rezervacija>();
                for (int i = 0; i < rezervacije.Count; i++)
                {
                    if (rezervacije.ElementAt(i).status.Equals("Na cekanju"))
                    {
                        brojac++;
                    }
                }
                //ako postoji bar jedna knjiga u bazi sa tim imenom i zanrom
                if (k.kolicina > 0)
                {
                    //ako korisnik ima vise od 5 aktivnih rezervacija da mu onemoguci dok ne preuzme odredjene rezervacije
                    if (brojac >= 5)
                    {
                        return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=false").ToString()));
                    }
                    else
                    {
                        String queryUpdate = $"update \"EBook\".\"Knjiga\" set kolicina = {k.kolicina-1} where \"knjigaID\"='{idKnjiga}' and zanr='{zanr}'";
                        session.Execute(queryUpdate);
                        String query = $"insert into \"EBook\".\"Rezervacija\" (\"rezervacijaID\",\"korisnikID\", \"knjigaID\", datum, status, nazivknjige,zanrknjige,email) values ('" + Cassandra.TimeUuid.NewId() + $"','{korisnik.korisnikID.ToString()}','{idKnjiga}','{(DateTime.Now).ToString("yyyy-MM-dd'T'HH:mm:ssZ")}','Na cekanju', '{k.naziv}', '{k.zanr}', '{email}')";
                        session.Execute(query);
                        return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=true").ToString()));
                    }
                }
                else
                {
                    return(Redirect(("/Book?id=" + idKnjiga + "&zanr=" + zanr + "&success=out").ToString()));
                }
            }
            else
            {
                return(RedirectToPage("/Login"));
            }
        }