예제 #1
0
        private void FillDropDownValues()
        {
            var    context = new ZderkoDbContext();
            string userId  = System.Web.HttpContext.Current.User.Identity.GetUserId();
            IEnumerable <Restaurant> possibleRestaurants = context.Restaurants
                                                           .ToList().Where(r => r.UserId == userId);

            var selectItems = new List <System.Web.Mvc.SelectListItem>();

            //Polje je opcionalno
            var listItem = new SelectListItem();

            listItem.Text  = "- odaberite -";
            listItem.Value = "";
            selectItems.Add(listItem);

            foreach (var restaurant in possibleRestaurants)
            {
                listItem          = new SelectListItem();
                listItem.Text     = restaurant.Name;
                listItem.Value    = restaurant.ID.ToString();
                listItem.Selected = false;
                selectItems.Add(listItem);
            }
            ViewBag.PossibleRestaurants = selectItems;
        }
예제 #2
0
        public ActionResult Delete(int id)
        {
            var        context = new ZderkoDbContext();
            Restaurant result  = context.Restaurants.Find(id);

            string userId = System.Web.HttpContext.Current.User.Identity.GetUserId();

            if (result.UserId != userId)
            {
                return(Json(new { result = "failure" }));
            }

            context.Entry(result.Address).State = System.Data.Entity.EntityState.Deleted;

            foreach (var order in result.Orders.ToList())
            {
                context.Orders.Remove(order);
            }

            foreach (var dish in result.Dishes.ToList())
            {
                context.Dishes.Remove(dish);
            }

            context.Entry(result).State = System.Data.Entity.EntityState.Deleted;

            context.SaveChanges();

            context.Dispose();

            return(Json(new { result = "success" }));
        }
예제 #3
0
        public void AddToCart(int dishId, string userName, int restaurantId)
        {
            var context = new ZderkoDbContext();
            var order   = context.Orders.Include(o => o.User).ToList().SingleOrDefault(o => o.User.UserName == userName);

            if (order == null)
            {
                var newOrder = new Order()
                {
                    Dishes          = new List <Dish>(),
                    MethodOfPayment = context.MethodsOfPayment.Find(1),
                    OrderNumber     = context.Orders.Count() + 1,
                    OrderTime       = DateTime.Now,
                    Restaurant      = context.Restaurants.Find(restaurantId),
                    User            = context.Users.ToList().SingleOrDefault(u => u.UserName == userName)
                };
                var food = context.Dishes.Find(dishId);
                newOrder.Dishes.Add(food);
                context.Orders.Add(newOrder);
            }
            else
            {
                var dish = context.Dishes.Find(dishId);
                order.Dishes.Add(dish);

                context.Orders.AddOrUpdate(order);
            }
            context.SaveChanges();
            context.Dispose();
        }
예제 #4
0
        public void Put([FromBody] Order data)
        {
            var context = new ZderkoDbContext();

            context.Orders.AddOrUpdate(data);
            context.SaveChanges();
            context.Dispose();
        }
예제 #5
0
        public ActionResult Index()
        {
            var context = new ZderkoDbContext();
            List <Restaurant> restaurants = context.Restaurants.Include(r => r.Address).ToList();

            context.Dispose();
            return(View(restaurants));
        }
예제 #6
0
        // PUT: api/DishData/5
        public void Put(int id, [FromBody] Dish data)
        {
            var context = new ZderkoDbContext();

            context.Dishes.AddOrUpdate(data);
            context.SaveChanges();
            context.Dispose();
        }
예제 #7
0
        public ActionResult Index()
        {
            var         context = new ZderkoDbContext();
            List <Dish> Dishes  = context.Dishes.Include(d => d.Restaurant).Include(d => d.Ratings).ToList();

            context.Dispose();
            return(View(Dishes));
        }
예제 #8
0
        public ActionResult IndexAjax()
        {
            var context = new ZderkoDbContext();

            IEnumerable <Dish> dataQuery = context.Dishes.Include(d => d.Restaurant).ToList();

            //context.Dispose();
            return(PartialView("_IndexTable", dataQuery.ToList()));
        }
예제 #9
0
        public ActionResult IndexAjax()
        {
            var context = new ZderkoDbContext();

            IEnumerable <Restaurant> dataQuery = context.Restaurants.Include(c => c.Address).Include(r => r.Dishes).ToList();

            //context.Dispose();
            return(PartialView("_IndexTable", dataQuery.ToList()));
        }
예제 #10
0
        public void Delete(string userName)
        {
            var context = new ZderkoDbContext();
            var result  = context.Orders.Include(o => o.User).ToList().SingleOrDefault(o => o.User.UserName == userName);

            if (result != null)
            {
                context.Entry(result).State = System.Data.Entity.EntityState.Deleted;
            }
            context.SaveChanges();
            context.Dispose();
        }
예제 #11
0
        // DELETE: api/DishData/5
        public void Delete(int id)
        {
            var context = new ZderkoDbContext();
            var result  = context.Dishes.Find(id);

            if (result != null)
            {
                context.Entry(result).State = System.Data.Entity.EntityState.Deleted;
            }
            context.SaveChanges();
            context.Dispose();
        }
