public ActionResult CartSummary() { var cart = ShoppingCartRepository.GetCart(this.HttpContext); ViewData["CartCount"] = cart.GetCount(); return(PartialView("CartSummary")); }
public ActionResult RemoveFromCart(int id) { // Remove the item from the cart var cart = ShoppingCartRepository.GetCart(this.HttpContext); string cartIds = cart.GetCartId(); string productName = repositoryCart.GetFirstOrDefault(id).tblProduct.ProductName; // Get the name of the product to display confirmation //string productName = uow.GetRepositoryInstance<tblCart>().GetProduct().DistinctBy(id).tblProduct.ProductName; // Remove from cart int itemCount = cart.RemoveFromCart(cartIds, id); // Display the confirmation message var results = new ShoppingCartRemoveViewModel { Message = Server.HtmlEncode(productName) + " has been removed from your shopping cart.", CartTotal = cart.GetTotal(), CartCount = cart.GetCount(), ItemCount = itemCount, DeleteId = id }; return(Json(results)); }
public async Task <ActionResult> AddressAndPayment() { Console.WriteLine("AddresPaymet - New Order"); var user = await _userManager.GetUserAsync(HttpContext.User); var cart = ShoppingCartRepository.GetCart(HttpContext); var CartId = SessionHelper.GetShoppingCartId(HttpContext); var items = cart.GetCartItems(CartId); Order order = new Order(); decimal total = 0; foreach (var item in items.CartItems) { total += item.GetAlbum().Price; } order.Total = total; // check to migrate CheckCartId(user.UserName); if (user != null) { order.Email = user.Email; order.Username = user.UserName; order.Phone = user.PhoneNumber; } return(View(order)); }
public ActionResult AddressAndPayment(Order orderVM) { Console.WriteLine("AddresPaymet - Checking model state"); if (ModelState.IsValid) { var cart = ShoppingCartRepository.GetCart(HttpContext); var order = cart.CreateOrder(orderVM); if (order != null) { Console.WriteLine("AddresPaymet - Created with OrderId: " + order.OrderId); return(RedirectToAction("Complete", new { id = order.OrderId })); } else { Console.WriteLine("AddresPaymet - Order Rejected, check API logs"); return(Ok(orderVM)); } } else { Console.WriteLine("AddresPaymet - Invalid Model"); return(Ok(orderVM)); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <DataContext>(x => x.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")) .ConfigureWarnings(warnings => { warnings.Ignore(CoreEventId.IncludeIgnoredWarning); })); services.AddCors(); services.AddMvc(options => { var jsonInputFormatter = options.InputFormatters.OfType <JsonInputFormatter>().First(); jsonInputFormatter.SupportedMediaTypes.Add("multipart/form-data"); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddMemoryCache(); services.AddSession(); services.AddAutoMapper(); services.AddScoped <ICakeRepository, CakeRepository>(); services.AddScoped <IUnitOfWork, UnitOfWork>(); services.AddScoped <ICategoryRepository, CategoryRepository>(); services.AddScoped <IAuthRepository, AuthRepository>(); services.AddScoped <IUserRepository, UserRepository>(); services.AddScoped <IShoppingCartRepository, ShoppingCartRepository>(); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddScoped <IPhotoRepository, PhotoRepository>(); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(sp => ShoppingCartRepository.GetCart(sp)); }
public IActionResult RemoveFromCart([FromBody] CartDeleteViewModel c) { Console.WriteLine("ShoppingCart RemoveFromCart, Id: " + c.ShoppingCartId); // Remove the item from the cart var cart = ShoppingCartRepository.GetCart(storeDB); // Get the name of the album to display confirmation var record = storeDB.Carts .Single(item => item.RecordId == c.RecordId); Console.WriteLine("AlbumId: " + record.AlbumId); var albumName = new AlbumRepository(storeDB).Get(record.AlbumId).Title; Console.WriteLine("Album title: " + albumName); // Remove from cart int itemCount = cart.RemoveFromCart(c); Console.WriteLine("ShoppingCart Controller, itemCount: " + itemCount); // Display the confirmation message var results = new ShoppingCartRemoveViewModel { Message = albumName + " has been removed from your shopping cart.", CartTotal = cart.GetTotal(c.ShoppingCartId), CartCount = cart.GetCount(c.ShoppingCartId), ItemCount = itemCount, DeleteId = c.RecordId }; return(Json(results)); }
public ActionResult RemoveFromCart(int id) { // Remove the item from the cart Console.WriteLine("ShoppingCartsController - RemoveFromCart, RecordId: " + id); var cart = ShoppingCartRepository.GetCart(HttpContext); return(Json(cart.RemoveFromCart(id))); }
public void MigrateShoppingCart(string UserName) { //Associate shopping cart items with logged-in user var cart = ShoppingCartRepository.GetCart(this.HttpContext); cart.MigrateCart(UserName); Session[ShoppingCartRepository.CartSessionKey] = UserName; }
public IActionResult MigrateCart([FromBody] MigrateCardViewModel model) { var cart = ShoppingCartRepository.GetCart(storeDB); cart.MigrateCart(model); return(Ok()); }
public void AddToCart(int id, int qty) { var cart = ShoppingCartRepository.GetCart(this.HttpContext); cart.AddToCart(unitOfWork.AlbumRepository.GetByID(id), qty); TempData["AddToCart"] = string.Format("You added {0} of {1} to your cart", qty, unitOfWork.AlbumRepository.GetByID(id).Title); }
public ActionResult CartSummary() { var cart = ShoppingCartRepository.GetCart(this.HttpContext); ViewBag.CartItems = cart.GetNumberOfCartItems(); return(PartialView("_CartSummary")); }
public IActionResult AddToCart([FromBody] CartViewModel c) { Console.WriteLine("ShoppingCart AddToCard, Id: " + c.CartId); var cart = ShoppingCartRepository.GetCart(storeDB); var result = cart.AddToCart(c); Console.WriteLine(result); // Go back to the main store page for more shopping return(Ok(result)); }
// GET: ShoppingCart public ActionResult Index() { var cart = ShoppingCartRepository.GetCart(HttpContext); var CartId = SessionHelper.GetShoppingCartId(HttpContext); Console.WriteLine("ShoppingCartsController Index - CartId: " + CartId); var items = cart.GetCartItems(CartId); // Return the view return(View(items)); }
public void borrarSesionCarrito() { var cart = ShoppingCartRepository.GetCart(HttpContext); var CartId = SessionHelper.GetShoppingCartId(HttpContext); var items = cart.GetCartItems(CartId); foreach (var item in items.CartItems) { this.RemoveFromCart(item.RecordId); } }
// GET: ShoppingCart public ActionResult Index() { var cart = ShoppingCartRepository.GetCart(this.HttpContext); var model = new ShoppingCartViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal() }; return(View(model)); }
private void CheckCartId(string UserName) { Console.WriteLine("Checking CartId"); var currentCartId = SessionHelper.GetShoppingCartId(HttpContext); if (currentCartId != UserName) { SessionHelper.SetShoppingCartId(HttpContext, UserName); var cart = ShoppingCartRepository.GetCart(HttpContext); cart.MigrateCart(currentCartId, UserName); } }
public decimal UpdateQuantity(int id, int qty) { var cart = ShoppingCartRepository.GetCart(this.HttpContext); cart.UpdateCart(unitOfWork.AlbumRepository.GetByID(id), qty); var model = new ShoppingCartViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal() }; return(model.CartTotal); }
// // GET: /ShoppingCart/AddToCart/5 public ActionResult AddToCart(int id) { // Retrieve the product from the database //var addedProduct = repositoryProduct.GetProduct().Single(product => product.ID == id); var addedProduct = repositoryProduct.GetFirstOrDefault(id); // Add it to the shopping cart var cart = ShoppingCartRepository.GetCart(this.HttpContext); cart.AddToCart(addedProduct); // Go back to the main product page for more shopping return(RedirectToAction("Index", "Home")); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); //services.AddDbContext<ApplicationDbContext>(options => // options.UseSqlServer( // Configuration.GetConnectionString("DefaultConnection"))); //services.AddDefaultIdentity<IdentityUser>() // .AddRoles<IdentityRole>() // .AddEntityFrameworkStores<ApplicationDbContext>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); //services.AddMvc(); services.AddScoped <ICosmeticsRepository, CosmeticsRepository>(); services.AddScoped <ICosmeticsTypeRepository, CosmeticTypeRepository>(); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddScoped <IUnitOfWork, UnitOfWork>(); services.AddScoped <IShoppingCart>(sp => ShoppingCartRepository.GetCart(sp)); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddDbContext <DataContext>(ctx => { ctx.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")); }); services.AddAutoMapper(); services.AddMemoryCache(); services.AddIdentity <IdentityUser, IdentityRole>(options => { options.User.RequireUniqueEmail = true; options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; options.Password.RequireUppercase = false; }) .AddEntityFrameworkStores <DataContext>() .AddDefaultTokenProviders(); //services.AddIdentity<IdentityUser, IdentityRole>().AddEntityFrameworkStores<DataContext>().AddDefaultTokenProviders(); services.AddSession(); services.ConfigureApplicationCookie(options => { options.LoginPath = "/Account/Login"; options.AccessDeniedPath = "/Account/AccessDenied"; }); }
public decimal RemoveItem(int id) { var cart = ShoppingCartRepository.GetCart(this.HttpContext); cart.RemoveFromCart(id); var model = new ShoppingCartViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal() }; return(model.CartTotal); }
// // GET: /ShoppingCart/ public ActionResult Index() { var cart = ShoppingCartRepository.GetCart(this.HttpContext); var viewmodel = new ShoppingCartViewModel { CartItems = cart.GetCartItem(), CartTotal = cart.GetCount(), Amount = cart.GetTotal() }; //string.Format("{0:F2}", viewmodel.CartTotal); List <tblCart> shCart = viewmodel.CartItems; Session["cart"] = shCart; ViewBag.CartItemsSum = viewmodel.CartTotal; string paymentAmt = viewmodel.Amount.ToString(); Session["payment_amt"] = paymentAmt; string name; decimal?eachPrice; int? quantity; int? prodID; foreach (var item in shCart) { name = item.tblProduct.ProductName; eachPrice = item.tblProduct.Price; quantity = item.Count; prodID = item.ProductId; Session["eachprodprice"] = eachPrice; Session["name"] = name; Session["quantity"] = quantity; Session["productID"] = prodID; } //IEnumerable<decimal?> totPriceOfEachProd += eachPrice //IEnumerable<string> name = cart.GetProduct().Select(x => x.tblProduct.ProductName); //List<tblCart> shCart = viewmodel.CartItems; //IEnumerable<int?> quantity = cart.GetProduct().Select(x => x.tblProduct.Quantity); return(View(viewmodel)); }
public IActionResult Index(string ShoppingCartId) { Console.WriteLine("ShoppingCart Index, Id: " + ShoppingCartId); var cart = ShoppingCartRepository.GetCart(storeDB); // Set up our ViewModel var viewModel = new ShoppingCartViewModel { CartItems = cart.GetCartItems(ShoppingCartId), CartTotal = cart.GetTotal(ShoppingCartId) }; // Return the view return(Ok(viewModel)); }
// // GET: /Store/AddToCart/5 public ActionResult AddToCart(int id) { Console.WriteLine("ShoppingCartsController AddTocard - AlbumId: " + id.ToString()); // Retrieve the album from the database var albumRepo = new AlbumRepository(); var album = albumRepo.Get(id); if (album != null) { var cart = ShoppingCartRepository.GetCart(HttpContext); cart.AddToCart(album); } // Go back to the main store page for more shopping return(RedirectToAction("Index", "Home")); }
// GET: Checkout public ActionResult Index() { var cart = ShoppingCartRepository.GetCart(this.HttpContext); order.InitializeOrder(cart, User.Identity, this); var model = new CheckoutModel { OrderId = order.GetOrderId(this.HttpContext), OrderDetails = order.GetOrderDetails(order.GetOrderId(this.HttpContext)) }; model.CartTotal = model.OrderDetails.Sum(o => o.UnitPrice * o.Quantity); return(View(model)); }
public ActionResult Create(Order order) { if (ModelState.IsValid) { order.CustomerId = User.Identity.GetUserId(); order.Date = DateTime.Now.ToShortDateString(); order.Status = Status.Pending; orderRepository.Add(order); var cart = shoppingCartRepository.GetCart(User.Identity.GetUserId()); orderRepository.CreateOrder(cart, order); return(RedirectToAction("/Details/" + order.Id)); } return(RedirectToAction("Details", "ShoppingCarts")); }
// 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) { if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Production") { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("AzureDBContext"))); } else { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("AppDBContext"))); } services.AddIdentity <ApplicationUser, IdentityRole>().AddEntityFrameworkStores <AppDbContext>(); services.ConfigureApplicationCookie(options => { options.LoginPath = $"/Identity/Account/Login"; options.LogoutPath = $"/Identity/Account/Logout"; options.AccessDeniedPath = $"/Manage/Account/AccessDenied"; }); services.AddScoped <ICategoryRepository, CategoryRepository>(); services.AddScoped <IProductRepository, ProductRepository>(); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddScoped <ShoppingCartRepository>(sp => ShoppingCartRepository.GetCart(sp)); services.AddHttpContextAccessor(); //Claims-based services.AddTransient <IAuthorizationHandler, AgeHandler>(); services.AddAuthorization(options => { //options.AddPolicy("AdministratorOnly", policy => policy.RequireRole("Administrator")); options.AddPolicy("CreateCategoryPolicy", policy => policy.RequireClaim("Create Category", "Create Category")); options.AddPolicy("EditCategoryPolicy", policy => policy.RequireClaim("Edit Category", "Edit Category")); options.AddPolicy("DeleteCategoryPolicy", policy => policy.RequireClaim("Edit Category", "Edit Category") .RequireClaim("Delete Category", "Delete Category")); options.AddPolicy("AgeLimit", policy => policy.Requirements.Add(new AgeRequirement(AuthorizationConstants.Policies.MINIMUM_ORDER_AGE))); }); services.AddSession(); services.AddControllersWithViews(); services.AddRazorPages(); }
public IActionResult AddressAndPayment([FromBody] OrderFormViewModel model) { var order = model.order; order.Username = model.shoppingCartId; order.OrderDate = DateTime.Now; Console.WriteLine("AddresPayment - ShoppingCartId: " + model.shoppingCartId); //Save Order storeDB.Orders.Add(order); storeDB.SaveChanges(); //Process the order var cart = ShoppingCartRepository.GetCart(storeDB); cart.CreateOrder(order); Console.WriteLine("AddresPayment - OrderId: " + order.OrderId); return(Ok(order)); }
// 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) { //services.AddScoped<ICategoryRepository, MockCategoryRepository>(); //services.AddScoped<IPieRepository, MockPieRepository>(); services.AddScoped <ICategoryRepository, CategoryRepository>(); services.AddScoped <IPieRepository, PieRepository>(); services.AddScoped <IShoppingCartRepository>(sp => ShoppingCartRepository.GetCart(sp)); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddDefaultIdentity <IdentityUser>().AddEntityFrameworkStores <BethanysPieShopDbContext>(); services.AddRazorPages(); services.AddHttpContextAccessor(); services.AddSession(); services.AddDbContext <BethanysPieShopDbContext>(options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"))); services.AddControllersWithViews(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(option => option.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <ApplicationUser, IdentityRole>(options => { options.Password.RequiredLength = 8; options.Password.RequireNonAlphanumeric = true; options.Password.RequireUppercase = true; options.User.RequireUniqueEmail = true; }).AddEntityFrameworkStores <AppDbContext>(); services.AddScoped <IInventoryRepository, InventoryRepository>(); services.AddScoped <IShoppingCartRepository>(sp => ShoppingCartRepository.GetCart(sp)); services.AddScoped <IOrderRepository, OrderRepository>(); services.AddScoped <IEmailSender, EmailSender>(); services.AddControllersWithViews(); services.AddHttpContextAccessor(); services.AddSession(); services.AddRazorPages(); }
// 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) { services.AddDirectoryBrowser(); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddDefaultIdentity <AppUser>(options => { options.Password.RequiredLength = 8; options.Password.RequireDigit = false; options.Password.RequireUppercase = false; options.Password.RequiredUniqueChars = 0; options.Password.RequireNonAlphanumeric = false; options.User.RequireUniqueEmail = true; options.SignIn.RequireConfirmedEmail = true; options.SignIn.RequireConfirmedAccount = true; options.Tokens.EmailConfirmationTokenProvider = "emailconfirmation"; }) .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders() .AddTokenProvider <EmailConfirmationTokenProvider <AppUser> >("emailconfirmation"); //services.AddIdentityCore<IdentityUser<Guid>, IdentityRole<Guid>>().AddEntityFrameworkStores<AppDbContext>(); services.Configure <DataProtectionTokenProviderOptions>(options => options.TokenLifespan = TimeSpan.FromHours(4)); services.Configure <MailSettings>(Configuration.GetSection("MailSettings")); services.AddTransient <IBookRepository, BookRepository>(); services.AddTransient <IOrderRepository, OrderRepository>(); services.AddScoped <ShoppingCartRepository>(sp => ShoppingCartRepository.GetCart(sp)); services.AddTransient <IEmailService, EmailService>(); services.AddHttpContextAccessor(); services.AddSession(); services.AddControllersWithViews(); services.AddRazorPages(); }