public ActionResult BuyTokens()
        {
            bool check = checkLoginUser();

            if (check)
            {
                int      orderID;
                DateTime datumKreiranja = DateTime.Now;
                string   status         = "čekanje na obradu";

                using (var context = new IEPVebAukcijaEntities7())
                {
                    var newNarudzbina = new Narudzbina()
                    {
                        CenaTokena      = null,
                        BrojTokena      = 5,
                        DatumPravljenja = datumKreiranja,
                        Status          = status,
                        KorisnikID      = (int)Session["userID"]
                    };

                    context.Narudzbinas.Add(newNarudzbina);
                    context.SaveChanges();

                    orderID = newNarudzbina.NarudzbinaID;
                }

                string encodedID = Base64Encode("kljuc_" + orderID);

                using (var context = new IEPVebAukcijaEntities7())
                {
                    Narudzbina narudzbina = context.Narudzbinas.Find(orderID);
                    Korisnik   korisnik   = context.Korisniks.Find(narudzbina.KorisnikID);

                    narudzbina.CenaTokena = (decimal)5;
                    narudzbina.BrojTokena = 20;
                    narudzbina.Status     = "realizovana";

                    korisnik.BrojTokena += 20;

                    context.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();

                    context.Entry(korisnik).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();
                }


                var CentiliLink = "https://stage.centili.com/payment/widget?apikey=c1b12df447e0a198c459bc2505960ca7";
                return(Redirect(CentiliLink));

                //   return RedirectToAction("ViewProfile", "Account");
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 2
0
        public string AuctionOver(int id)
        {
            string  result = "";
            Aukcija aukcija;

            using (var context = new IEPVebAukcijaEntities7())
            {
                aukcija = context.Aukcijas.Find(id);
            }


            if (aukcija != null)
            {
                if (!aukcija.Status.Equals("OPEN"))
                {
                    result = aukcija.Status;
                }
                else
                {
                    Nullable <int> lastBid = aukcija.BidID;

                    if (lastBid != null)
                    {
                        aukcija.Status = "SOLD";
                    }
                    else
                    {
                        aukcija.Status = "EXPIRED";
                    }

                    result = aukcija.Status;

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        context.Entry(aukcija).State = System.Data.Entity.EntityState.Modified;
                        context.SaveChanges();

                        if (result == "SOLD")
                        {
                            Bid      bid      = context.Bids.Find(aukcija.BidID);
                            Korisnik korisnik = context.Korisniks.Find(bid.KorisnikID);

                            korisnik.Aukcijas.Add(aukcija);
                            context.SaveChanges();

                            logger.Error("AUCTION OVER: AuctionID: " + aukcija.AukcijaID + ", AuctionStatus: " + aukcija.Status);
                        }
                    }
                }
            }

            return(result);
        }
        public ActionResult EndPoint(string clientid, string status, int amount, double enduserprise)
        {
            string decodedID = Base64Decode(clientid);

            string[] splitedWords = decodedID.Split('_');

            int id = Int32.Parse(splitedWords[0]);

            using (var context = new IEPVebAukcijaEntities7())
            {
                if (status.Equals("success"))
                {
                    Narudzbina narudzbina = context.Narudzbinas.Find(id);
                    Korisnik   korisnik   = context.Korisniks.Find(narudzbina.KorisnikID);

                    narudzbina.CenaTokena = (decimal)enduserprise;
                    narudzbina.BrojTokena = amount;
                    narudzbina.Status     = "realizovana";

                    korisnik.BrojTokena += amount;

                    context.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();

                    context.Entry(korisnik).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();
                }
                else
                {
                    Narudzbina narudzbina = context.Narudzbinas.Find(id);

                    narudzbina.Status = "poništena";

                    context.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();
                }
            }

            return(ViewProfile());
        }
        public ActionResult ChangePassword(string oldPassword, string newPassword)
        {
            bool check = checkLoginUser();

            if (check)
            {
                try
                {
                    if ((oldPassword.Equals("")) || (oldPassword == null) || (newPassword.Equals("")) || (newPassword == null))
                    {
                        ModelState.AddModelError("", "*Niste uneli vrednosti u polja.");
                        return(RedirectToAction("ViewProfile", "Account"));
                    }

                    Korisnik editKorisnik;
                    int      id = (int)Session["userID"];
                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        editKorisnik = context.Korisniks.Find(id);
                    }

                    if (editKorisnik != null)
                    {
                        if (!Base64Decode(editKorisnik.Lozinka).Equals(oldPassword))
                        {
                            ModelState.AddModelError("", "*Stara lozinka se ne poklapa.");
                            return(RedirectToAction("ViewProfile", "Account"));
                        }

                        editKorisnik.Lozinka = Base64Encode(newPassword);
                    }

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        context.Entry(editKorisnik).State = System.Data.Entity.EntityState.Modified;
                        context.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to change email.");
                    ModelState.AddModelError("", "*Neispravna nova lozinka.");
                }
                return(RedirectToAction("ViewProfile", "Account"));
            }

            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult AddAuction(NewAuctionModel model)
        {
            if (checkAdmin())
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    DateTime localDate = DateTime.Now;
                    byte[]   image     = null;

                    if (model.Slika != null)
                    {
                        // Convert HttpPostedFileBase to byte array.
                        image = new byte[model.Slika.ContentLength];
                        model.Slika.InputStream.Read(image, 0, image.Length);
                    }

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        var newAuction = new Aukcija()
                        {
                            Proizvod       = model.Proizvod,
                            Trajanje       = model.Trajanje,
                            PocetnaCena    = (decimal)model.PocetnaCena,
                            VremeKreiranja = localDate,
                            Status         = "READY",
                            TrenutnaCena   = (decimal)model.PocetnaCena,
                            Slika          = image
                        };

                        context.Aukcijas.Add(newAuction);
                        context.SaveChanges();

                        logger.Error("CREATE AUCTION: AuctionID: " + newAuction.AukcijaID + ", AuctionName: " + newAuction.Proizvod + ", AuctionStatus: " + newAuction.Status);

                        return(RedirectToAction("Index", "Admin"));
                    }
                }
                return(View());
            }
        }
