public string UpdatetBookings(string datestr, string sdate, string edate, string gymId, string tposition, string smdate, string emdate, string eventid, string coachid, string memberid) { int _coachid = int.Parse(coachid); if (string.IsNullOrWhiteSpace(eventid)) { //新增到資料庫 DateTime StartTime = Convert.ToDateTime(datestr + " " + sdate + ":" + smdate); DateTime Endtime = Convert.ToDateTime(datestr + " " + edate + ":" + emdate); //判斷跟教練排休時間有沒有衝到 bool conflictCoachTime = (from p in db.tCoachRest where p.fCoachId == _coachid && ( (p.fStartTime <= StartTime && p.fEndTime >= Endtime) || (p.fStartTime <= Endtime && p.fEndTime >= Endtime)) select p).Any(); if (conflictCoachTime) { return("與教練排休時間衝突!"); } //原寫死需修改 tOrder t = new tOrder(); int _fid = (from p in db.tOrder select p.fid).FirstOrDefault(); int _fOrder = (from p in db.tOrder select p.forderid).FirstOrDefault(); if (_fid == 0) { _fid = 1; } else { _fid = (from p in db.tOrder select p.fid).Max() + 1; } if (_fOrder == 0) { _fOrder = 1; } else { _fOrder = (from p in db.tOrder select p.forderid).Max() + 1; } t.fid = _fid; t.forderid = _fOrder; t.fMemberId = int.Parse(memberid); t.fCoachID = Convert.ToInt32(coachid); t.fGynId = Convert.ToInt32(gymId); t.fLessonId = _fOrder; t.fSuccessed = 0; t.fStartTime = StartTime; t.fEndTime = Endtime; t.fApplyTime = DateTime.Now; t.fOrderlike = -1; if (sdate == "23") { t.fEndTime = t.fEndTime.AddDays(1); } t.fTrainingName = tposition; db.tOrder.Add(t); db.SaveChanges(); } else { //修改資料庫 int _eventid = int.Parse(eventid); tOrder t = (from p in db.tOrder where p.forderid == _eventid select p).FirstOrDefault(); DateTime StartTime = Convert.ToDateTime(t.fStartTime.ToString("yyyy/MM/dd") + " " + sdate + ":" + smdate); DateTime Endtime = Convert.ToDateTime(t.fEndTime.ToString("yyyy/MM/dd") + " " + edate + ":" + emdate); if (t != null) { t.fMemberId = int.Parse(memberid); t.fCoachID = _coachid; t.fGynId = Convert.ToInt32(gymId); t.fSuccessed = 0; t.fStartTime = StartTime; t.fEndTime = Endtime; t.fApplyTime = DateTime.Now; t.fLessonId = t.forderid; if (sdate == "23") { t.fEndTime = t.fEndTime.AddDays(1); } t.fTrainingName = tposition; db.Entry(t).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } return(""); }