public ActionResult Add() { ContestBasicInfoModel model = new ContestBasicInfoModel { Owner1 = USER.CurrentUserName, StartTime = DateTime.Now, Hour = 0, Minute = 0, Weight = 16 }; return View(model); }
public ActionResult Add(ContestBasicInfoModel model) { if (!ModelState.IsValid) return View(model); List<string> owners = new List<string>(); owners.Add(USER.CurrentUserName); if (model.Owner2 != null) owners.Add(model.Owner2); if (model.Owner3 != null) owners.Add(model.Owner3); try { Contest.Add(new Contest { AbsoluteStartTime = model.StartTime.Value, AbsoluteEndTime = model.StartTime.Value + new TimeSpan(model.Hour.Value, model.Minute.Value, 0), Description = "", IsOfficial = model.IsOfficial, Name = model.Name, Type = model.Type.Value, Owners = owners, Weight = model.Weight }); } catch (UserNotLoginException) { throw; } catch (PermissionDeniedException) { return RedirectToAction("Error", "Shared", new { msg = "没有创建比赛的相关权限" }); } catch (ContestNameExistedException) { ModelState.AddModelError("Name", "比赛名称已存在"); return View(model); } return RedirectToAction("Preview", new { id = model.Name }); }
public ActionResult Edit(string id, ContestBasicInfoModel model) { if (!ModelState.IsValid) return View(model); List<string> owners = new List<string>(); owners.Add(USER.CurrentUserName); if (model.Owner2 != null) owners.Add(model.Owner2); if (model.Owner3 != null) owners.Add(model.Owner3); try { Contest con = Contest.ByName(id); con.AbsoluteStartTime = model.StartTime.Value; con.AbsoluteEndTime = model.StartTime.Value + new TimeSpan(model.Hour.Value, model.Minute.Value, 0); con.IsOfficial = model.IsOfficial; con.Name = model.Name; con.Type = model.Type.Value; con.Owners = owners; con.Weight = model.Weight; con.Change(); model.Name = con.Name; } catch (ContestNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "找不到相应比赛" }); } catch (UserNotLoginException) { throw; } catch (PermissionDeniedException) { return RedirectToAction("Error", "Shared", new { msg = "没有修改比赛信息的相关权限" }); } catch (ContestNameExistedException) { ModelState.AddModelError("Name", "比赛名称已存在"); return View(model); } return RedirectToAction("Preview", new { id = model.Name }); }
public ActionResult Edit(string id) { ContestBasicInfoModel model = new ContestBasicInfoModel { Contest = id, }; try { Contest con = Contest.ByName(id); model.Hour = (int)(con.AbsoluteEndTime - con.AbsoluteStartTime).TotalHours; model.Minute = (con.AbsoluteEndTime - con.AbsoluteStartTime).Minutes; model.IsOfficial = con.IsOfficial; model.Name = con.Name; if (USER.CurrentUserIsAdmin) { model.Owner1 = USER.CurrentUserName; } else { model.Owner1 = USER.CurrentUserName; } var otherOwners = con.Owners.Where(u => u != USER.CurrentUserName); model.Owner2 = otherOwners.FirstOrDefault(); model.Owner3 = otherOwners.Skip(1).FirstOrDefault(); model.StartTime = con.AbsoluteStartTime; model.Type = con.Type; model.Weight = con.Weight; } catch (ContestNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "找不到相应比赛" }); } return View(model); }