public ActionResult MgShopCreate(Shop shop, HttpPostedFileBase[] photos) { //檢查帳號是否重複 if (db.Shops.Any(m => m.Account == shop.Account)) { ModelState["Account"].Errors.Add("此帳號已經有人使用"); } //驗證帳號密碼是否符合規則 UsefulTools.RegisterValidate(shop.Account, ModelState["Account"].Errors.Add, false, false); UsefulTools.RegisterValidate(shop.Password, ModelState["Password"].Errors.Add, true, true); if (ModelState.IsValid) { //填入必要資料 shop.ID = UsefulTools.GetNextID(db.Shops, 1); shop.Password = Hash.PwdHash(shop.Password); shop.AccumulatedHours = 0; db.Shops.Add(shop); db.SaveChanges(); //添加圖片 PhotoManager.Create(shop.ID, photos); return(RedirectToAction("ShopIndex")); } ViewBag.DistrictID = new SelectList(db.Districts, "ID", "DistrictName"); ViewBag.CityID = new SelectList(db.Cities, "ID", "CityName", db.Districts.Find(shop.DistrictID).CityID); ViewBag.AreaScale = new SelectList(new[] { new { Option = "大" }, new { Option = "中" }, new { Option = "小" } }, "Option", "Option"); return(View(shop)); }
public ActionResult PlayerCreate(Player player, string passwordConfirm, int CityID, HttpPostedFileBase photo) { //檢查確認密碼是否輸入正確 if (passwordConfirm != player.Password) { ModelState["Password"].Errors.Add("輸入的密碼和確認密碼不相符"); } //檢查帳號是否重複 if (db.Players.Any(m => m.Account == player.Account)) { ModelState["Account"].Errors.Add("此帳號已經有人使用"); } //檢查帳號及密碼是否符合規則 UsefulTools.RegisterValidate(player.Account, ModelState["Account"].Errors.Add, false, false); UsefulTools.RegisterValidate(player.Password, ModelState["Password"].Errors.Add, true, false); //填入預設值 player.ID = UsefulTools.GetNextID(db.Players, 2); player.Points = 0; player.IsBanned = false; player.IsEmailValid = false; if (ModelState.IsValid) { player.Password = Hash.PwdHash(player.Password); db.Players.Add(player); db.SaveChanges(); //儲存圖片(先將photo變為陣列再傳入) PhotoManager.Create(player.ID, new HttpPostedFileBase[] { photo }); return(RedirectToAction("EmailValidate", "EmailValidate", new { Email = player.Email, id = player.ID })); } ViewBag.CityID = new SelectList(db.Cities, "ID", "CityName", CityID); ViewBag.DistrictID = new SelectList(db.Districts, "ID", "DistrictName", player.DistrictID); return(View(player)); }
//新增玩家測試資料 public string CreatePlayerTestData(int n) { var districts = db.Districts.ToList(); Random r = new Random(); for (int i = 0; i < n; i++) { db.Players.Add(new Player { ID = UsefulTools.GetNextID(db.Players, 2), Account = "testPlayer999", Password = "******", Birthday = DateTime.Today.AddYears(-r.Next(8, 55)), Points = 0, IsBanned = false, IsEmailValid = true, Email = "*****@*****.**", DistrictID = districts[r.Next(0, districts.Count)].ID, Gender = r.Next(0, 2) == 1, NickName = "測試用資料" }); db.SaveChanges(); } return("Success"); }
public ActionResult TagCreate(string TagName, string TagID) { var tag = new Tag { TagName = TagName, ID = UsefulTools.GetNextID(db.Tags.ToList().Where(t => t.ID[0].ToString() == TagID), 1) }; db.Tags.Add(tag); db.SaveChanges(); return(RedirectToAction("_TagList")); }
public ActionResult CreateAnnoun(Announcement ann) { if (ModelState.IsValid) { //填入必要資料 ann.ID = UsefulTools.GetNextID(db.Announcements, 2); ann.AdministratorID = Session["AdminID"].ToString(); ann.AnnouncedDate = DateTime.Today; db.Announcements.Add(ann); db.SaveChanges(); } return(RedirectToAction("AnnouncementIndexForAdmin")); }
//新增優惠券測試資料 public string CreateCouponTestData(string shopID, int n) { var players = db.Players.ToList(); Random r = new Random(); for (int i = 0; i < n; i++) { int limitedAmount = r.Next(10, 30); int exchangedAmount = limitedAmount * r.Next(1, 10) / 10; int usedAmount = exchangedAmount * r.Next(3, 10) / 10; //產生一張優惠券 Coupon coupon = new Coupon { ID = UsefulTools.GetNextID(db.Coupons, 1), BeginDate = DateTime.Parse("2010-10-10"), ExpireDate = DateTime.Parse("2010-10-11"), ShopID = shopID, Content = "測試用資料", IsAvailable = false, PointsRequired = 1, LimitedAmount = limitedAmount }; db.Coupons.Add(coupon); db.SaveChanges(); //產生隨機排序的玩家列表 players = players.OrderBy(p => Guid.NewGuid()).ToList(); //依序兌換及使用優惠券 for (int j = 0; j < exchangedAmount; j++) { //產生優惠券兌換明細 var p = players[j]; var detail = new PlayerCouponDetail { CouponID = coupon.ID, ExchangedDate = DateTime.Parse("2010-10-11"), PlayerID = p.ID, //只使用指定數量 IsUsed = j <= usedAmount }; db.PlayerCouponDetails.Add(detail); } db.SaveChanges(); } return("Success"); }
//新增揪桌測試資料的 public string CreateTeamTestData(string shopID, int n) { Random r = new Random(); var players = db.Players.ToList(); //製造出對應筆數的Team及其相關資料 for (int i = 0; i < n; i++) { //將玩家集合打亂 players = players.OrderBy(p => Guid.NewGuid()).ToList(); string teamID = UsefulTools.GetNextID(db.Teams, 1); int playerAmount = r.Next(2, 11); DateTime playDate = DateTime.Today.AddDays(r.Next(-90, -1)).Date; Team team = new Team { ID = teamID, ShopID = shopID, Title = "測試用資料", MinPlayer = playerAmount, MaxPlayer = playerAmount, EstimatedCost = 0, IsCanceled = false, IsClosed = false, IsConfirmedByShop = true, IsRequestSent = true, LeaderPlayerID = players[0].ID, PlayDate = playDate, ParticipateEndDate = playDate.AddDays(-1), PlayBeginTime = new TimeSpan(8, 0, 0), PlayEndTime = new TimeSpan(10, 0, 0), Notes = "測試用" }; db.Teams.Add(team); db.SaveChanges(); //存入後立刻取出並填入其他玩家資料 Team hotNewTeam = db.Teams.Find(teamID); for (int j = 1; j < playerAmount; j++) { hotNewTeam.OtherPlayers.Add(players[j]); } db.SaveChanges(); } return("Success"); }
public ActionResult OfferCreate(NormalOffer normalOffer, HttpPostedFileBase[] photos) { OfferTimeCheck(normalOffer); if (ModelState.IsValid) { //填入預設值 normalOffer.ID = UsefulTools.GetNextID(db.NormalOffers, 1); normalOffer.ShopID = Session["ShopID"].ToString(); normalOffer.Clicks = 0; db.NormalOffers.Add(normalOffer); db.SaveChanges(); //存入圖片 PhotoManager.Create(normalOffer.ID, photos); return(RedirectToAction("OfferListForShop")); } return(View()); }
public ActionResult AdminCreate(Administrator administrator, string pwdConfirm) { //驗證帳號密碼格式 UsefulTools.RegisterValidate(administrator.Account, msg => ModelState["Account"].Errors.Add(msg), false, false); UsefulTools.RegisterValidate(administrator.Password, msg => ModelState["Password"].Errors.Add(msg), true, false); if (administrator.Password != pwdConfirm) { ModelState.AddModelError("Password", "密碼確認和密碼欄位不相符"); } if (ModelState.IsValid) { administrator.ID = UsefulTools.GetNextID(db.Administrators, 1); db.Administrators.Add(administrator); db.SaveChanges(); return(RedirectToAction("AdminIndex")); } return(View(administrator)); }
public ActionResult CouponCreate(Coupon coupon, HttpPostedFileBase[] photos) { //填入預設值 coupon.ID = UsefulTools.GetNextID(db.Coupons, 1); coupon.ShopID = (string)Session["ShopID"]; coupon.IsAvailable = false; CouponCheck(coupon); if (ModelState.IsValid) { db.Coupons.Add(coupon); db.SaveChanges(); //加入照片 PhotoManager.Create(coupon.ID, photos); return(RedirectToAction("CouponIndexForShop")); } return(View()); }
public ActionResult TeamCreate(Team team, int CityID, int DistrictID) { //檢查報名截止日期是否在現在時間之後 if (team.ParticipateEndDate <= DateTime.Now) { ModelState["ParticipateEndDate"].Errors.Add("報名截止日期必須在現在時間之後"); } //檢查遊戲日期是否在報名截止日期之後 if (team.PlayDate <= team.ParticipateEndDate) { ModelState["PlayDate"].Errors.Add("遊戲日期必須在報名截止日期之後"); } //檢查結束時間是否在開始時間之後 if (team.PlayBeginTime >= team.PlayEndTime) { ModelState["PlayEndTime"].Errors.Add("結束時間必須在開始時間之後"); } //檢查最高人數是否不小於最低人數 if (team.MaxPlayer < team.MinPlayer) { ModelState["MaxPlayer"].Errors.Add("最高人數不得小於最低人數"); } //驗證主體 if (ModelState.IsValid) { //填入必要資料後存入 team.ID = UsefulTools.GetNextID(db.Teams, 1); team.LeaderPlayerID = Session["PlayerID"].ToString(); db.Teams.Add(team); db.SaveChanges(); return(RedirectToAction("GetTeamList", new { usage = "TeamIndex" })); } //驗證失敗 ViewBag.teamID = team.ID; ViewBag.CityID = new SelectList(db.Cities, "ID", "CityName", CityID); ViewBag.DistrictID = new SelectList(db.Districts, "ID", "DistrictName", DistrictID); return(View(team)); }
public ActionResult CreateTableGame(TableGame newTableGame, string[] selectedCategories, HttpPostedFileBase[] photos, string[] links) { //無法通過驗證則顯示錯誤訊息 if (!ModelState.IsValid) { UpdateTableGamePreparaion(); return(View()); } //儲存newTableGame newTableGame.ID = UsefulTools.GetNextID(db.TableGames, 1); db.TableGames.Add(newTableGame); db.SaveChanges(); foreach (string sc in selectedCategories) { newTableGame.GameCategoryTags.Add(db.Tags.Find(sc)); db.SaveChanges(); } //調用PhotoManager中的方法來儲存傳入的圖片 PhotoManager.Create(newTableGame.ID, photos); //儲存相關教學連結 RelevantLinkManager.Create(newTableGame.ID, links); return(RedirectToAction("ShowTableGameListForAdmin")); }