Esempio n. 1
0
        public async Task <IActionResult> OnPostObrisi(string id)
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idKupac"));

            if (log)
            {
                idKupac = HttpContext.Session.GetString("idKupac");
                var   coll = _db.GetCollection <Kupac>("Kupci");
                Kupac pom1 = coll.Find(x => x.ID == idKupac.ToString()).SingleOrDefault();

                var        coll2 = _db.GetCollection <Narudzbina>("Narudzbine");
                Narudzbina pom   = new Narudzbina();
                foreach (MongoDBRef n in pom1.MojeNarudzbine_)
                {
                    var filter = Builders <Narudzbina> .Filter.Eq(e => e.ID, n.Id.AsString);

                    Narudzbina npom = coll2.Find(filter).SingleOrDefault();
                    if (npom.ID == id.ToString())
                    {
                        pom = npom;
                    }
                }
                pom.Procitana = true;
                coll2.ReplaceOne(x => x.ID == id.ToString(), pom);
                IzabraniID = null;
                Console.WriteLine("U fji sam");
                return(RedirectToPage());
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 2
0
        // GET: Narudzbina
        public ActionResult Index(int?paket)
        {
            if (paket > 0 && paket < 4 && Session["ID"] != null)
            {
                Narudzbina n = new Narudzbina();
                n.KorisnikID      = Int32.Parse(Session["ID"].ToString());
                n.DatumPravljenja = DateTime.UtcNow;
                n.Status          = "Cekanje na obradu";
                switch (paket)
                {
                case 1: n.BrojTokena = 3;
                    n.CenaPaketa     = 3;
                    break;

                case 2: n.BrojTokena = 5;
                    n.CenaPaketa     = 5;
                    break;

                case 3: n.BrojTokena = 10;
                    n.CenaPaketa     = 10;
                    break;
                }
                db.Narudzbinas.Add(n);
                db.SaveChanges();
                return(RedirectToAction("MojeNarudzbine", "Narudzbina"));
            }
            return(View());
        }
        // 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));
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> OnGet()
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idKupac"));

            Console.WriteLine(HttpContext.Session.GetString("idKupac"));

            if (log)
            {
                idKupac = HttpContext.Session.GetString("idKupac");

                var coll = _db.GetCollection <Kupac>("Kupci");
                Ja = coll.Find(x => x.ID == idKupac.ToString()).SingleOrDefault();

                Korpa      = 0;
                Naruceno   = 0;
                Potvrdjeno = 0;
                Isporuceno = 0;
                Odbijeno   = 0;

                var coll2             = _db.GetCollection <Narudzbina>("Narudzbine");
                List <Narudzbina> pom = new List <Narudzbina>();
                if (Ja.MojeNarudzbine_ != null)
                {
                    foreach (MongoDBRef n in Ja.MojeNarudzbine_)
                    {
                        var filter = Builders <Narudzbina> .Filter.Eq(e => e.ID, n.Id.AsString);

                        Narudzbina npom = coll2.Find(filter).SingleOrDefault();
                        pom.Add(npom);
                        if (npom.Status == "Korpa")
                        {
                            Korpa++;
                        }
                        else if (npom.Status == "Naruceno")
                        {
                            Naruceno++;
                        }
                        else if (npom.Status == "Isporuceno")
                        {
                            Isporuceno++;
                        }
                        else if (npom.Status == "Potvrdjeno")
                        {
                            Potvrdjeno++;
                        }
                        else if (npom.Status == "Odbijeno")
                        {
                            Odbijeno++;
                        }
                    }
                }
                Ja.MojeNarudzbine = pom;

                return(Page());
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 5
0
        public static List <Narudzbina> GetNarudzbineKorisnika(Guid userId)
        {
            ISession          session    = SessionManager.GetSession();
            List <Narudzbina> narudzbine = new List <Narudzbina>();
            object            pom        = new object();

            if (session == null)
            {
                return(null);
            }

            RowSet nars = session.Execute("select * from narudzbinekorisnika where user_id=" + userId);

            foreach (Row nar in nars)
            {
                Narudzbina n = new Narudzbina();
                pom            = nar["lista_proizvoda"];
                n.UserId       = userId;
                n.NarudzbinaId = nar["narudzbina_id"] != null?Guid.Parse(nar["narudzbina_id"].ToString()) : Guid.Empty;

                n.RestoranId = nar["restoran_id"] != null?Guid.Parse(nar["restoran_id"].ToString()) : Guid.Empty;

                n.Adresa = nar["adresa"] != null ? nar["adresa"].ToString() : String.Empty;
                n.Iznos  = nar["iznos"] != null ? nar["iznos"].ToString() : String.Empty;
                //      n.ListaProizvoda = nar["lista_proizvoda"] != null ? pom.ToString() : null;
                n.StatusObrade = nar["status_obrade"] != null ? nar["status_obrade"].ToString() : String.Empty;
                n.Datum        = DateTimeOffset.Parse(nar["datum"].ToString());
                narudzbine.Add(n);
            }
            return(narudzbine);
        }
Esempio n. 6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Narudzbina narudzbina = db.Narudzbinas.Find(id);

            db.Narudzbinas.Remove(narudzbina);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "status,id_narudzbine,datum,id_osoba")] Narudzbina narudzbina)
 {
     if (ModelState.IsValid)
     {
         db.Entry(narudzbina).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View("~/Views/Back-end/AdminNarudzbina/Edit.cshtml", narudzbina));
 }
        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"));
        }
