Esempio n. 1
0
 public ActionResult DeleteCard(int id, string returnUrl)
 {
     using (var db = new MKContext())
     {
         var user = db.GetUserProfile(User.Identity.Name);
         var card = db.CardDetailsSet.Find(id);
         if (card == null)
         {
             return(HttpNotFound());
         }
         if (!user.CardDetailsSet.Any(i => i.Id == id))
         {
             return(HttpNotFound());
         }
         db.CardDetailsSet.Remove(card);
         db.SaveChanges();
         if (user.DefaultCardId == id)
         {
             if (db.CardDetailsSet.Count() != 0)
             {
                 user.DefaultCardId = db.CardDetailsSet.First().Id;
             }
             else
             {
                 user.DefaultCardId = null;
             }
             db.SaveChanges();
         }
     }
     return(RedirectToLocal(returnUrl));
 }
Esempio n. 2
0
        /// <summary>
        /// 未完成
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Download(int id)
        {
            Item item = db.Items.Find(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            if (db.GetUserProfile(User.Identity.Name).UserData.OwnedDigitalItems.Any(i => i.ItemId == id))
            {
                if (item.IsAlbum)
                {
                    return(RedirectToAction("Details", new { id = id }));
                }
                else
                {
                    if (item.DLUrl != MKContextHelper.NoData)
                    {
                        //application/octet-stream 二进制数据流
                        return(File(item.DLUrl, "application/octet-stream", string.Format("{0}-{1}{2}", item.Album.ItemName, item.ItemName, Path.GetExtension(item.DLUrl))));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "The download server has some trouble.";
                        ModelState.AddModelError("", ViewBag.ErrorMessage);
                        return(View());
                    }
                }
            }
            return(RedirectToAction("Index", "OwnedDigitalItem"));
        }
Esempio n. 3
0
 public ActionResult DeleteAddress(int id, string returnUrl)
 {
     using (var db = new MKContext())
     {
         var user    = db.GetUserProfile(User.Identity.Name);
         var address = db.AddressBooks.Find(id);
         if (address == null)
         {
             return(HttpNotFound());
         }
         if (!user.AddressBooks.Any(i => i.Id == id))
         {
             return(HttpNotFound());
         }
         db.AddressBooks.Remove(address);
         db.SaveChanges();
         if (user.DefaultAddressId == id)
         {
             if (db.AddressBooks.Count() != 0)
             {
                 user.DefaultAddressId = db.AddressBooks.First().Id;
             }
             else
             {
                 user.DefaultAddressId = null;
             }
             db.SaveChanges();
         }
     }
     return(RedirectToLocal(returnUrl));
 }
Esempio n. 4
0
        //-----------------------------

        public ActionResult ModifyAvatar(string returnUrl)
        {
            ViewBag.ReturnUrl = returnUrl;
            using (var db = new MKContext())
            {
                ViewBag.AvatarUrl = db.GetUserProfile(User.Identity.Name).AvatarUrl;
                return(View());
            }
        }
Esempio n. 5
0
            public DatabaseInitializer()
            {
                try
                {
                    using (var context = new MKContext())
                    {
                        if (context.GetUserProfile("meno") == null)
                        {
                            var user = new UserProfile(context)
                            {
                                Email = "*****@*****.**", UserName = "******"
                            };
                            context.SaveChanges();

                            if (!WebSecurity.Initialized)
                            {
                                WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "Id", "UserName", autoCreateTables: true);
                            }
                            WebSecurity.CreateAccount(user.UserName, "111111");

                            Roles.CreateRole("Admin");
                            Roles.CreateRole("Master");

                            Roles.AddUserToRoles(user.UserName, Roles.GetAllRoles());

                            user = new UserProfile(context)
                            {
                                Email = "*****@*****.**", UserName = "******"
                            };
                            context.SaveChanges();
                            WebSecurity.CreateAccount(user.UserName, "111111");
                            Roles.AddUserToRole(user.UserName, "admin");
                        }

                        if (!context.Database.Exists())
                        {
                            // 创建不包含 Entity Framework 迁移架构的 SimpleMembership 数据库
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                        }
                    }

                    if (!WebSecurity.Initialized)
                    {
                        WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "Id", "UserName", autoCreateTables: true);
                    }
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("无法初始化 ASP.NET 数据库。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }
Esempio n. 6
0
        public ActionResult Pay()
        {
            var cart = db.GetUserProfile(User.Identity.Name).UserData.ShoppingCart;

            if (cart.ItemSets.Count == 0)
            {
                return(RedirectToAction("Manage", "ShoppingCart"));
            }

            if (cart.UserData.UserProfile.DefaultAddress == null && cart.UserData.UserProfile.AddressBooks.Count == 0)
            {
                return(RedirectToAction("AddAddress", "Account", new { returnUrl = Request.Url.AbsolutePath }));
            }

            if (cart.UserData.UserProfile.DefaultCard == null)
            {
                if (cart.UserData.UserProfile.CardDetailsSet.Count == 0)
                {
                    return(RedirectToAction("AddCard", "Account", new { returnUrl = Request.Url.AbsolutePath }));
                }
            }
            return(View(cart));
        }
Esempio n. 7
0
        public ActionResult ModifyAvatar(HttpPostedFileBase image, string returnUrl)
        {
            if (image.Empty())
            {
                ViewBag.ErrorMessage = "No image upload.";
                ModelState.AddModelError("", ViewBag.ErrorMessage);
                return(ModifyAvatar(returnUrl));
            }
            //保存图片
            using (var db = new MKContext())
            {
                this.SaveFile(image, db.GetUserProfile(User.Identity.Name).Id, "Image/Avatar");
            }

            return(RedirectToLocal(returnUrl));
        }
Esempio n. 8
0
 public ActionResult ModifyAddress(int id, string returnUrl)
 {
     ViewBag.ReturnUrl = returnUrl;
     using (var db = new MKContext())
     {
         var address = db.AddressBooks.Find(id);
         if (address == null)
         {
             return(HttpNotFound());
         }
         //非法访问
         if (!db.GetUserProfile(User.Identity.Name).AddressBooks.Any(i => i.Id == id))
         {
             return(HttpNotFound());
         }
         return(View(address));
     }
 }
Esempio n. 9
0
 public ActionResult SetDefaultCard(int id, string returnUrl)
 {
     using (var db = new MKContext())
     {
         var card = db.CardDetailsSet.Find(id);
         if (card == null)
         {
             return(HttpNotFound());
         }
         var user = db.GetUserProfile(User.Identity.Name);
         //非法访问
         if (!user.CardDetailsSet.Any(i => i.Id == id))
         {
             return(HttpNotFound());
         }
         user.DefaultCardId = card.Id;
         db.SaveChanges();
     }
     return(RedirectToLocal(returnUrl));
 }
Esempio n. 10
0
 public ActionResult SetDefaultAddress(int id, string returnUrl)
 {
     using (var db = new MKContext())
     {
         var address = db.AddressBooks.Find(id);
         if (address == null)
         {
             return(HttpNotFound());
         }
         var user = db.GetUserProfile(User.Identity.Name);
         //非法访问
         if (!user.AddressBooks.Any(i => i.Id == id))
         {
             return(HttpNotFound());
         }
         user.DefaultAddressId = address.Id;
         db.SaveChanges();
     }
     return(RedirectToLocal(returnUrl));
 }
Esempio n. 11
0
 public ActionResult AddCard(CardDetails model, string returnUrl)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     using (var db = new MKContext())
     {
         var user = db.GetUserProfile(User.Identity.Name);
         user.CardDetailsSet.Add(model);
         model.UserProfile = user;
         //先保存数据,model的Id会进行更改
         db.SaveChanges();
         if (user.DefaultCard == null)
         {
             user.DefaultCardId = model.Id;
         }
         db.SaveChanges();
     }
     return(RedirectToLocal(returnUrl));
 }
Esempio n. 12
0
        //
        // GET: /OwnedDigitalItem/

        public ActionResult Index(int?page)
        {
            return(View(db.GetUserProfile(User.Identity.Name).UserData.OwnedDigitalItems.ToPagedList(page ?? 1, ViewConfig.OwnedDigitalItemPageListCount)));
        }
Esempio n. 13
0
        //
        // GET: /ShoppingCart/

        public ActionResult Manage()
        {
            return(View(db.GetUserProfile(User.Identity.Name).UserData.ShoppingCart));
        }
Esempio n. 14
0
        //
        // GET: /Order/

        public ActionResult List(int?page)
        {
            return(View(db.GetUserProfile(User.Identity.Name).UserData.Orders.ToPagedList(page ?? 1, ViewConfig.OrderPageListCount)));
        }