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)); }
// 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; }
public RentCartController(IRentItem rentItem, RentCart rentCart) { _rentItem = rentItem; _rentCart = rentCart; }
public OrderController(IOrder order, RentCart rentCart) { this._Order = order; this._RentCart = rentCart; }