// GET: Order
        public ActionResult Index(int id = -1)
        {
            if (!checkLoginUser())
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (id == -1)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                Narudzbina narudzbina = null;
                using (var context = new IEPVebAukcijaEntities7())
                {
                    narudzbina = context.Narudzbinas.Find(id);

                    if (narudzbina == null)
                    {
                        return(HttpNotFound());
                    }
                }
                return(View(narudzbina));
            }
        }
        public ActionResult AllOrders(int?id, string sortOrder, string currentFilter, string searchString, string minP, string maxP, string AuctionStatus, int?page)
        {
            if (!checkLoginUser())
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                using (var context = new IEPVebAukcijaEntities7())
                {
                    ViewBag.CurrentSort  = sortOrder;
                    ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
                    ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";

                    if (searchString != null)
                    {
                        page = 1;
                    }
                    else
                    {
                        searchString = currentFilter;
                    }

                    ViewBag.CurrentFilter = searchString;

                    IEnumerable <Veb_portal_za_aukcijsku_prodaju.Models.Narudzbina> narudzbine = context.Narudzbinas.Where(n => n.KorisnikID == id);

                    if (!String.IsNullOrEmpty(searchString))
                    {
                        narudzbine = narudzbine.Where(s => s.Status.Contains(searchString));
                    }


                    switch (sortOrder)
                    {
                    case "name_desc":
                        narudzbine = narudzbine.OrderByDescending(s => s.Status);
                        break;

                    case "Date":
                        narudzbine = narudzbine.OrderBy(s => s.DatumPravljenja);
                        break;

                    case "date_desc":
                        narudzbine = narudzbine.OrderByDescending(s => s.DatumPravljenja);
                        break;

                    default:      // Name ascending
                        narudzbine = narudzbine.OrderBy(s => s.Status);
                        break;
                    }

                    int pageSize   = 10;
                    int pageNumber = (page ?? 1);
                    return(View(narudzbine.ToPagedList(pageNumber, pageSize)));
                }
            }
        }
        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"));
        }
        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);
        }
Beispiel #5
0
        // GET: Auction
        public ActionResult Index(int id = -1)
        {
            if (id == -1)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Aukcija aukcija = null;

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

                var bids = context.Bids
                           .Where(n => n.AukcijaID == id)
                           .OrderByDescending(n => n.PonCena)
                           .Take(10);

                foreach (var bid in bids)
                {
                    Korisnik korisnik = context.Korisniks.Find(bid.KorisnikID);
                    bid.KorisnikImePrezime = korisnik.Ime + " " + korisnik.Prezime;
                }

                aukcija.Top10Bids = bids;

                aukcija.Top10Bids = aukcija.Top10Bids.ToList();

                if ((aukcija.VremeZatvaranja != null) && (!aukcija.VremeZatvaranja.Equals("")) && (aukcija.Status.Equals("OPEN")))
                {
                    aukcija.PreostaloVreme = ((DateTime)aukcija.VremeZatvaranja - DateTime.Now).TotalSeconds;
                }
                else
                if ((aukcija.VremeOtvaranja != null) && (!aukcija.VremeOtvaranja.Equals("")) && (!aukcija.Status.Equals("OPEN")))
                {
                    //auk.PreostaloVreme = ((DateTime)auk.VremeZatvaranja - (DateTime)auk.VremeOtvaranja).TotalSeconds;
                    aukcija.PreostaloVreme = -1;
                }
                else
                {
                    aukcija.PreostaloVreme = (double)aukcija.Trajanje;
                }
            }
            return(View(aukcija));
        }
        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());
            }
        }
Beispiel #8
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 }));
            }
        }
        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 Login(LoginModel model)
        {
            log.Info("usao sam u login");

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (var context = new IEPVebAukcijaEntities7())
            {
                if (context.Korisniks.Count() > 0)
                {
                    string encodedPassword = Base64Encode(model.Lozinka);
                    var    user            = context.Korisniks.SingleOrDefault(u => u.Email == model.Email && u.Lozinka == encodedPassword);
                    if (user != null)
                    {
                        loginSession(user);
                        if ((bool)user.Admin)
                        {
                            Console.WriteLine("");
                            return(RedirectToAction("Index", "Admin"));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "E-mail adresa ili lozinka nisu korektni. Molimo Vas, pokušajte ponovo.");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Ne postoji nalog sa Vašim podacima u bazi.");
                }
            }
            return(View(model));
        }
        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 ViewProfile()
        {
            bool check = checkLoginUser();

            if (check)
            {
                int id = (int)Session["userID"];

                Korisnik korisnik = null;
                using (var context = new IEPVebAukcijaEntities7())
                {
                    korisnik = context.Korisniks.Find(id);
                    if (korisnik == null)
                    {
                        return(HttpNotFound());
                    }
                }
                return(View(korisnik));
            }

            return(RedirectToAction("Index", "Home"));
        }
        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 });
        }
        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"));
        }