Esempio n. 9
0
        public ActionResult Narudzbina(int id)
        {
            Narudzbina n   = db.Narudzbinas.Find(id);
            int        idk = Int32.Parse(Session["ID"].ToString());;

            if (n.KorisnikID != idk)
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(View(n));
        }
Esempio n. 10
0
 public ActionResult Edit([Bind(Include = "IdNar,BrTokena,Cena,Status,IdKor")] Narudzbina narudzbina)
 {
     if (ModelState.IsValid)
     {
         db.Entry(narudzbina).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdKor = new SelectList(db.Korisniks, "IdKor", "Ime", narudzbina.IdKor);
     return(View(narudzbina));
 }
Esempio n. 11
0
        public ActionResult Create([Bind(Include = "IdNar,BrTokena,Cena,Status,IdKor")] Narudzbina narudzbina)
        {
            if (ModelState.IsValid)
            {
                db.Narudzbinas.Add(narudzbina);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdKor = new SelectList(db.Korisniks, "IdKor", "Ime", narudzbina.IdKor);
            return(View(narudzbina));
        }
        // GET: AdminNarudzbina/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Narudzbina adminNarudzbina = db.Narudzbinas.Find(id);

            if (adminNarudzbina == null)
            {
                return(HttpNotFound());
            }
            return(View("~/Views/Back-end/AdminNarudzbina/Edit.cshtml", adminNarudzbina));
        }
Esempio n. 13
0
        // GET: Narudzbinas/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Narudzbina narudzbina = db.Narudzbinas.Find(id);

            if (narudzbina == null)
            {
                return(HttpNotFound());
            }
            return(View(narudzbina));
        }
Esempio n. 14
0
        // GET: Narudzbinas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Narudzbina narudzbina = db.Narudzbinas.Find(id);

            if (narudzbina == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IdKor = new SelectList(db.Korisniks, "IdKor", "Ime", narudzbina.IdKor);
            return(View(narudzbina));
        }
Esempio n. 15
0
        public async Task <IActionResult> OnPostIsporuceno()
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idProdavac"));

            if (log)
            {
                var        coll2 = _db.GetCollection <Narudzbina>("Narudzbine");
                Narudzbina pom   = coll2.Find(x => x.ID == Narudzbina.ID).SingleOrDefault();
                pom.Status = "Isporuceno";
                coll2.ReplaceOne(x => x.ID == pom.ID, pom);
                return(RedirectToPage("./ListaPristiglihNarudzbina"));
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 16
0
        public int AddNarudzbinu(Narudzbina v)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                s.Save(v);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception ec)
            {
                return(-1);
            }
        }
