/// <summary>
 /// CarInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string CarInfoEditSave(CarInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_Car.Where(t => t.RID == RID).FirstOrDefault();
         List.LastUpdDate = DateTime.Now;
         List.LastUpdUser = LoginUserID;
         List.seatNum     = Convert.ToInt32(Model.seatNum);
         List.carID       = Model.carID;
         List.type        = Model.type;
         List.carName     = Model.carName;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#2
0
 /// <summary>
 /// 更新存儲
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string UserEditSave(UserModel Model, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_UserMaster.Where(t => t.RID == RID).FirstOrDefault();
         List.name     = Model.name;
         List.username = Model.username;
         List.type     = Model.type;
         List.userid   = Model.userid;
         List.tel      = Model.tel;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "更新成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "更新失败"
             }));
         }
     }
 }
示例#3
0
 /// <summary>
 /// 新增存儲
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <returns></returns>
 public static string UserAddSave(UserModel Model)
 {
     using (var db = new VehicleEntities())
     {
         T_UserMaster List = new T_UserMaster();
         List.name     = Model.name;
         List.userid   = Model.userid;
         List.username = Model.username;
         List.type     = Model.type;
         List.tel      = Model.tel;
         List.text1    = "CN";
         List.RID      = Guid.NewGuid().ToString();
         db.AddToT_UserMaster(List);
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#4
0
 /// <summary>
 /// LocationInfodelete
 /// </summary>
 /// <param name="deleteItem"></param>
 /// <returns></returns>
 public static string LocationInfodelete(string deleteItem)
 {
     string[] ridArr = deleteItem.Split(',');
     using (var db = new VehicleEntities())
     {
         foreach (var ds in ridArr)
         {
             string Rid   = ds;
             var    model = db.T_Location.FirstOrDefault(p => p.RID == Rid);
             db.DeleteObject(model);
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "刪除成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "刪除失败"
             }));
         }
     }
 }