Beispiel #16
0
        public ActionResult AllAuctions(int?id, string sortOrder, string currentFilter, string searchString, string minP, string maxP, string AuctionStatus, int?page)
        {
            if (!checkLoginUser())
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                bool onlyMin, onlyMax, minMax;
                onlyMin = onlyMax = minMax = false;

                if (!String.IsNullOrEmpty(minP))
                {
                    onlyMin = true;
                }
                if (!String.IsNullOrEmpty(maxP))
                {
                    onlyMax = true;
                }
                if (onlyMin && onlyMax)
                {
                    onlyMin = onlyMax = false;
                    minMax  = true;
                }

                using (var context = new IEPVebAukcijaEntities7())
                {
                    ViewBag.CurrentSort  = sortOrder;
                    ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
                    ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";

                    if (searchString != null)
                    {
                        page = 1;
                    }
                    else
                    {
                        searchString = currentFilter;
                    }

                    ViewBag.CurrentFilter = searchString;

                    IEnumerable <Veb_portal_za_aukcijsku_prodaju.Models.Aukcija> aukcijas = from user in context.Korisniks
                                                                                            from auc in user.Aukcijas
                                                                                            where user.KorisnikID == id
                                                                                            select auc;

                    if (!String.IsNullOrEmpty(searchString))
                    {
                        string[] words = searchString.Split(' ');
                        aukcijas = aukcijas.Where(s => s.Proizvod.Contains(searchString));
                    }
                    try
                    {
                        if (onlyMin || onlyMax || minMax)
                        {
                            if (minMax)
                            {
                                aukcijas = aukcijas.Where(s => s.TrenutnaCena >= Decimal.Parse(minP) && s.TrenutnaCena <= Decimal.Parse(maxP));
                            }
                            else
                            {
                                if (onlyMin)
                                {
                                    aukcijas = aukcijas.Where(s => s.TrenutnaCena >= Decimal.Parse(minP));
                                }
                                else
                                {
                                    aukcijas = aukcijas.Where(s => s.TrenutnaCena <= Decimal.Parse(maxP));
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Error parsing double.");
                    }

                    if (!String.IsNullOrEmpty(AuctionStatus))
                    {
                        switch (AuctionStatus)
                        {
                        case "1":
                            aukcijas = aukcijas.Where(s => s.Status == "READY");
                            break;

                        case "2":
                            aukcijas = aukcijas.Where(s => s.Status == "OPEN");
                            break;

                        case "3":
                            aukcijas = aukcijas.Where(s => s.Status == "SOLD");
                            break;

                        case "4":
                            aukcijas = aukcijas.Where(s => s.Status == "EXPIRED");
                            break;
                        }
                    }

                    switch (sortOrder)
                    {
                    case "name_desc":
                        aukcijas = aukcijas.OrderByDescending(s => s.Proizvod);
                        break;

                    case "Date":
                        aukcijas = aukcijas.OrderBy(s => s.VremeKreiranja);
                        break;

                    case "date_desc":
                        aukcijas = aukcijas.OrderByDescending(s => s.VremeKreiranja);
                        break;

                    default:      // Name ascending
                        aukcijas = aukcijas.OrderBy(s => s.Proizvod);
                        break;
                    }

                    foreach (Aukcija auk in aukcijas)
                    {
                        if (auk.BidID != null)
                        {
                            Bid      bid  = context.Bids.Find(auk.BidID);
                            Korisnik user = context.Korisniks.Find(bid.KorisnikID);

                            bid.Korisnik = user;
                            auk.Bid      = bid;
                        }

                        if ((auk.VremeZatvaranja != null) && (!auk.VremeZatvaranja.Equals("")) && (auk.Status.Equals("OPEN")))
                        {
                            auk.PreostaloVreme = ((DateTime)auk.VremeZatvaranja - DateTime.Now).TotalSeconds;
                        }
                        else
                        if ((auk.VremeOtvaranja != null) && (!auk.VremeOtvaranja.Equals("")) && (!auk.Status.Equals("OPEN")))
                        {
                            //auk.PreostaloVreme = ((DateTime)auk.VremeZatvaranja - (DateTime)auk.VremeOtvaranja).TotalSeconds;
                            auk.PreostaloVreme = -1;
                        }
                        else
                        {
                            auk.PreostaloVreme = (double)auk.Trajanje;
                        }
                    }

                    int pageSize   = 10;
                    int pageNumber = (page ?? 1);
                    return(View(aukcijas.ToPagedList(pageNumber, pageSize)));
                }
            }
        }
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, string minP, string maxP, string AuctionStatus, int?page)
        {
            bool onlyMin, onlyMax, minMax, allOrNot = false;

            onlyMin = onlyMax = minMax = false;

            if ((sortOrder == null) && (currentFilter == null) && (searchString == null) && (minP == null) && (maxP == null) && (AuctionStatus == null) && (page == null))
            {
                allOrNot = false;
            }
            else
            {
                allOrNot = true;
            }

            if (!String.IsNullOrEmpty(minP))
            {
                onlyMin = true;
            }
            if (!String.IsNullOrEmpty(maxP))
            {
                onlyMax = true;
            }
            if (onlyMin && onlyMax)
            {
                onlyMin = onlyMax = false;
                minMax  = true;
            }

            using (var context = new IEPVebAukcijaEntities7())
            {
                // NE DIRAJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                ViewBag.CurrentSort  = sortOrder;
                ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
                ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";

                if (searchString != null)
                {
                    page = 1;
                }
                else
                {
                    searchString = currentFilter;
                }

                ViewBag.CurrentFilter = searchString;

                // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                IEnumerable <Aukcija> aukcijas;

                if (allOrNot == true)
                {
                    aukcijas = context.Aukcijas.Include(a => a.Bid).Where(a => !a.Status.Equals("DRAFT"));
                }
                else
                {
                    aukcijas = context.Aukcijas.Include(a => a.Bid).Where(a => a.Status.Equals("OPEN") && !a.Status.Equals("DRAFT")).OrderByDescending(a => a.VremeOtvaranja).Take(5);
                }

                if (!String.IsNullOrEmpty(searchString))
                {
                    string[] words = searchString.Split(' ');
                    //aukcijas = aukcijas.Where(s => s.Proizvod.Contains(searchString));

                    IEnumerable <Veb_portal_za_aukcijsku_prodaju.Models.Aukcija> tempAukc = null;
                    bool first = true;
                    foreach (string searchWord in words)
                    {
                        if ((!searchWord.Equals("")) && (!searchWord.Equals(" ")))
                        {
                            var tempAukcOneWord = aukcijas.Where(s => s.Proizvod.Contains(searchWord));

                            if (first)
                            {
                                tempAukc = tempAukcOneWord;
                                first    = false;
                            }
                            else
                            {
                                tempAukc = tempAukc.Union(tempAukcOneWord.AsEnumerable());
                            }
                        }
                    }

                    aukcijas = tempAukc;
                }


                try
                {
                    if (onlyMin || onlyMax || minMax)
                    {
                        if (minMax)
                        {
                            aukcijas = aukcijas.Where(s => s.TrenutnaCena >= Decimal.Parse(minP) && s.TrenutnaCena <= Decimal.Parse(maxP));
                        }
                        else
                        {
                            if (onlyMin)
                            {
                                aukcijas = aukcijas.Where(s => s.TrenutnaCena >= Decimal.Parse(minP));
                            }
                            else
                            {
                                aukcijas = aukcijas.Where(s => s.TrenutnaCena <= Decimal.Parse(maxP));
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Error parsing double.");
                }

                if (!String.IsNullOrEmpty(AuctionStatus))
                {
                    switch (AuctionStatus)
                    {
                    case "1":
                        aukcijas = aukcijas.Where(s => s.Status == "READY");
                        break;

                    case "2":
                        aukcijas = aukcijas.Where(s => s.Status == "OPEN");
                        break;

                    case "3":
                        aukcijas = aukcijas.Where(s => s.Status == "SOLD");
                        break;

                    case "4":
                        aukcijas = aukcijas.Where(s => s.Status == "EXPIRED");
                        break;
                    }
                }
                // NE RADII!!!!!!!!!
                switch (sortOrder)
                {
                case "name_desc":
                    aukcijas = aukcijas.OrderByDescending(s => s.Proizvod);
                    break;

                case "Date":
                    aukcijas = aukcijas.OrderBy(s => s.VremeKreiranja);
                    break;

                case "date_desc":
                    aukcijas = aukcijas.OrderByDescending(s => s.VremeKreiranja);
                    break;

                default:      // Name ascending
                    aukcijas = aukcijas.OrderBy(s => s.Proizvod);
                    break;
                }

                foreach (Aukcija auk in aukcijas)
                {
                    if (auk.BidID != null)
                    {
                        Bid      bid  = context.Bids.Find(auk.BidID);
                        Korisnik user = context.Korisniks.Find(bid.KorisnikID);

                        bid.Korisnik = user;
                        auk.Bid      = bid;
                    }

                    if ((auk.VremeZatvaranja != null) && (!auk.VremeZatvaranja.Equals("")) && (auk.Status.Equals("OPEN")))
                    {
                        double diff = ((DateTime)auk.VremeZatvaranja - DateTime.Now).TotalSeconds;
                        if (diff > 0)
                        {
                            auk.PreostaloVreme = diff;
                        }
                        else
                        {
                            auk.PreostaloVreme = -2;
                        }
                    }
                    else
                    if ((auk.VremeOtvaranja != null) && (!auk.VremeOtvaranja.Equals("")) && (!auk.Status.Equals("OPEN")))
                    {
                        //auk.PreostaloVreme = ((DateTime)auk.VremeZatvaranja - (DateTime)auk.VremeOtvaranja).TotalSeconds;
                        auk.PreostaloVreme = -1;
                    }
                    else
                    {
                        auk.PreostaloVreme = (double)auk.Trajanje;
                    }
                }

                int pageSize   = 10;
                int pageNumber = (page ?? 1);
                return(View(aukcijas.ToPagedList(pageNumber, pageSize)));
            }
        }
        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.");
            }
        }