Esempio n. 17
0
        public async Task <IActionResult> OnPostKupi()
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idKupac"));

            if (log)
            {
                idKupac = HttpContext.Session.GetString("idKupac");
                var   coll  = _db.GetCollection <Kupac>("Kupci");
                Kupac pom1  = coll.Find(x => x.ID == idKupac.ToString()).SingleOrDefault();
                var   coll2 = _db.GetCollection <Narudzbina>("Narudzbine");

                var coll3 = _db.GetCollection <Prodavac>("Prodavci");

                if (pom1.MojeNarudzbine_ != null)
                {
                    foreach (MongoDBRef n in pom1.MojeNarudzbine_.ToList())
                    {
                        var filter = Builders <Narudzbina> .Filter.Eq(e => e.ID, n.Id.AsString);

                        Narudzbina npom = coll2.Find(filter).SingleOrDefault();

                        if (npom.Status == "Korpa")
                        {
                            Prodavac pommm = coll3.Find(x => x.ID == npom.NarucenProizvod_.MojProdavac.Id.AsString).SingleOrDefault();
                            npom.Status = "Narucen";
                            if (pommm.MojeNarudzbine == null)
                            {
                                pommm.MojeNarudzbine = new List <MongoDBRef>();
                            }
                            pommm.MojeNarudzbine.Add(new MongoDBRef("mojenarudzbine", npom.ID));
                            coll3.ReplaceOne(x => x.ID == pommm.ID, pommm);
                            coll2.ReplaceOne(x => x.ID == npom.ID, npom);
                        }
                    }
                }

                return(RedirectToPage());
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 18
0
        public int RemoveNarudzbinu(int id)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Narudzbina v = s.Load <Narudzbina>(id);

                s.Delete(v);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception exc)
            {
                return(-1);
            }
        }
Esempio n. 19
0
        public ActionResult KreirajNarudzbinu(string Narudzbenice)
        {
            // Narudzbenice --> "1:1,7:1,3:2"
            var trenutniKorisnikId = int.Parse(Session["id_osoba"].ToString());

            Narudzbina narudzbina = new Narudzbina
            {
                id_osoba = trenutniKorisnikId,
                datum    = DateTime.Now,
                status   = AdminNarudzbina.AKTIVNA
            };

            narudzbina = db.Narudzbinas.Add(narudzbina);
            db.SaveChanges();

            List <string> narudzbenicePairsString = Narudzbenice.Split(',').ToList(); // --> [ "1:1", "7:1", "3:2" ]

            Debug.WriteLine("COUNT: " + narudzbenicePairsString.Count());

            List <Narudzbina_Knjiga> narudzbina_Knjigas = new List <Narudzbina_Knjiga>();

            foreach (var stringPair in narudzbenicePairsString)
            {
                List <string> narudzbeniceKeyVal = stringPair.Split(':').ToList(); // --> [ "1", "1" ]

                int IDKnjige         = int.Parse(narudzbeniceKeyVal.ElementAt(0)); // --> 1
                int Kolicina         = int.Parse(narudzbeniceKeyVal.ElementAt(1)); // --> 1
                Narudzbina_Knjiga nk = new Narudzbina_Knjiga
                {
                    id_knjige     = IDKnjige,
                    kolicina      = Kolicina,
                    id_narudzbine = narudzbina.id_narudzbine
                };
                narudzbina_Knjigas.Add(nk);
            }
            db.Narudzbina_Knjiga.AddRange(narudzbina_Knjigas);
            db.SaveChanges();
            Session["Cart"] = null;

            return(View("~/Views/Front-end/FrontKnjige/Narudzbina.cshtml"));
        }
        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());
        }
