public ActionResult AddOrder() { // Remove the item from the cart var cart = ShoppingCart.GetCart(this.HttpContext); var lstItems = cart.GetCartItems(); if (lstItems.Count > 0) { var order = new Order(); var oUser = new SmartMarket.Web.Business.User(); long userId = oUser.GetUserId(User.Identity.Name); var oCustomer = db.Customers.SingleOrDefault(c => c.UserId == userId); if (oCustomer != null) { order.CustomerId = oCustomer.Id; order.OrderDate = DateTime.Now; order = db.Orders.Add(order); db.SaveChanges(); if (cart.CreateOrder(order) == order.Id) { return (Json(new { success = true, Message = "Order has been added successfully", OrderId = order.Id })); } db.Orders.Remove(order); db.SaveChanges(); return(Json(new { success = false, Message = "Unable to add order right now!", OrderId = -1 })); } return(Json(new { success = false, Message = "Not a valid customer", OrderId = -1 })); } return(Json(new { success = false, Message = "The shopping cart is empty!", OrderId = -1 })); }
public void AddToCart(Product album) { // Get the matching cart and album instances var cartItem = db.Carts.SingleOrDefault( c => c.CartId == ShoppingCartId && c.ProductId == album.Id); if (cartItem == null) { // Create a new cart item if no cart item exists cartItem = new Cart { ProductId = album.Id, CartId = ShoppingCartId, Count = 1, DateCreated = DateTime.Now }; db.Carts.Add(cartItem); } else { // If the item does exist in the cart, // then add one to the quantity cartItem.Count++; } // Save changes db.SaveChanges(); }
public IHttpActionResult PlaceOrder([FromBody] OrderModel orderModel) { try { using (SmartMarketDB _db = new SmartMarketDB()) { long userId = orderModel.order.UserId; var singleOrDefault = _db.Customers.Where(c => c.UserId == userId).SingleOrDefault(); if (singleOrDefault != null) { var customerId = singleOrDefault.Id; var order = new Order { CustomerId = customerId }; order = _db.Orders.Add(order); _db.SaveChanges(); foreach (var orderItem in orderModel.order.OrderItems) { orderItem.OrderId = order.Id; orderItem.PricePerItem = _db.Products.SingleOrDefault(p => p.Id == orderItem.ProductId).Price; _db.OrderItems.Add(orderItem); } _db.SaveChanges(); return(Json(new { success = true, Message = "", OrderId = order.Id })); } return(Json(new { success = false, Message = "invalid customer", OrderId = -1 })); } } catch (Exception ex) { return(Json(new { success = false, Message = ex.Message, OrderId = -1 })); } }
public ActionResult Create([Bind(Include = "Id,OrderId,ProductId,Count,PricePerItem")] OrderItem orderItem) { if (ModelState.IsValid) { orderItem.PricePerItem = db.Products.SingleOrDefault(p => p.Id == orderItem.ProductId).Price; var existing = db.OrderItems.Where(oi => oi.OrderId == orderItem.OrderId && oi.ProductId == orderItem.ProductId) .SingleOrDefault(); if (existing != null) { existing.Count += orderItem.Count; existing.PricePerItem = orderItem.PricePerItem; db.Entry(existing).State = EntityState.Modified; } else { orderItem.Id = Guid.NewGuid(); db.OrderItems.Add(orderItem); } db.SaveChanges(); return(Json(new { success = true })); } ViewBag.OrderId = new SelectList(db.Orders, "Id", "Id", orderItem.OrderId); ViewBag.ProductId = new SelectList(db.Products, "Id", "ProductName", orderItem.ProductId); return(PartialView(orderItem)); }
public ActionResult Create([Bind(Include = "Id,CategoryName,Description")] Category category) { if (ModelState.IsValid) { category.Id = Guid.NewGuid(); db.Categories.Add(category); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(category)); }
public ActionResult Create([Bind(Include = "Id,CompanyName,Rate,UserId")] Company company) { if (ModelState.IsValid) { company.Id = Guid.NewGuid(); db.Companies.Add(company); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UserId = new SelectList(db.Users.Where(x => x.UserType == UserType.Company), "Id", "UserName", company.UserId); return(View(company)); }
public ActionResult Create([Bind(Include = "Id,CustomerId,OrderDate,IsDelivered,DeliveredDate")] Order order) { if (ModelState.IsValid) { order.Id = Guid.NewGuid(); order = db.Orders.Add(order); db.SaveChanges(); return(RedirectToAction("Edit", new { Id = order.Id })); } ViewBag.CustomerId = new SelectList(db.Customers.Where(c => c.User.UserType == UserType.Customer), "Id", "Nikename", order.CustomerId); return(View(order)); }
public ActionResult Create([Bind(Include = "Id,UserId,RoleId")] UserRole user_Roles) { if (ModelState.IsValid) { _db.UserRoles.Add(user_Roles); _db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.RoleId = new SelectList(_db.Roles, "ID", "Roles", user_Roles.RoleId); ViewBag.UserId = new SelectList(_db.Users, "ID", "UserName", user_Roles.UserId); return(View(user_Roles)); }
public ActionResult Create([Bind(Include = "Id,Nikename,Gender,UserId")] Customer customer) { if (ModelState.IsValid) { customer.Id = Guid.NewGuid(); db.Customers.Add(customer); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UserId = new SelectList(db.Users.Where(c => c.UserType == UserType.Customer), "Id", "UserName", customer.UserId); return(View(customer)); }
public ActionResult Create([Bind(Include = "Id,SubCategoryName,Description,CategoryId")] SubCategory subCategory) { if (ModelState.IsValid) { subCategory.Id = Guid.NewGuid(); db.SubCategories.Add(subCategory); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CategoryId = new SelectList(db.Categories, "Id", "CategoryName", subCategory.CategoryId); return(View(subCategory)); }
private void SaveChanges(SmartMarketDB context) { try { context.SaveChanges(); } catch (DbEntityValidationException ex) { var sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } throw new Exception( "Entity Validation Failed - errors follow:\n" + sb, ex ); // Add the original exception as the innerException } }
protected bool _CreateUser(User user) { using (var dbContextTransaction = _db.Database.BeginTransaction()) { try { string encodedPassword = TextEncoding.EncodeString(user.Password); user.Password = encodedPassword; user = _db.Users.Add(user); _db.SaveChanges(); string roleName = ""; switch (user.UserType) { case UserType.Company: roleName = "Company"; break; case UserType.Customer: roleName = "Customer"; break; case UserType.EStore: roleName = "Admin"; break; } if (!string.IsNullOrEmpty(roleName)) { var role = _db.Roles.SingleOrDefault(r => r.Roles == roleName); var userRole = new UserRole { Role = role, User = user }; _db.UserRoles.Add(userRole); } _db.SaveChanges(); if (user.UserType == UserType.Customer) { var customer = new Customer { User = user, Gender = Gender.Male, Nikename = user.UserName }; _db.Customers.Add(customer); _db.SaveChanges(); } dbContextTransaction.Commit(); return(true); } catch { dbContextTransaction.Rollback(); } } return(false); }
public ActionResult Create([Bind(Include = "Id,ProductName,Description,SubCategoryId,CompanyId,Price,AvailableStock,Rate,ImageURL")] Product product) { if (ModelState.IsValid) { product.Id = Guid.NewGuid(); db.Products.Add(product); db.SaveChanges(); return(RedirectToAction("Index")); } var companyId = GetUserCompanyId(); if (companyId != Guid.Empty) { ViewBag.CompanyId = new SelectList(db.Companies.Where(c => c.Id == companyId), "Id", "CompanyName", product.CompanyId); } else { ViewBag.CompanyId = new SelectList(db.Companies, "Id", "CompanyName", product.CompanyId); } ViewBag.SubCategoryId = new SelectList(db.SubCategories, "Id", "SubCategoryName", product.SubCategoryId); return(View(product)); }
//[System.Web.Http.HttpPost] public IHttpActionResult Signup([FromBody] BusinessEntities.User user) { using (SmartMarketDB _db = new SmartMarketDB()) { using (var dbContextTransaction = _db.Database.BeginTransaction()) { try { string encodedPassword = TextEncoding.EncodeString(user.Password); user.Password = encodedPassword; user = _db.Users.Add(user); _db.SaveChanges(); string roleName = ""; switch (user.UserType) { case UserType.Company: roleName = "Company"; break; case UserType.Customer: roleName = "Customer"; break; case UserType.EStore: roleName = "Admin"; break; } if (!string.IsNullOrEmpty(roleName)) { var role = _db.Roles.SingleOrDefault(r => r.Roles == roleName); var userRole = new UserRole { Role = role, User = user }; _db.UserRoles.Add(userRole); } _db.SaveChanges(); if (user.UserType == UserType.Customer) { var customer = new Customer { User = user, Gender = Gender.Male, Nikename = user.UserName }; _db.Customers.Add(customer); _db.SaveChanges(); } dbContextTransaction.Commit(); Business.User _user = new Business.User(); return(Json(new { success = true, Message = "", UserId = _user.GetUserId(user.UserName) })); } catch (Exception ex) { dbContextTransaction.Rollback(); return(Json(new { success = false, Message = ex.Message + ex.StackTrace, UserId = -1 })); } } } }