public string MeetingCheck(meetings Meeting, string SID) //確認會議是否符合規則 { DateTime ts = DateTime.Parse(Meeting.Date + " " + Meeting.STime); //申請起始時間 DateTime te = DateTime.Parse(Meeting.Date + " " + Meeting.ETime); //申請結束時間 if (ts == te || ts > te) //確認會議室時間輸入無誤 { return("時間輸入有誤"); } else if (DateTime.Parse(Meeting.Date + " " + Meeting.STime) < DateTime.Now) { return("不可申請過去的時間"); } IQueryable <MeetingData> Mdata = _db.MeetingData.Where(x => x.STime.Contains(Meeting.Date) && x.Room == Meeting.Room && x.SID != SID).AsQueryable <MeetingData>(); foreach (var m in Mdata) { DateTime TS = DateTime.Parse(m.STime); //已申請起始時間 DateTime TE = DateTime.Parse(m.ETime); //已申請結束時間 TimeSpan ResultSS = ts.Subtract(TS).Duration(); //比對時間間隔 TimeSpan ResultSE = ts.Subtract(TE).Duration(); TimeSpan ResultES = te.Subtract(TS).Duration(); if (ResultSS.TotalMinutes <= lim || ResultSE.TotalMinutes < lim || ResultES.TotalMinutes < lim) //確認不低於最低間隔時間 { return("會議室已有人使用"); } else if (ts < TS && te > TS || ts > TS && ts < TE) //確認時間是否重複 { return("會議室已有人使用"); } } return("OK"); }
public ActionResult MeetingApplicationfirm(meetings Meeting) { try { string Result = MeetingCheck(Meeting, ""); if (Result.Contains("OK")) { //_db.SaveChanges(); TempData["message"] = "已新增會議!!"; MeetingData meetingData = new MeetingData { SID = System.Guid.NewGuid().ToString("N"),//生成UUID編號 Applicant = Meeting.Applicant, Room = Meeting.Room, Event = Meeting.Event, STime = Meeting.Date + " " + Meeting.STime, ETime = Meeting.Date + " " + Meeting.ETime, }; _db.MeetingData.Add(meetingData); _db.SaveChanges(); } else { TempData["message"] = Result; return(RedirectToAction("MeetingApplication")); } } catch (ArgumentNullException ex) { TempData["message"] = ex.ToString(); } return(RedirectToAction("MeetingApplication")); }
public ActionResult Update([FromBody] meetings m) { if (!ModelState.IsValid) { return(BadRequest(m)); } rep.Update(m); return(Ok()); }
public ActionResult MeetingEditComfirm(MeetingData MData, FormCollection FromValue) { MeetingData Mdata = _db.MeetingData.Find(MData.SID); try { if (TryUpdateModel(Mdata, "", FromValue.AllKeys, new string[] { "SID" })) { meetings m = new meetings { Room = MData.Room.Trim(' '), Applicant = Mdata.Applicant.Trim(' '), Event = Mdata.Event.Trim(' '), Date = Mdata.STime.Remove(10, 6), //只取日 1999/04/04 STime = Mdata.STime.Remove(0, 10), //只取時間 16:00 ETime = Mdata.ETime.Remove(0, 10) }; string Result = MeetingCheck(m, Mdata.SID); if (Result.Contains("OK")) { _db.SaveChanges(); TempData["message"] = "資料更新成功!!"; } else { TempData["message"] = Result; return(RedirectToAction("MeetingEdit", new { MData.SID })); } } else { TempData["message"] = "資料更新失敗!!"; return(RedirectToAction("MeetingEdit", new { MData.SID })); } } catch (ArgumentNullException ex) { TempData["message"] = ex.ToString(); return(RedirectToAction("MeetingEdit", new { MData.SID })); } return(RedirectToAction("MeetingList")); }
public ActionResult Insert([FromBody] meetings m) { rep.Insert(m); return(Ok()); }