/// <summary> /// 改变GPS绑定信息 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="pgpslist"></param> public void WlChangeGps(string keyValue, OperticketmanagerEntity entity) { //开始事物 var res = DbFactory.Base().BeginTrans(); try { //将该车1小时内的打卡记录都变为已进场 Repository <OperticketmanagerEntity> inlogdb = new Repository <OperticketmanagerEntity>(DbFactory.Base()); OperticketmanagerEntity old = inlogdb.FindEntity(keyValue); bool isupdate = false;//是否修改 if (old.GpsId != entity.GpsId) { isupdate = true; } old.GpsId = entity.GpsId; old.GpsName = entity.GpsName; old.Modify(keyValue); if (old.ExamineStatus == 1) { old.ExamineStatus = 2; CargpsEntity cgps = new CargpsEntity(); cgps.AID = old.ID; cgps.CarNo = old.Platenumber; cgps.GpsId = old.GpsId; cgps.GpsName = old.GpsName; cgps.Status = 0; cgps.Type = 1; cgps.Create(); res.Insert <CargpsEntity>(cgps); } else { if (isupdate) { Repository <CargpsEntity> Carinlogdb = new Repository <CargpsEntity>(DbFactory.Base()); CargpsEntity Car = Carinlogdb.IQueryable(it => it.AID == old.ID && it.Status == 0).FirstOrDefault(); Car.GpsId = old.GpsId; Car.GpsName = old.GpsName; Car.Modify(Car.ID); res.Update <CargpsEntity>(Car); } } res.Update <OperticketmanagerEntity>(old); res.Commit(); } catch (Exception ex) { res.Rollback(); throw ex; } }
/// <summary> /// 改变GPS绑定信息 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="pgpslist"></param> public void ChangeGps(string keyValue, VisitcarEntity entity, List <PersongpsEntity> pgpslist) { //开始事物 var res = DbFactory.Base().BeginTrans(); try { //将该车1小时内的打卡记录都变为已进场 Repository <VisitcarEntity> inlogdb = new Repository <VisitcarEntity>(DbFactory.Base()); VisitcarEntity old = inlogdb.FindEntity(keyValue); bool isupdate = false;//是否修改 if (old.GPSID != entity.GPSID) { isupdate = true; } old.GPSID = entity.GPSID; old.GPSNAME = entity.GPSNAME; old.Modify(keyValue); if (old.State == 1) { old.State = 2; if (pgpslist != null) { for (int i = 0; i < pgpslist.Count; i++) { pgpslist[i].InTime = DateTime.Now; pgpslist[i].State = 0; pgpslist[i].Type = 0; pgpslist[i].VID = old.ID; pgpslist[i].UserName = pgpslist[i].UserName.Substring(0, pgpslist[i].UserName.IndexOf(':')); pgpslist[i].Create(); } res.Insert <PersongpsEntity>(pgpslist); } CargpsEntity cgps = new CargpsEntity(); cgps.AID = old.ID; cgps.CarNo = old.CarNo; cgps.GpsId = old.GPSID; cgps.GpsName = old.GPSNAME; cgps.Status = 0; cgps.Type = 1; cgps.Create(); res.Insert <CargpsEntity>(cgps); } else { string sql = ""; if (pgpslist != null) { for (int i = 0; i < pgpslist.Count; i++) { sql += "update bis_persongps set gpsid='" + pgpslist[i].GPSID + "' , gpsname='" + pgpslist[i].GPSNAME + "' where id='" + pgpslist[i].ID + "'"; res.ExecuteBySql(sql); } } if (isupdate) { Repository <CargpsEntity> Carinlogdb = new Repository <CargpsEntity>(DbFactory.Base()); CargpsEntity Car = Carinlogdb.IQueryable(it => it.AID == old.ID && it.Status == 0).FirstOrDefault(); Car.GpsId = old.GPSID; Car.GpsName = old.GPSNAME; Car.Modify(Car.ID); res.Update <CargpsEntity>(Car); } } res.Update <VisitcarEntity>(old); res.Commit(); } catch (Exception ex) { res.Rollback(); throw ex; } }