Exemplo n.º 1
0
        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("");
        }