예제 #12
0
        public void RemoveFromCart(int dishId, string userName)
        {
            var context = new ZderkoDbContext();
            var order   = context.Orders.Include(o => o.User).ToList().SingleOrDefault(o => o.User.UserName == userName);

            var dish = context.Dishes.Find(dishId);

            order.Dishes.Remove(dish);

            context.Orders.AddOrUpdate(order);
            context.SaveChanges();
            context.Dispose();
        }
예제 #13
0
        public ActionResult Details(int?id = null)
        {
            var context = new ZderkoDbContext();

            if (id == null)
            {
                return(View());
            }

            var model = context.Restaurants.Include(r => r.Address).Include(r => r.User).SingleOrDefault(x => x.ID == id);

            context.Dispose();
            return(View(model));
        }
예제 #14
0
        public ActionResult Dishes(int?restaurantId = null)
        {
            if (restaurantId == null)
            {
                return(View());
            }

            var context = new ZderkoDbContext();

            List <Dish> Dishes = context.Dishes.Include(r => r.Restaurant).Include(r => r.Ratings).Where(d => d.RestaurantId == restaurantId).ToList();

            context.Dispose();
            return(View(Dishes));
        }
예제 #15
0
        public ActionResult Create(Dish dish)
        {
            var context = new ZderkoDbContext();

            if (ModelState.IsValid)
            {
                context.Dishes.Add(dish);

                context.SaveChanges();
                context.Dispose();
                return(RedirectToAction("Index"));
            }

            return(View(dish));
        }
예제 #16
0
        public ActionResult Edit(int id)
        {
            var context = new ZderkoDbContext();
            //this.FillDropDownValues();

            string userId     = System.Web.HttpContext.Current.User.Identity.GetUserId();
            var    restaurant = context.Restaurants.Include(r => r.Address).SingleOrDefault(x => x.ID == id);

            if (restaurant.UserId != userId)
            {
                string model = null;
                return(View(model));
            }

            context.Dispose();
            return(View(restaurant));
        }
예제 #17
0
        public ActionResult EditPost(int id)
        {
            var context = new ZderkoDbContext();
            var result  = context.Restaurants.Find(id);

            var didUpdateModelSucceed = this.TryUpdateModel(result);

            if (didUpdateModelSucceed && ModelState.IsValid)
            {
                context.SaveChanges();
                context.Dispose();
                return(RedirectToAction("Index"));
            }

            //this.FillDropDownValues();

            return(View(result));
        }
예제 #18
0
        public ActionResult Create(Restaurant restaurant)
        {
            var context = new ZderkoDbContext();

            if (ModelState.IsValid)
            {
                string userId = System.Web.HttpContext.Current.User.Identity.GetUserId();

                restaurant.UserId = userId;
                context.Restaurants.Add(restaurant);

                context.SaveChanges();
                context.Dispose();
                return(RedirectToAction("Index"));
            }

            return(View(restaurant));
        }
예제 #19
0
        public ActionResult Delete(int id)
        {
            var    context = new ZderkoDbContext();
            Dish   result  = context.Dishes.Find(id);
            string userId  = System.Web.HttpContext.Current.User.Identity.GetUserId();

            if (result.Restaurant != null)
            {
                if (result.Restaurant.UserId != userId)
                {
                    return(Json(new { result = "failure" }));
                }
            }

            context.Entry(result).State = System.Data.Entity.EntityState.Deleted;

            context.SaveChanges();

            context.Dispose();

            return(Json(new { result = "success" }));
        }
예제 #20
0
        public ActionResult GetByAddressStreet(string streetAddress)
        {
            var context = new ZderkoDbContext();

            if (streetAddress == null || streetAddress.Length == 0)
            {
                var allRestaurants = context.Restaurants.ToList();
                return(View("Index", allRestaurants));
            }

            List <Restaurant> filteredRestaurants = new List <Restaurant>();
            var restaurantList = context.Restaurants.Include(r => r.Address).Include(r => r.User).ToList();

            foreach (var r in restaurantList)
            {
                if (streetAddress.Contains(r.Address.City) || r.Address.City.Contains(streetAddress) || streetAddress.Contains(r.Address.Street) || r.Address.Street.Contains(streetAddress) || streetAddress.Contains(r.Address.HouseNumber) || r.Address.HouseNumber.Contains(streetAddress))
                {
                    filteredRestaurants.Add(r);
                }
            }

            context.Dispose();
            return(View("Index", filteredRestaurants));
        }
예제 #21
0
        public IEnumerable <Dish> Pretraga(string q)
        {
            var context = new ZderkoDbContext();

            return(context.Dishes.ToList().Where(p => p.Name.Contains(q)).ToList());
        }
예제 #22
0
        // GET: api/DishData/5
        public Dish Get(int id)
        {
            var context = new ZderkoDbContext();

            return(context.Dishes.Find(id));
        }
예제 #23
0
        // GET: api/DishData
        public IEnumerable <Dish> Get()
        {
            var context = new ZderkoDbContext();

            return(context.Dishes.ToList());
        }
예제 #24
0
        public Order Get(string userName)
        {
            var context = new ZderkoDbContext();

            return(context.Orders.Include(o => o.User).ToList().SingleOrDefault(o => o.User.UserName == userName));
        }