示例#5
0
 /// <summary>
 /// LocationInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string LocationInfoEditSave(LocationInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_Location.Where(t => t.RID == RID).FirstOrDefault();
         List.LastUpdDate = DateTime.Now;
         List.LastUpdUser = LoginUserID;
         List.name        = Model.name;
         List.longitude   = Model.longitude;
         List.latitude    = Model.latitude;
         if (Model.Radius != "")
         {
             List.Radius = Convert.ToInt32(Model.Radius);
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#6
0
 /// <summary>
 /// DriverInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string DriverInfoEditSave(DriveInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_UserMaster.Where(t => t.RID == RID).FirstOrDefault();
         List.username = Model.Driver_Name;
         List.tel      = Model.Driver_Tel;
         List.userid   = Model.Driver_Number;
         List.text3    = Model.CarInfo;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
        public void AddPhone(int custID, string phoneType, string phoneNumber)
        {
            using (var context = new VehicleEntities())
            {
                PhoneNumber queryAdd = new PhoneNumber
                {
                    customerID = custID,
                    phoneType  = phoneType,
                    number     = phoneNumber
                };
                try
                {
                    context.PhoneNumbers.AddObject(queryAdd);
                    context.SaveChanges();
                    // if context.SaveChanges() succeeded add text to the label Add -> lbl.Add.Text
                    // lblAdd.Text += string.Format("<br/>Added: number {0} of type: {1}", queryAdd.number.ToString(), queryAdd.phoneType);
                    //if context.savechanges() succeded then delete phone only if old values are DIFFERENT then new values
                    // Delete phone !only! if NEW values AREN'T same as OLD values!!
                    phoneTypeOld   = ViewState["phoneTypeOld"].ToString();
                    phoneNumberOld = ViewState["phoneNumberOld"].ToString();

                    if (phoneType != phoneTypeOld || phoneNumber != phoneNumberOld)
                    {
                        DeletePhone(custID, phoneTypeOld, phoneNumberOld);
                    }
                }
                catch (OptimisticConcurrencyException ocex)
                {
                    // Resolve the concurrency conflict by refreshing the
                    // object context before re-saving changes
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = ocex.ToString();
                    //throw;
                }
                catch (InvalidOperationException ioex)
                {
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = ioex.ToString();
                }

                catch (SqlException sqlexc)
                {
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = sqlexc.ToString();
                }

                catch (Exception)
                {
                    if (phoneType == phoneTypeOld && phoneNumber == phoneNumberOld)
                    {
                        lblAdd.Text = "";
                    }
                    else
                    {
                        lblAdd.Text = "Error while trying to update record. The object could not be added." +
                                      "Make sure that the same phone does not aleady exist.";
                    }
                }
            }
        }
 /// <summary>
 /// 作廢
 /// </summary>
 /// <param name="deleteItem"></param>
 /// <returns></returns>
 public static string Planremove(string removeItem)
 {
     string[] ridArr = removeItem.Split(',');
     using (var db = new VehicleEntities())
     {
         foreach (var ds in ridArr)
         {
             string planID   = ds;
             var    Planitem = db.M_Plan.FirstOrDefault(p => p.planID == planID && p.valid == "1");
             Planitem.valid = "0";
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "作廢成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "作廢失败"
             }));
         }
     }
 }
 /// <summary>
 /// CarInfoAddSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <returns></returns>
 public static string CarInfoAddSave(CarInfoModel Model, string LoginUserID)
 {
     using (var db = new VehicleEntities())
     {
         T_Car List = new T_Car();
         List.CreateUser  = LoginUserID;
         List.CreateDate  = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdDate = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdUser = LoginUserID;
         List.seatNum     = Convert.ToInt32(Model.seatNum);
         List.carID       = Model.carID;
         List.carName     = Model.carName;
         List.RID         = Guid.NewGuid().ToString();
         db.AddToT_Car(List);
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
 public void DeletePhone(int custID, string phoneType, string phoneNumber)
 {
     using (var context = new VehicleEntities())
     {
         PhoneNumber queryDelete = new PhoneNumber();
         queryDelete = context.PhoneNumbers.First(p => p.customerID == custID && p.phoneType == phoneType && p.number == phoneNumber);
         context.DeleteObject(queryDelete);
         context.SaveChanges();
     }
 }
        /// <summary>
        /// 刪除存儲
        /// </summary>
        /// <param name="deleteItem"></param>
        /// <returns></returns>
        public static string Plandelete(string deleteItem)
        {
            string[] ridArr = deleteItem.Split(',');
            using (var db = new VehicleEntities())
            {
                foreach (var ds in ridArr)
                {
                    string planID   = ds;
                    var    Planitem = db.M_Plan.FirstOrDefault(p => p.planID == planID && p.valid == "1");
                    db.DeleteObject(Planitem);

                    var PlanRid = Planitem.RID;

                    var RoadListitem = db.D_RoadList.Where(p => p.PlanRID == PlanRid);
                    foreach (var item in RoadListitem)
                    {
                        db.DeleteObject(item);
                    }
                    var PassengerListitem = db.D_PassengerList.Where(p => p.PlanRID == PlanRid);
                    foreach (var item in PassengerListitem)
                    {
                        db.DeleteObject(item);
                    }
                }
                int success = db.SaveChanges();
                if (success > 0)
                {
                    ViewModel.Result result = new Result();
                    result.success = true;
                    result.message = "刪除成功";
                    return(JsonConvert.SerializeObject(result));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new ViewModel.Result()
                    {
                        success = true, message = "刪除失败"
                    }));
                }
            }
        }
示例#12
0
        /// <summary>
        /// DriverInfoAddSave
        /// </summary>
        /// <param name="Model"></param>
        /// <param name="LoginUserID"></param>
        /// <returns></returns>
        public static string DriverInfoAddSave(DriveInfoModel Model, string LoginUserID)
        {
            using (var db = new VehicleEntities())
            {
                string CarInfoRID = "";
                //if (Model.CarInfo != "")
                //{

                //    CarInfoRID = db.Car.Where(p => p.Car_License == Model.CarInfo).FirstOrDefault().RID;
                //}
                //DateTime Dt = Convert.ToDateTime(Model.Create_Time);
                //DriverInfo List = new DriverInfo();
                //List.Update_Time = Dt;
                //List.Update_User = LoginUserID;
                //List.Create_User = LoginUserID;
                //List.Create_Time = Dt;
                //List.Driver_Name = Model.Driver_Name;
                //List.Driver_Number = Model.Driver_Number;
                //List.Driver_Company = Model.Driver_Company;
                //List.Driver_Tel = Model.Driver_Tel;
                //List.RID = Guid.NewGuid().ToString();
                //List.CarInfoRID = CarInfoRID;
                //db.AddToDriverInfo(List);
                int success = db.SaveChanges();
                if (success > 0)
                {
                    ViewModel.Result result = new Result();
                    result.success = true;
                    result.message = "保存成功";
                    return(JsonConvert.SerializeObject(result));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new ViewModel.Result()
                    {
                        success = true, message = "保存失败"
                    }));
                }
            }
        }
