public async Task AddToBucket(BucketItemModel bucketItem)
        {
            Order order = null;

            if (Session["Bucket"] == null)
            {
                order = new Order();
                ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name);

                if (user != null)
                {
                    order.UserId                  = user.Id;
                    order.ContactInfo.Name        = user.Name;
                    order.ContactInfo.PhoneNumber = user.PhoneNumber;
                    order.ContactInfo.Address     = user.Address;
                }
            }
            else
            {
                order = Session["Bucket"] as Order;
            }

            List <Ingredient> ingredients = new List <Ingredient>();

            if (bucketItem.ingridIds != null)
            {
                foreach (var item in bucketItem.ingridIds)
                {
                    ingredients.Add(_ctx.Ingredient.SingleOrDefault(x => x.Id == item));
                }
            }
            Pizza pizza = new Pizza(
                _ctx.Basis.SingleOrDefault(x => x.Id == bucketItem.basisId),
                _ctx.Size.SingleOrDefault(x => x.Id == bucketItem.sizeId),
                _ctx.Sauce.SingleOrDefault(x => x.Id == bucketItem.sauceId),
                ingredients,
                bucketItem.weight,
                bucketItem.price
                );

            order.Items.Add(new OrderItem(Counter++, bucketItem.quantity, pizza));
            Session["Bucket"] = null;
            Session["Bucket"] = order;
        }
        public HttpResponseMessage Create([FromBody] BucketItemModel model, int id)
        {
            try
            {
                BucketItem bucketItem = new BucketItem();
                bucketItem.Ime       = model.Ime;
                bucketItem.Ostvareno = false;
                if (model.Slika == null)
                {
                    bucketItem.Slika = null;
                }
                else
                {
                    bucketItem.Slika = model.Slika;
                }
                bucketItem.Opis = model.Opis;

                Korisnik kor = new Korisnik();

                using (var session = FluentNHibernateHelper.OpenSession())
                {
                    kor = ((List <Korisnik>)session.QueryOver <Korisnik>()
                           .Where(k => k.Id == id).List()).ElementAt(0);

                    bucketItem.Korisnik = kor;

                    List <Kategorija> kategorija = (List <Kategorija>)session.QueryOver <Kategorija>()
                                                   .Where(k => k.Naziv == model.KategorijaNaziv).List();
                    bucketItem.Kategorija = kategorija[0];
                    session.SaveOrUpdate(bucketItem);
                }

                response = Get(id);
                return(response);
            }
            catch
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, "Ne");
                return(response);
            }
        }
        public HttpResponseMessage Get()
        {
            var bucketItemsModel = new BucketItemsModel();

            using (var session = FluentNHibernateHelper.OpenSession())
            {
                List <BucketItem> bucketItems = (List <BucketItem>)session.QueryOver <BucketItem>().List();

                foreach (var item in bucketItems)
                {
                    var itemModel = new BucketItemModel();
                    itemModel.Id              = item.Id;
                    itemModel.Ime             = item.Ime;
                    itemModel.Ostvareno       = item.Ostvareno;
                    itemModel.Slika           = item.Slika;
                    itemModel.Opis            = item.Opis;
                    itemModel.KategorijaNaziv = item.Kategorija.Naziv;
                    bucketItemsModel.BucketItems.Add(itemModel);
                }
                response = Request.CreateResponse(HttpStatusCode.OK, bucketItemsModel.BucketItems);
                return(response);
            }
        }
        public ActionResult BucketItems()
        {
            var bucketItemsModel = new BucketItemsModel();

            using (var session = FluentNHibernateHelper.OpenSession())
            {
                List <BucketItem> bucketItems = (List <BucketItem>)session.QueryOver <BucketItem>()
                                                .Where(k => k.Korisnik.Id == ((Korisnik)Session["User"]).Id).List();

                foreach (var item in bucketItems)
                {
                    var itemModel = new BucketItemModel();
                    itemModel.Id              = item.Id;
                    itemModel.Ime             = item.Ime;
                    itemModel.Ostvareno       = item.Ostvareno;
                    itemModel.Slika           = item.Slika;
                    itemModel.Opis            = item.Opis;
                    itemModel.KategorijaNaziv = item.Kategorija.Naziv;
                    bucketItemsModel.BucketItems.Add(itemModel);
                }
            }

            return(View(bucketItemsModel));
        }