/// <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> /// 新增存儲 /// </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 = "保存失败" })); } } }