示例#13
0
 /// <summary>
 /// LocationInfoAddSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <returns></returns>
 public static string LocationInfoAddSave(LocationInfoModel Model, string LoginUserID)
 {
     using (var db = new VehicleEntities())
     {
         int        LocationIDMax = Convert.ToInt32(db.T_Location.Select(t => t.locationID).Max());
         int        LocationID    = LocationIDMax + 1;
         T_Location List          = new T_Location();
         List.CreateUser  = LoginUserID;
         List.CreateDate  = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdDate = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdUser = LoginUserID;
         List.name        = Model.name;
         List.longitude   = Model.longitude;
         List.latitude    = Model.latitude;
         if (Model.Radius != "")
         {
             List.Radius = Convert.ToInt32(Model.Radius);
         }
         List.locationID = LocationID.ToString();
         List.RID        = Guid.NewGuid().ToString();
         db.AddToT_Location(List);
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#14
0
 public void LoadVehicles()
 {
     using (var entities = new VehicleEntities())
     {
         var modernVehicle  = entities.VehicleTypes.FirstOrDefault(x => x.TypeCode == "MDN");
         var classicVehicle = entities.VehicleTypes.FirstOrDefault(x => x.TypeCode == "CLASS");
         foreach (var model in entities.Models)
         {
             if (model.Vehicles.Count == 0)
             {
                 var vehicle = new Vehicle();
                 vehicle.Model           = model;
                 vehicle.ImageUrl        = string.Format("http://cdn.carvalet.com/img/veh/{0}_{1}_1.png", model.MakeCode, model.ModelCode);
                 vehicle.Name            = model.ModelName + " v1";
                 vehicle.ProducedFromUtc = new DateTime(_Random.Next(1970, 2008), 01, 01);
                 vehicle.ProducedToUtc   = _Random.Next() % 2 == 0 ? new DateTime?(vehicle.ProducedFromUtc.AddYears(_Random.Next(0, 5))) : null;
                 vehicle.VehicleType     = vehicle.ProducedFromUtc.Year < 1980 ? classicVehicle : modernVehicle;
                 entities.Vehicles.Add(vehicle);
             }
         }
         entities.SaveChanges();
     }
 }
        public void InsertPhone(int custID, string phoneType, string phoneNumber)
        {
            using (var context = new VehicleEntities())
            {
                PhoneNumber queryInsert = new PhoneNumber
                {
                    customerID = custID,
                    phoneType  = phoneType,
                    number     = phoneNumber
                };
                try
                {
                    context.PhoneNumbers.AddObject(queryInsert);
                    context.SaveChanges();
                }

                catch (OptimisticConcurrencyException)
                {
                    // Resolve the concurrency conflict by refreshing the
                    // object context before re-saving changes
                    context.Refresh(RefreshMode.StoreWins, queryInsert);
                    lblInsertPhone.Text = "The phone number you attempted to insert was already inserted by " +
                                          "another user. The insert operation was canceled.";
                }

                catch (UpdateException)
                {
                    lblInsertPhone.Text += "There is already same phone number";
                }

                catch (Exception)
                {
                    lblInsertPhone.Text += "Exception on Inserting New Phone number";
                }
            }
        }
        /// <summary>
        /// 新增存儲
        /// </summary>
        /// <param name="Model"></param>
        /// <param name="LoginUserID"></param>
        /// <returns></returns>
        public static string PlanAddSave(PlanModel PlanModel, List <PassengerModel> PassengerModel, List <stepModel> stepModel, string LoginUserID)
        {
            var ToDay = DateTime.Now.ToString("yyyy-MM-dd");

            using (var db = new VehicleEntities())
            {
                var    Rid           = Guid.NewGuid().ToString();
                var    PlanID        = GetPlanNo();
                var    stepLen_b     = stepModel.Count;
                var    stepLen       = stepLen_b - 1;
                string LocationID    = "";
                string DestinationID = "";

                foreach (var item in stepModel)
                {
                    if (item.sequence == 0)
                    {
                        LocationID = item.locationID;
                    }
                    if (item.sequence == stepLen)
                    {
                        DestinationID = item.locationID;
                    }
                }

                //存儲主檔
                M_Plan Plan = new M_Plan();
                Plan.RID           = Rid;
                Plan.planID        = PlanID;
                Plan.carID         = PlanModel.carID;
                Plan.driverID      = PlanModel.driverID;
                Plan.driverTel     = PlanModel.driverTel;
                Plan.locationID    = LocationID;
                Plan.destinationID = DestinationID;
                Plan.time          = Convert.ToDateTime(PlanModel.time);
                Plan.status        = Convert.ToInt32(PlanModel.status);
                Plan.step          = 0;
                Plan.CreateDate    = Convert.ToDateTime(PlanModel.CreateDate);
                Plan.CreateUser    = LoginUserID;
                Plan.LastUpdDate   = Convert.ToDateTime(PlanModel.CreateDate);
                Plan.LastUpdUser   = LoginUserID;
                Plan.valid         = "1";
                Plan.IsSend        = "0";
                Plan.batch         = PlanID;
                db.AddToM_Plan(Plan);

                //存儲站點表
                foreach (var item in stepModel)
                {
                    D_RoadList RoadList = new D_RoadList();
                    RoadList.RID        = item.RID;
                    RoadList.PlanRID    = Rid;
                    RoadList.planID     = PlanID;
                    RoadList.locationID = Convert.ToInt32(item.locationID);
                    RoadList.sequence   = item.sequence;
                    db.AddToD_RoadList(RoadList);
                }

                //存儲乘客表
                foreach (var item in PassengerModel)
                {
                    D_PassengerList PassengerList = new D_PassengerList();
                    PassengerList.RID           = item.RID;
                    PassengerList.PlanRID       = Rid;
                    PassengerList.planID        = PlanID;
                    PassengerList.passengerID   = item.passengerID;
                    PassengerList.time          = Convert.ToDateTime(item.time);
                    PassengerList.status        = item.status;
                    PassengerList.remark        = item.remark;
                    PassengerList.returnTime    = "";
                    PassengerList.locationID    = item.locationID;
                    PassengerList.destinationID = item.destinationID;

                    db.AddToD_PassengerList(PassengerList);
                }

                var YearText = DateTime.Now.ToString("yyyyMMdd").Substring(2, 2);
                int?number   = null;
                var List     = db.T_SystemApply.Where(t => t.FunctionName == "PlanNo" && t.DateTime == YearText);
                if (List.Count() > 0)
                {
                    var num = List.Max(t => t.Number);
                    //number = List.OrderByDescending(t => t.Create_Date).First().Number;
                    number = num + 1;
                }
                else
                {
                    number = 1;
                }

                //存儲單號記錄
                T_SystemApply SystemApply = new T_SystemApply();
                SystemApply.Create_Date  = DateTime.Now;
                SystemApply.DateTime     = PlanModel.CreateDate.ToString("yyyy-MM-dd").Substring(2, 2);
                SystemApply.Number       = number;
                SystemApply.FunctionName = "PlanNo";
                SystemApply.RID          = Guid.NewGuid().ToString();
                db.AddToT_SystemApply(SystemApply);

                int success = db.SaveChanges();
                if (success > 0)
                {
                    //在這寫
                    ViewModel.Result result = new Result();
                    result.success = true;
                    result.message = "提交保存成功";
                    WeChatWS.WeChatWSSoapClient ws = new WeChatWS.WeChatWSSoapClient();
                    ws.seedsmsToDriver(Rid);
                    using (var plan = new VehicleEntities())
                    {
                        var rst = plan.M_Plan.Where(t => t.RID == Rid).FirstOrDefault();
                        rst.IsSend = "1";
                        plan.SaveChanges();
                    }
                    return(JsonConvert.SerializeObject(result));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new ViewModel.Result()
                    {
                        success = true, message = "保存失败"
                    }));
                }
            }
        }
        /// <summary>
        /// 更新存儲
        /// </summary>
        /// <param name="Model"></param>
        /// <param name="LoginUserID"></param>
        /// <param name="RID"></param>
        /// <returns></returns>
        public static string PlanEditSave(PlanModel PlanModel, List <PassengerModel> PassengerModel, List <stepModel> stepModel, string LoginUserID)
        {
            using (var db = new VehicleEntities())
            {
                DateTime LastUpdDate   = DateTime.Now;
                string   LocationID    = "";
                string   DestinationID = "";
                var      stepLen       = stepModel.Count - 1;
                var      RID           = "";
                foreach (var item in stepModel)
                {
                    if (item.sequence == 0)
                    {
                        LocationID = item.locationID;
                    }
                    if (item.sequence == stepLen)
                    {
                        DestinationID = item.locationID;
                    }
                }

                var PlanList = db.M_Plan.Where(t => t.planID == PlanModel.planID);
                if (PlanList.Count() > 1)
                {
                    foreach (var item in PlanList)
                    {
                        var itemRID = item.RID;
                        item.LastUpdDate   = LastUpdDate;
                        item.locationID    = LocationID;
                        item.destinationID = DestinationID;


                        var PassengerList = db.D_PassengerList.Where(t => t.PlanRID == item.RID);
                        if (PassengerList.Count() > 0)
                        {
                            item.carID         = PlanModel.carID;
                            item.driverTel     = PlanModel.driverTel;
                            item.driverID      = PlanModel.driverID;
                            item.locationID    = LocationID;
                            item.destinationID = DestinationID;
                            item.status        = Convert.ToInt32(PlanModel.status);
                            item.time          = Convert.ToDateTime(PlanModel.time);
                            item.LastUpdUser   = LoginUserID;

                            var PlanID = item.planID;
                            RID = item.RID;

                            //站點表
                            var RoadList = db.D_RoadList.Where(t => t.planID == PlanID);

                            foreach (var del in RoadList)
                            {
                                db.DeleteObject(del);
                            }


                            foreach (var setpitem in stepModel)
                            {
                                D_RoadList RoadListitem = new D_RoadList();
                                RoadListitem.RID        = Guid.NewGuid().ToString();
                                RoadListitem.PlanRID    = RID;
                                RoadListitem.planID     = PlanID;
                                RoadListitem.locationID = Convert.ToInt32(setpitem.locationID);
                                RoadListitem.sequence   = setpitem.sequence;
                                if (setpitem.atime != null)
                                {
                                    RoadListitem.atime = Convert.ToDateTime(setpitem.atime);
                                }
                                if (setpitem.ltime != null)
                                {
                                    RoadListitem.ltime = Convert.ToDateTime(setpitem.ltime);
                                }
                                db.AddToD_RoadList(RoadListitem);
                            }


                            //乘客表
                            var PassengerListModel = db.D_PassengerList.Where(t => t.PlanRID == RID);
                            foreach (var del in PassengerList)
                            {
                                db.DeleteObject(del);
                            }

                            foreach (var Passengeritem in PassengerModel)
                            {
                                D_PassengerList PassengerListitem = new D_PassengerList();
                                PassengerListitem.RID           = Guid.NewGuid().ToString();
                                PassengerListitem.PlanRID       = RID;
                                PassengerListitem.planID        = PlanID;
                                PassengerListitem.returnTime    = Passengeritem.returnTime;
                                PassengerListitem.passengerID   = Passengeritem.passengerID;
                                PassengerListitem.time          = Convert.ToDateTime(Passengeritem.time);
                                PassengerListitem.status        = Passengeritem.status;
                                PassengerListitem.remark        = Passengeritem.remark;
                                PassengerListitem.locationID    = Passengeritem.locationID;
                                PassengerListitem.destinationID = Passengeritem.destinationID;
                                if (Passengeritem.confirmTime != null)
                                {
                                    PassengerListitem.confirmTime = Convert.ToDateTime(Passengeritem.confirmTime);
                                }
                                db.AddToD_PassengerList(PassengerListitem);
                            }
                        }
                    }
                }
                else
                {
                    RID = db.M_Plan.Where(t => t.planID == PlanModel.planID).FirstOrDefault().RID;



                    //主檔
                    var Plan = db.M_Plan.Where(t => t.RID == RID).FirstOrDefault();
                    Plan.carID         = PlanModel.carID;
                    Plan.driverTel     = PlanModel.driverTel;
                    Plan.driverID      = PlanModel.driverID;
                    Plan.locationID    = LocationID;
                    Plan.destinationID = DestinationID;
                    Plan.status        = Convert.ToInt32(PlanModel.status);
                    Plan.time          = Convert.ToDateTime(PlanModel.time);
                    Plan.LastUpdDate   = LastUpdDate;
                    Plan.LastUpdUser   = LoginUserID;



                    //站點表
                    var RoadList = db.D_RoadList.Where(t => t.PlanRID == RID);
                    foreach (var del in RoadList)
                    {
                        db.DeleteObject(del);
                    }

                    foreach (var item in stepModel)
                    {
                        D_RoadList RoadListitem = new D_RoadList();
                        RoadListitem.RID        = Guid.NewGuid().ToString();
                        RoadListitem.PlanRID    = RID;
                        RoadListitem.planID     = Plan.planID;
                        RoadListitem.locationID = Convert.ToInt32(item.locationID);
                        RoadListitem.sequence   = item.sequence;
                        if (item.atime != null)
                        {
                            RoadListitem.atime = Convert.ToDateTime(item.atime);
                        }
                        if (item.ltime != null)
                        {
                            RoadListitem.ltime = Convert.ToDateTime(item.ltime);
                        }
                        db.AddToD_RoadList(RoadListitem);
                    }

                    //乘客表
                    var PassengerList = db.D_PassengerList.Where(t => t.PlanRID == RID);
                    foreach (var del in PassengerList)
                    {
                        db.DeleteObject(del);
                    }

                    foreach (var item in PassengerModel)
                    {
                        D_PassengerList PassengerListitem = new D_PassengerList();
                        PassengerListitem.RID           = Guid.NewGuid().ToString();
                        PassengerListitem.PlanRID       = RID;
                        PassengerListitem.planID        = Plan.planID;
                        PassengerListitem.passengerID   = item.passengerID;
                        PassengerListitem.time          = Convert.ToDateTime(item.time);
                        PassengerListitem.status        = item.status;
                        PassengerListitem.returnTime    = item.returnTime;
                        PassengerListitem.remark        = item.remark;
                        PassengerListitem.locationID    = item.locationID;
                        PassengerListitem.destinationID = item.destinationID;
                        if (item.confirmTime != null)
                        {
                            PassengerListitem.confirmTime = Convert.ToDateTime(item.confirmTime);
                        }
                        db.AddToD_PassengerList(PassengerListitem);
                    }
                }



                int success = db.SaveChanges();
                if (success > 0)
                {
                    var IsSend = "";
                    //在這寫
                    using (var plan = new VehicleEntities())
                    {
                        var SendPlan = plan.M_Plan.Where(t => t.RID == RID).FirstOrDefault();
                        IsSend = SendPlan.IsSend;

                        if (IsSend != "1")
                        {
                            WeChatWS.WeChatWSSoapClient ws = new WeChatWS.WeChatWSSoapClient();
                            ws.seedsmsToDriver(RID);
                            SendPlan.IsSend = "1";

                            plan.SaveChanges();
                        }
                        ;
                    }
                    ViewModel.Result result = new Result();
                    result.success = true;
                    result.message = "提交保存成功";
                    return(JsonConvert.SerializeObject(result));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new ViewModel.Result()
                    {
                        success = true, message = "保存失败"
                    }));
                }
            }
        }
        /// <summary>
        /// 合併wf派車單
        /// </summary>
        /// <returns></returns>
        public static string MergePlan(List <MergePlanModel> M_PlanModel)
        {
            string rst     = "success";
            var    Now     = DateTime.Now;
            int    success = 0;

            List <M_Plan>          PlanList      = new List <M_Plan>();
            List <D_PassengerList> PassengerList = new List <D_PassengerList>();
            var PlanID      = GetPlanNo();
            var LastUpdDate = "";
            var CreateDate  = "";
            var NewRid      = Guid.NewGuid().ToString();

            using (var db = new VehicleEntities())
            {
                foreach (var item in M_PlanModel)
                {
                    var changePlanModel = db.M_Plan.Where(t => t.planID == item.PlanID).FirstOrDefault();
                    LastUpdDate = changePlanModel.LastUpdDate.ToString();
                    CreateDate  = changePlanModel.CreateDate.ToString();
                }


                foreach (var item in M_PlanModel)
                {
                    var changePlanModel = db.M_Plan.Where(t => t.planID == item.PlanID).FirstOrDefault();

                    M_Plan Planitem = new M_Plan();
                    Planitem.RID = Guid.NewGuid().ToString();

                    Planitem.batch       = changePlanModel.batch;
                    Planitem.carID       = changePlanModel.carID;
                    Planitem.LastUpdUser = changePlanModel.LastUpdUser;
                    Planitem.CreateUser  = changePlanModel.CreateUser;
                    Planitem.driverID    = changePlanModel.driverID;
                    Planitem.driverTel   = changePlanModel.driverTel;
                    Planitem.time        = changePlanModel.time;
                    Planitem.status      = changePlanModel.status;
                    Planitem.step        = changePlanModel.step;
                    Planitem.LastUpdDate = Convert.ToDateTime(LastUpdDate);
                    Planitem.CreateDate  = Convert.ToDateTime(CreateDate);
                    Planitem.planID      = PlanID;
                    Planitem.valid       = "0";
                    PlanList.Add(Planitem);



                    var PassengerModel = db.D_PassengerList.Where(t => t.planID == item.PlanID);
                    foreach (var Passger_Item in PassengerModel)
                    {
                        D_PassengerList itemList = new D_PassengerList();
                        itemList.RID           = Guid.NewGuid().ToString();
                        itemList.planID        = PlanID;
                        itemList.locationID    = Passger_Item.locationID;
                        itemList.confirmTime   = Passger_Item.confirmTime;
                        itemList.destinationID = Passger_Item.destinationID;
                        itemList.passengerID   = Passger_Item.passengerID;
                        itemList.returnTime    = Passger_Item.returnTime;
                        itemList.PlanRID       = NewRid;
                        itemList.remark        = Passger_Item.remark;
                        itemList.status        = Passger_Item.status;
                        itemList.time          = Passger_Item.time;

                        PassengerList.Add(itemList);
                    }
                }

                foreach (var item in M_PlanModel)
                {
                    var PlanModel = db.M_Plan.Where(t => t.planID == item.PlanID).FirstOrDefault();
                    db.DeleteObject(PlanModel);

                    var PassengerModel = db.D_PassengerList.Where(t => t.planID == item.PlanID);
                    foreach (var PassengerItem in PassengerModel)
                    {
                        if (item.PlanID == PassengerItem.planID)
                        {
                            db.DeleteObject(PassengerItem);
                        }
                    }
                }



                foreach (var addPlanitem in PlanList)
                {
                    db.AddToM_Plan(addPlanitem);
                }

                foreach (var adPassengerditem in PassengerList)
                {
                    db.AddToD_PassengerList(adPassengerditem);
                }



                var YearText = DateTime.Now.ToString("yyyyMMdd").Substring(2, 2);
                int?number   = null;
                var List     = db.T_SystemApply.Where(t => t.FunctionName == "PlanNo" && t.DateTime == YearText);
                if (List.Count() > 0)
                {
                    var num = List.Max(t => t.Number);
                    //number = List.OrderByDescending(t => t.Create_Date).First().Number;
                    number = num + 1;
                }
                else
                {
                    number = 1;
                }
                //存儲單號記錄
                T_SystemApply SystemApply = new T_SystemApply();
                SystemApply.Create_Date  = DateTime.Now;
                SystemApply.DateTime     = Now.ToString("yyyy-MM-dd").Substring(2, 2);
                SystemApply.Number       = number;
                SystemApply.FunctionName = "PlanNo";
                SystemApply.RID          = Guid.NewGuid().ToString();
                db.AddToT_SystemApply(SystemApply);

                success = db.SaveChanges();
            }

            var modelRID = "";

            using (var db = new VehicleEntities())
            {
                var model = db.M_Plan.Where(t => t.planID == PlanID).FirstOrDefault();
                modelRID = model.RID;
                var demodel = db.D_PassengerList.Where(t => t.planID == PlanID);
                foreach (var deitem in demodel)
                {
                    deitem.PlanRID = modelRID;
                }
                db.SaveChanges();
            }

            using (var db = new VehicleEntities())
            {
                var modelPlanvalid = db.M_Plan.Where(t => t.RID == modelRID).FirstOrDefault();
                modelPlanvalid.valid  = "1";
                modelPlanvalid.IsSend = "0";
                db.SaveChanges();
            }

            if (success > 0)
            {
                return(rst);
            }
            else
            {
                rst = "fail";
                return(rst);
            }
        }