Esempio n. 21
0
        public async Task <IActionResult> OnGet(int?pageIndex)
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idKupac"));

            if (log)
            {
                idKupac = HttpContext.Session.GetString("idKupac");
                var coll = _db.GetCollection <Kupac>("Kupci");
                Ja = coll.Find(x => x.ID == idKupac.ToString()).SingleOrDefault();

                var coll2             = _db.GetCollection <Narudzbina>("Narudzbine");
                List <Narudzbina> pom = new List <Narudzbina>();
                if (Ja.MojeNarudzbine_ != null)
                {
                    foreach (MongoDBRef n in Ja.MojeNarudzbine_)
                    {
                        var filter = Builders <Narudzbina> .Filter.Eq(e => e.ID, n.Id.AsString);

                        Narudzbina npom = coll2.Find(filter).SingleOrDefault();
                        if (npom.Status != "Korpa")
                        {
                            pom.Add(npom);
                        }
                    }
                }
                Ja.MojeNarudzbine = pom;

                IQueryable <Narudzbina> narudzbineIQ = pom.AsQueryable();
                pageSize   = Convert.ToInt32(HttpContext.Session.GetString("pageSize"));
                narudzbine = await PaginatedList <Narudzbina> .CreateAsync(
                    narudzbineIQ, pageIndex ?? 1, pageSize);


                return(Page());
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 22
0
        public IHttpActionResult NapraviNovuNarudzbinu(NovaNarudzbinaDto novaNarduzvina)
        {
            double ukupnaVrednost = 0;

            foreach (var jelo in novaNarduzvina.Jela)
            {
                ukupnaVrednost = ukupnaVrednost + Convert.ToDouble(jelo.UkupnaVrednost);
            }

            var narudzbina = new Narudzbina
            {
                DatumVreme     = DateTime.Now,
                UkupnaVrednost = ukupnaVrednost,
                Kompletirana   = true
            };

            _context.Narudzbina.Add(narudzbina);
            _context.SaveChanges();

            foreach (var jelo in novaNarduzvina.Jela)
            {
                var id               = Convert.ToInt32(jelo.JeloId);
                var jeloInDb         = _context.Jelo.Single(j => j.Id == id);
                var stavkaNarudzbine = new StavkaNarudzbine()
                {
                    JeloId        = Convert.ToInt32(jelo.JeloId),
                    JedinicnaCena = jeloInDb.JedinicnaCena,
                    Kolicina      = jelo.Kolicina,
                    Vrednost      = jelo.UkupnaVrednost,
                    NarudzbinaId  = narudzbina.Id
                };

                _context.StavkaNarudzbine.Add(stavkaNarudzbine);
                _context.SaveChanges();
            }

            return(Ok());
        }
Esempio n. 23
0
        public ActionResult CentiliReturn(string status)
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() == "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                string     email      = Session["email"].ToString();
                Korisnik   korisnik   = db.Korisniks.Where(a => a.Email == email).FirstOrDefault <Korisnik>();
                Narudzbina narudzbina = db.Narudzbinas.Where(a => a.IdKor == korisnik.IdKor).OrderByDescending(x => x.IdNar).FirstOrDefault();

                if (status == "success")
                {
                    narudzbina.Status          = "realizovana";
                    db.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;

                    korisnik.BrTokena        = korisnik.BrTokena + narudzbina.BrTokena;
                    korisnik.PotvrdaLozinke  = korisnik.Lozinka;
                    db.Entry(korisnik).State = System.Data.Entity.EntityState.Modified;

                    db.SaveChanges();

                    SendEmail();
                    return(RedirectToAction("Tokens"));
                }
                else
                {
                    narudzbina.Status          = "ponistena";
                    db.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    return(RedirectToAction("FailedPurchase"));
                }
            }
        }
Esempio n. 24
0
        public async Task <IActionResult> OnGet()
        {
            bool log = !string.IsNullOrEmpty(HttpContext.Session.GetString("idKupac"));

            if (log)
            {
                idKupac = HttpContext.Session.GetString("idKupac");
                var coll = _db.GetCollection <Kupac>("Kupci");
                Ja = coll.Find(x => x.ID == idKupac.ToString()).SingleOrDefault();

                var coll2             = _db.GetCollection <Narudzbina>("Narudzbine");
                List <Narudzbina> pom = new List <Narudzbina>();
                if (Ja.MojeNarudzbine_ != null)
                {
                    foreach (MongoDBRef n in Ja.MojeNarudzbine_)
                    {
                        var filter = Builders <Narudzbina> .Filter.Eq(e => e.ID, n.Id.AsString);

                        Narudzbina npom = coll2.Find(filter).SingleOrDefault();
                        if (npom.Status != "Korpa")
                        {
                            npom.ProfilKorisnika_ = Ja;
                            pom.Add(npom);
                        }
                    }
                }
                Ja.MojeNarudzbine = pom;
                Narudzbine        = pom;
                IzabraniID        = null;
                return(Page());
            }
            else
            {
                return(RedirectToPage("../Index"));
            }
        }
