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 }));
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 11
0
        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
            }
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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));
        }
Exemplo n.º 14
0
        //[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 }));
                    }
                }
            }
        }