예제 #1
0
        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");
        }
예제 #2
0
 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"));
 }
예제 #3
0
 public ActionResult Update([FromBody] meetings m)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(m));
     }
     rep.Update(m);
     return(Ok());
 }
예제 #4
0
        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"));
        }
예제 #5
0
 public ActionResult Insert([FromBody] meetings m)
 {
     rep.Insert(m);
     return(Ok());
 }