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)); }
public IActionResult AddResult(NewHeatResult heat) { if (!ModelState.IsValid) { return(RedirectToAction("Index")); } var newHeat = new Heat { Date = DateTime.Now, }; _mkContext.Heats.Add(newHeat); _mkContext.SaveChanges(); var scores = heat.Scores .Where(x => x.Player.HasValue) .Select(x => new HeatScore { PlayerId = _mkContext.Players.Single(p => p.Id == x.Player).Id, Score = x.Points.Value, HeatId = newHeat.Id }) .ToList(); _mkContext.HeatScores.AddRange(scores); _mkContext.SaveChanges(); return(RedirectToAction("Index")); }
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)); }
public ActionResult DeleteItem(int id) { var sets = db.GetUserProfile(User.Identity.Name).UserData.ShoppingCart.ItemSets; var set = sets.Where(s => s.ItemId == id).FirstOrDefault(); //从表中删除 db.ItemSets.Remove(set); db.SaveChanges(); return(RedirectToAction("Manage")); }
public ActionResult Create(Artist artist, HttpPostedFileBase image) { if (ModelState.IsValid) { this.SaveFile(image, artist.Id, "Image/Artist"); db.Artists.Add(artist); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(artist)); }
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); } }
public ActionResult Create(Item item, HttpPostedFileBase image, HttpPostedFileBase audition, HttpPostedFileBase download) { if (ModelState.IsValid) { db.Items.Add(item); db.SaveChanges(); SaveDataEx(item, image, audition, download); return(RedirectToAction("Index")); } ViewBag.AlbumId = new SelectList(db.Items, "Id", "ItemName", item.AlbumId); ViewBag.ArtistId = new SelectList(db.Artists, "Id", "ArtistName", item.ArtistId); ViewBag.CategoryId = new SelectList(db.Categories, "Id", "CategoryName", item.CategoryId); return(View(item)); }
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)); }
public ActionResult ModifyAddress(AddressBook model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } using (var db = new MKContext()) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToLocal(returnUrl)); }
public ActionResult Edit(UserEditModel model) { if (ModelState.IsValid) { db.Entry(model.User).State = EntityState.Modified; db.SaveChanges(); if (model.IsAdmin) { if (!Roles.IsUserInRole(model.User.UserName, "Admin")) { Roles.AddUserToRole(model.User.UserName, "Admin"); } } else { if (Roles.IsUserInRole(model.User.UserName, "Admin")) { Roles.RemoveUserFromRole(model.User.UserName, "Admin"); } } return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult ConfirmPay(int?addressId, int?cardId) { var cart = db.GetUserProfile(User.Identity.Name).UserData.ShoppingCart; //新建订单 var order = new Order() { CreateDate = DateTime.Now, UserData = cart.UserData, ItemRecordSets = new List <ItemRecordSet>() }; db.Orders.Add(order); //将购物车数据添加到订单并生成历史记录 foreach (var set in cart.ItemSets) { var r = new ItemRecord { Item = set.Item, HistoryPrice = set.Price, IsDigital = set.IsDigital }; var rset = new ItemRecordSet { ItemRecord = r, Count = set.Count }; order.ItemRecordSets.Add(rset); } //查找是否数字版,添加到个人拥有的数字列表 foreach (var set in cart.ItemSets) { if (set.IsDigital) { cart.UserData.OwnedDigitalItems.Add(new OwnedDigitalItem { Item = set.Item, UserData = cart.UserData }); } } //清空购物车数据 var list = cart.ItemSets.ToList(); foreach (var item in list) { db.ItemSets.Remove(item); } db.SaveChanges(); return(RedirectToAction("Details", "Order", new { id = order.Id })); }
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)); }
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)); }
public ActionResult Delete(int id = 0) { var userId = db.GetUserProfile(User.Identity.Name).Id; Order order = db.Orders.Where(o => o.UserData.Id == userId && o.Id == id).FirstOrDefault(); if (order == null) { return(HttpNotFound()); } else { //删除对应的购买数量组信息,但保留历史价格记录以便进行统计 var list = order.ItemRecordSets.ToList(); foreach (var item in list) { db.ItemRecordSets.Remove(item); } //删除订单 db.Orders.Remove(order); db.SaveChanges(); } return(RedirectToAction("List")); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { while (true) { using (var db = new MKContext()) { var user = db.UserProfiles.Where(u => u.UserName == model.UserName || u.Email == model.Email).FirstOrDefault(); if (user != null) { ViewBag.ErrorMessage = "Email or username is already exist"; ModelState.AddModelError("", ViewBag.ErrorMessage); break; } model.AddUserProfile(db); db.SaveChanges(); } // 尝试注册用户 try { WebSecurity.CreateAccount(model.UserName, model.Password); WebSecurity.Login(model.UserName, model.Password); return(RedirectToAction("Index", "Home")); } catch (MembershipCreateUserException e) { ViewBag.ErrorMessage = ErrorCodeToString(e.StatusCode); ModelState.AddModelError("", ViewBag.ErrorMessage); } } } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(View(model)); }
public ActionResult RefreshDataCheck() { foreach (var item in db.TroubleDataSet.ToList()) { db.TroubleDataSet.Remove(item); } foreach (var item in db.Artists) { if (string.IsNullOrEmpty(item.Introduction)) { db.TroubleDataSet.Add(TroubleData.Create(item, "Introduction:艺术家建议拥有介绍")); } if (string.IsNullOrEmpty(item.About)) { db.TroubleDataSet.Add(TroubleData.Create(item, "Introduction:艺术家建议拥有About")); } if (item.ImageUrl == MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "Introduction:艺术家建议拥有Image")); } } foreach (var item in db.Items.ToList()) { if (!item.HasDigital && !item.HasEntity) { db.TroubleDataSet.Add(TroubleData.Create(item, "Edition:至少拥有数字版或者实体版")); } if (!item.HasDigital && item.DigitalPrice != 0) { db.TroubleDataSet.Add(TroubleData.Create(item, "Edition:不拥有数字版的商品价格应该为0")); } if (!item.HasEntity && item.Price != 0) { db.TroubleDataSet.Add(TroubleData.Create(item, "Edition:不拥有实体版的商品价格应该为0")); } if (item.HasEntity && !item.IsAlbum) { db.TroubleDataSet.Add(TroubleData.Create(item, "Edition:单曲不能拥有实体版")); } //----------------------------- if (item.IsSingle) { if (item.TrackId == null) { db.TroubleDataSet.Add(TroubleData.Create(item, "TrackId:单曲应该拥有音轨号")); } } else { if (item.TrackId != null) { db.TroubleDataSet.Add(TroubleData.Create(item, "TrackId:非单行曲的专辑不应该拥有音轨号")); } } //----------------------------- if (item.IsAlbum) { if (item.ReleaseDate == null) { db.TroubleDataSet.Add(TroubleData.Create(item, "ReleaseDate:专辑应该拥有发行日期")); } } else { if (item.ReleaseDate != null) { db.TroubleDataSet.Add(TroubleData.Create(item, "ReleaseDate:不应该拥有发行日期")); } } //----------------------------- if (item.IsAlbum) { if (string.IsNullOrEmpty(item.Introduction)) { db.TroubleDataSet.Add(TroubleData.Create(item, "Introduction:专辑建议拥有介绍")); } } else { if (!string.IsNullOrEmpty(item.Introduction)) { db.TroubleDataSet.Add(TroubleData.Create(item, "Introduction:不建议拥有介绍")); } } //----------------------------- if (item.IsAlbum && !item.IsSingleAlbum) { if (item.SongList.Where(s => s.TrackId != null).Select(s => s.TrackId.Value).Distinct().Count() != item.SongList.Count) { db.TroubleDataSet.Add(TroubleData.Create(item, "Album:专辑有重复TrackId")); } if (item.SongList.Max(s => s.TrackId) != item.SongList.Count) { db.TroubleDataSet.Add(TroubleData.Create(item, "Album:Track有缺失")); } } //----------------------------- if (item.IsSingle) { if (item.AuditionUrl == MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "Audition:单曲建议拥有Audition")); } } else { if (item.AuditionUrl != MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "Audition:不建议拥有Audition")); } } //----------------------------- if (item.IsAlbum) { if (item.ImageUrl == MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "Cover:专辑建议拥有Cover")); } } else { if (item.ImageUrl != MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "Cover:不建议拥有Cover")); } } //----------------------------- if (item.IsSingle && item.HasDigital) { if (item.DLUrl == MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "DL:数字版单曲应该拥有DL")); } } else { if (item.DLUrl != MKContextHelper.NoData) { db.TroubleDataSet.Add(TroubleData.Create(item, "DL:不应该拥有DL")); } } //------------ if (!item.IsAlbum) { if (!item.Album.IsAlbum) { db.TroubleDataSet.Add(TroubleData.Create(item, "Album:单曲的专辑不是专辑")); } } } db.SaveChanges(); return(RedirectToAction("DataCheck")); }