Esempio n. 25
0
        public ActionResult Order(int numOfTokens)
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() == "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                string   email    = Session["email"].ToString();
                Korisnik korisnik = db.Korisniks.Where(a => a.Email.Equals(email)).FirstOrDefault <Korisnik>();

                Narudzbina narudzbina = new Narudzbina();
                narudzbina.IdKor    = korisnik.IdKor;
                narudzbina.Korisnik = korisnik;
                narudzbina.Status   = "cekanje na obradu";
                narudzbina.Cena     = 50;
                narudzbina.BrTokena = numOfTokens;
                db.Narudzbinas.Add(narudzbina);
                db.SaveChanges();

                return(Redirect("http://stage.centili.com/payment/widget?apikey=7a6ac8db85d69ee617967f6b11548879&returnurl=iep_projekat.cloudapp.net/Home/CentiliReturn/?status=success"));
            }
        }
Esempio n. 26
0
        public async Task <List <OutOrderDTO> > Add(InOrderDTO model, HttpContext context)
        {
            if (model == null || model.ListaElemenata == null || model.ListaElemenata.Count == 0)
            {
                return(null);
            }

            string userName = TokensHelper.GetClaimFromJwt(context, ClaimTypes.Name);

            var user = await _userManager.FindByNameAsync(userName);

            if (user == null)
            {
                throw new ErrorException(ErrorCode.UserNotFound, "Prodavac ne postoji u sistemu.");
            }

            var listaNarudzbina = new List <Narudzbina>();

            foreach (var el in model.ListaElemenata)
            {
                var proizvod = _db.Proizvodi.Where(p => p.Id == el.Id)?.Include(i => i.Prodavac).FirstOrDefault();
                if (proizvod == null)
                {
                    continue;
                }
                var narudzbinaZaOvogProdavca = listaNarudzbina.FirstOrDefault(n => n.Prodavac.Id == proizvod.Prodavac.Id);
                if (narudzbinaZaOvogProdavca == null)
                {
                    narudzbinaZaOvogProdavca = new Narudzbina
                    {
                        Id             = Guid.NewGuid(),
                        ListaElemenata = new List <ElementKorpe>
                        {
                            new ElementKorpe
                            {
                                Id       = Guid.NewGuid(),
                                Kolicina = el.Kolicina,
                                Proizvod = proizvod
                            }
                        },
                        Kupac                = user,
                        StatusNarudzbine     = StatusNarudzbine.Nova,
                        VremeIsporukeUDanima = null,
                        Prodavac             = proizvod.Prodavac
                    };
                    listaNarudzbina.Add(narudzbinaZaOvogProdavca);
                }
                else
                {
                    narudzbinaZaOvogProdavca.ListaElemenata.Add(new ElementKorpe
                    {
                        Id       = Guid.NewGuid(),
                        Kolicina = el.Kolicina,
                        Proizvod = proizvod
                    });
                }
            }

            foreach (var narudzbina in listaNarudzbina)
            {
                narudzbina.DatumNarudzbine = DateTime.UtcNow;
                _db.Narudzbine.Add(narudzbina);
            }

            try
            {
                await _db.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw new ErrorException(ErrorCode.DbError, "Greška pri čuvanju narudzbine u bazu podataka.");
            }

            var outListaNarudzbina = new List <OutOrderDTO>();

            foreach (var narudzbina in listaNarudzbina)
            {
                var outNar = new OutOrderDTO
                {
                    Id       = narudzbina.Id,
                    Prodavac = new Account
                    {
                        FirstName   = narudzbina.Prodavac.FirstName,
                        LastName    = narudzbina.Prodavac.LastName,
                        Email       = narudzbina.Prodavac.Email,
                        PhoneNumber = narudzbina.Prodavac.PhoneNumber
                    },
                    ListaElemenata = new List <OutElementKorpeDTO>()
                };
                foreach (var el in narudzbina.ListaElemenata)
                {
                    outNar.ListaElemenata.Add(new OutElementKorpeDTO
                    {
                        Kolicina = el.Kolicina,
                        Proizvod = new OutProizvodDTO
                        {
                            Id              = el.Proizvod.Id,
                            Naziv           = el.Proizvod.Naziv,
                            Cena            = el.Proizvod.Cena,
                            Opis            = el.Proizvod.Opis,
                            NacinKoriscenja = el.Proizvod.NacinKoriscenja,
                            Prodavac        = null
                        }
                    });
                }
                outListaNarudzbina.Add(outNar);
            }

            return(outListaNarudzbina);
        }