public JsonResult AddSave(T_MainInfo model)
        {
            DateTime now     = DateTime.Now;
            DateTime minTime = model.DepartureTime.AddMinutes(-15);
            DateTime maxTime = model.DepartureTime.AddMinutes(15);

            if (model.DepartureTime < now)
            {
                return(Json(new { state = "Fail", msg = "请发布时间大于现在的行程" }));
            }
            T_MainInfo exisModel = db.T_MainInfo.FirstOrDefault(a => a.Driver == model.Driver && a.DepartureTime > minTime && a.DepartureTime < maxTime);

            if (exisModel == null)
            {
                model.FreeSeat = model.SeatNumber;
                model.PostTime = DateTime.Now;

                db.T_MainInfo.Add(model);
                try
                {
                    db.SaveChanges();
                    return(Json(new { state = "Success", msg = "保存成功" }));
                }
                catch (Exception e)
                {
                    return(Json(new { state = "Fail", msg = e.Message }));
                }
            }
            else
            {
                return(Json(new { state = "Fail", msg = "您在该时间点附近已建立行程 ,请合理建立行程安排" }));
            }
        }
        public JsonResult CancelSave(int ID)
        {
            string name = Server.UrlDecode(Request.Cookies["name"].Value);
            //string name = "黄幸&夕影";
            T_MainInfo maininfo = db.T_MainInfo.Find(ID);

            if (name == maininfo.Driver)
            {
                maininfo.IsCancel = 1;
            }

            else
            {
                return(Json(new { state = "Fail", msg = "不允许取消他人发布的行程" }));
            }
            db.Entry <T_MainInfo>(maininfo).State = System.Data.Entity.EntityState.Modified;



            try
            {
                db.SaveChanges();
                return(Json(new { state = "Success", msg = "保存成功,请记得与相关小伙伴联系,通知您已取消本次行程哦" }));
            }
            catch (Exception e)
            {
                return(Json(new { state = "Fail", msg = e.Message }));
            }
        }
        //
        public JsonResult JoinSave(int ID)
        {
            string       Passenger       = Server.UrlDecode(Request.Cookies["name"].Value);
            string       Tel             = Server.UrlDecode(Request.Cookies["mobile"].Value);
            T_MainDetail existMainDetail = db.T_MainDetail.FirstOrDefault(a => a.PID == ID && a.Passenger == Passenger);

            if (existMainDetail != null)
            {
                return(Json(new { state = "Fail", msg = "您已加入该行程,请勿重复哦" }));
            }
            T_MainInfo maininfo = db.T_MainInfo.Find(ID);

            if (maininfo.FreeSeat == 0)
            {
                return(Json(new { state = "Fail", msg = "小伙伴已经满了哦,请选择其他行程加入" }));
            }
            maininfo.FreeSeat = maininfo.FreeSeat - 1;
            if (maininfo.Passengers == null)
            {
                maininfo.Passengers = Passenger;
            }
            else
            {
                maininfo.Passengers = maininfo.Passengers + "," + Passenger;
            }

            db.Entry <T_MainInfo>(maininfo).State = System.Data.Entity.EntityState.Modified;

            T_MainDetail mainDetail = new T_MainDetail()
            {
                Passenger = Passenger,
                PostTime  = DateTime.Now,
                PID       = ID,
                Tel       = Tel
            };

            db.T_MainDetail.Add(mainDetail);

            try
            {
                db.SaveChanges();
                return(Json(new { state = "Success", msg = "保存成功,记得及时与车主取得联系哦" }));
            }
            catch (Exception e)
            {
                return(Json(new { state = "Fail", msg = e.Message }));
            }
        }
        //
        public JsonResult CancelJoinSave(int ID)
        {
            string name = Server.UrlDecode(Request.Cookies["name"].Value);
            //string name = "黄幸&夕影";
            T_MainInfo maininfo = db.T_MainInfo.Find(ID);

            maininfo.FreeSeat   = maininfo.FreeSeat + 1;
            maininfo.Passengers = maininfo.Passengers.Replace(name, "").Replace(",,", ",");
            T_MainDetail deleteMainDetail = db.T_MainDetail.FirstOrDefault(a => a.Passenger == name && a.PID == ID);

            db.T_MainDetail.Remove(deleteMainDetail);
            db.Entry <T_MainInfo>(maininfo).State = System.Data.Entity.EntityState.Modified;
            try
            {
                db.SaveChanges();
                return(Json(new { state = "Success", msg = "保存成功,请记得与相关小伙伴联系,通知您已取消本次行程哦" }));
            }
            catch (Exception e)
            {
                return(Json(new { state = "Fail", msg = e.Message }));
            }
        }