Exemplo n.º 6
0
        public ActionResult Delete(int?id)
        {
            if (checkAdmin())
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                try
                {
                    Aukcija editAukcija;

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        editAukcija = context.Aukcijas.Find(id);
                    }

                    if (editAukcija != null)
                    {
                        editAukcija.Status = "DRAFT";
                    }

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        context.Entry(editAukcija).State = System.Data.Entity.EntityState.Modified;
                        context.SaveChanges();

                        logger.Error("DELETE AUCTION: AuctionID: " + editAukcija.AukcijaID + ", AuctionStatus: " + editAukcija.Status);
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to delete auction");
                }

                return(RedirectToAction("Index", "Admin", new { id = id }));
            }
        }
Exemplo n.º 7
0
        public void OpenAuction(int?id)
        {
            if (id == null)
            {
                return;
            }

            try
            {
                Aukcija editAukcija;

                using (var context = new IEPVebAukcijaEntities7())
                {
                    editAukcija = context.Aukcijas.Find(id);
                }

                if (editAukcija != null)
                {
                    DateTime startTime = DateTime.Now;
                    DateTime endTime   = startTime.AddSeconds((int)editAukcija.Trajanje);

                    editAukcija.Status          = "OPEN";
                    editAukcija.VremeOtvaranja  = startTime;
                    editAukcija.VremeZatvaranja = endTime;
                }


                using (var context = new IEPVebAukcijaEntities7())
                {
                    context.Entry(editAukcija).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();

                    logger.Error("AUCTION OPEN: AuctionID: " + editAukcija.AukcijaID + ", AuctionStatus: " + editAukcija.Status);
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Unable to delete auction");
            }

            // return RedirectToAction("Index", "Admin", new { id = id });
        }
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                using (var context = new IEPVebAukcijaEntities7())
                {
                    Korisnik userEx = context.Korisniks.SingleOrDefault(u => u.Email.Equals(model.Email));
                    if (userEx == null)
                    {
                        if (model.Lozinka.Equals(model.PotvrdaLozinke))
                        {
                            var newUser = new Korisnik()
                            {
                                Ime        = model.Ime,
                                Prezime    = model.Prezime,
                                Email      = model.Email,
                                Lozinka    = Base64Encode(model.Lozinka),
                                BrojTokena = 100,
                                Admin      = false
                            };

                            context.Korisniks.Add(newUser);
                            context.SaveChanges();
                            //loginSession(newUser);

                            return(RedirectToAction("Login", "Account"));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Ponovo uneta lozinka se ne poklapa sa prvobitnom lozinkom.");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Postoji već nalog sa Vašom e-mail adresom.");
                    }
                }
            }

            return(View(model));
        }
        public ActionResult ChangeLastName(string newLastName)
        {
            bool check = checkLoginUser();

            if (check)
            {
                try
                {
                    Korisnik editKorisnik;
                    int      id = (int)Session["userID"];
                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        editKorisnik = context.Korisniks.Find(id);
                    }

                    if (editKorisnik != null)
                    {
                        editKorisnik.Prezime = newLastName;
                    }

                    using (var context = new IEPVebAukcijaEntities7())
                    {
                        context.Entry(editKorisnik).State = System.Data.Entity.EntityState.Modified;
                        context.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to change last name.");
                    ModelState.AddModelError("", "*Neispravno uneto prezime.");
                }

                return(RedirectToAction("ViewProfile", "Account"));
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 10
0
        public void ChangePrice(int?id, string newPrice)
        {
            try
            {
                double  doubleValue = Convert.ToDouble(newPrice);
                Aukcija editAukcija;

                using (var context = new IEPVebAukcijaEntities7())
                {
                    editAukcija = context.Aukcijas.Find(id);
                }

                if (editAukcija != null)
                {
                    editAukcija.PocetnaCena  = (decimal)doubleValue;
                    editAukcija.TrenutnaCena = (decimal)doubleValue;
                }

                using (var context = new IEPVebAukcijaEntities7())
                {
                    context.Entry(editAukcija).State = System.Data.Entity.EntityState.Modified;
                    context.SaveChanges();

                    logger.Error("AUCTION PRICE CHANGE: AuctionID: " + editAukcija.AukcijaID + ", AuctionStatus: " + editAukcija.Status + ", AuctionStartPrice: " + editAukcija.PocetnaCena);
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("Unable to convert '{0}' to a Double.", newPrice);
            }
            catch (OverflowException)
            {
                Console.WriteLine("'{0}' is outside the range of a Double.", newPrice);
            }

            //return RedirectToAction("Index", "Admin", new { id = id });
        }
Exemplo n.º 11
0
        public void BidAuction(int auctionID, int userID, out string fullUserName, out string newPrice, out bool tokens, out double timeRemaining)
        {
            try
            {
                Aukcija  aukcija  = null;
                Korisnik korisnik = null;
                using (var context = new IEPVebAukcijaEntities7())
                {
                    aukcija  = context.Aukcijas.Find(auctionID);
                    korisnik = context.Korisniks.Find(userID);
                }

                if ((aukcija != null) && (korisnik != null))
                {
                    if ((korisnik.BrojTokena > 0) && (aukcija.Status == "OPEN"))
                    {
                        tokens = false;
                        double newPriceDouble = (double)aukcija.TrenutnaCena + 1;

                        aukcija.TrenutnaCena = (decimal)newPriceDouble;

                        double preostalo = ((DateTime)aukcija.VremeZatvaranja - DateTime.Now).TotalSeconds;

                        DateTime newDate = (DateTime)aukcija.VremeZatvaranja;
                        if (preostalo <= 10)
                        {
                            double increment = preostalo * (-1);
                            increment += 10;

                            newDate = newDate.AddSeconds(increment);
                        }

                        aukcija.VremeZatvaranja = newDate;
                        timeRemaining           = aukcija.PreostaloVreme = ((DateTime)aukcija.VremeZatvaranja - DateTime.Now).TotalSeconds;

                        Bid newBid = new Bid()
                        {
                            PonCena     = (decimal)newPriceDouble,
                            VremeSlanja = DateTime.Now,
                            KorisnikID  = userID,
                            AukcijaID   = auctionID
                        };

                        using (var context = new IEPVebAukcijaEntities7())
                        {
                            context.Entry(aukcija).State = System.Data.Entity.EntityState.Modified;
                            context.SaveChanges();

                            context.Bids.Add(newBid);
                            context.SaveChanges();

                            logger.Error("AUCTION BIDED: AuctionID: " + aukcija.AukcijaID + ", AuctionCurrentPrice: " + aukcija.TrenutnaCena + ", UserBidedID: " + userID);

                            fullUserName = korisnik.Ime + " " + korisnik.Prezime;
                            newPrice     = "" + newPriceDouble;
                        }
                    }
                    else
                    {
                        fullUserName = newPrice = null;

                        if (aukcija.Status != "OPEN")
                        {
                            tokens        = false;
                            timeRemaining = -1;
                        }
                        else
                        {
                            tokens        = true;
                            timeRemaining = 1;
                        }
                    }
                }
                else
                {
                    fullUserName  = newPrice = null;
                    tokens        = true;
                    timeRemaining = -1;
                }
            }
            catch (FormatException)
            {
                fullUserName  = newPrice = null;
                tokens        = true;
                timeRemaining = -1;
                Console.WriteLine("Something went wrong.");
            }
        }