Esempio n. 1
0
        public JsonResult AddMovieToCart(string MovieId, string moviename)
        {
            if (!string.IsNullOrEmpty(MovieId))
            {
                bool available = db.Movies.Where(x => x.ImdbID == MovieId).FirstOrDefault().InStock > 0;

                if (!available)
                {
                    return(Json(new { result = "unavailable", moviename }, JsonRequestBehavior.AllowGet));
                }

                var userId = User.Identity.GetUserId();

                var alreadyRented = db.RentedMovies.Where(x => x.UserId == userId).Any(x => x.MovieImdbId == MovieId);

                if (alreadyRented)
                {
                    return(Json(new { result = "inRent", moviename }, JsonRequestBehavior.AllowGet));
                }

                var alreadyReserved = db.ReservedMovies.Where(x => x.UserId == userId).Any(x => x.MovieImdbId == MovieId);

                if (alreadyReserved)
                {
                    return(Json(new { result = "inReserve", moviename }, JsonRequestBehavior.AllowGet));
                }

                var alreadyInCart = db.RentCarts.Where(x => x.UserId == userId).Any(x => x.ImdbID == MovieId);

                if (alreadyInCart)
                {
                    return(Json(new { result = "inCart", moviename }, JsonRequestBehavior.AllowGet));
                }

                var movie = new RentCart
                {
                    Id        = Guid.NewGuid(),
                    ImdbID    = MovieId,
                    DateAdded = DateTime.Now,
                    UserId    = userId
                };

                db.RentCarts.Add(movie);
                db.SaveChanges();

                int moviecount = (int)Session["CartMovieCount"] + 1;
                Session["CartMovieCount"] = moviecount;

                return(Json(new { moviecount, moviename }, JsonRequestBehavior.AllowGet));
            }

            return(Json(false, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            // Through Mocks
            //services.AddTransient<ICategory,MockCategory>();
            //services.AddTransient<IRentItem,MockRentItem>();

            // Through Repository
            services.AddDbContext <AppDbContent>(options => options.UseSqlServer(_confString.GetConnectionString("DefaultConnection")));
            services.AddTransient <ICategory, CategoryRepository>();
            services.AddTransient <IRentItem, RentItemRepository>();
            services.AddTransient <IOrder, OrderRepository>();

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddScoped(sp => RentCart.GetCart(sp));

            services.AddMvc();
            services.AddMemoryCache();
            services.AddSession();
        }
 public OrderRepository(AppDbContent appDbContent, RentCart rentCart)
 {
     this._AppDbContent = appDbContent;
     this._RentCart     = rentCart;
 }
Esempio n. 4
0
 public RentCartController(IRentItem rentItem, RentCart rentCart)
 {
     _rentItem = rentItem;
     _rentCart = rentCart;
 }
Esempio n. 5
0
 public OrderController(IOrder order, RentCart rentCart)
 {
     this._Order    = order;
     this._RentCart = rentCart;
 }