Exemplo n.º 1
0
 public void CreateMileageReportDayByReportDay(int deviceId, DateTime reportDay)
 {
     var mrd = new EMileageReportDay() { DeviceId = deviceId, ReportDay = reportDay };
     var list = _positionService.GetDeviceHistoryDatas(deviceId, reportDay);
     if (list.Count > 1)
     {
         mrd.DayMileage = _mileageService.CalcMileage(list);
         var spt = new EMapPoint(list[0].E, list[0].F);
         mrd.StartTime = list[0].I;
         mrd.StartLatLng = spt.ToString();
         mrd.StartAddress = _mapService.GetLocation(spt).Address;
         var ept = new EMapPoint(list[list.Count - 1].E, list[list.Count - 1].F);
         mrd.EndTime = list[list.Count - 1].I;
         mrd.EndLatLng = ept.ToString();
         mrd.EndAddress = _mapService.GetLocation(ept).Address;
     }
     mrd.CreateTime = DateTime.Now;
     mrd.UpdateTime = DateTime.Now;
     _rep.Add(mrd);
 }
Exemplo n.º 2
0
 public void ReCalcMileageReportDays(int deviceId, DateTime reportDay)
 {
     var mrd = _rep.Get<EMileageReportDay>(p => p.DeviceId == deviceId && p.ReportDay == reportDay.GetDayStartTime());
     if (mrd == null)
     {
         CreateMileageReportDayByReportDay(deviceId, reportDay);
     }
     else
     {
         mrd.UpdateTime = DateTime.Now;
         var list = _positionService.GetDeviceHistoryDatas(deviceId, reportDay);
         if (list.Count > 1)
         {
             mrd.DayMileage = _mileageService.CalcMileage(list);
             var spt = new EMapPoint(list[0].E, list[0].F);
             mrd.StartTime = list[0].I;
             mrd.StartLatLng = spt.ToString();
             mrd.StartAddress = _mapService.GetLocation(spt).Address;
             var ept = new EMapPoint(list[list.Count - 1].E, list[list.Count - 1].F);
             mrd.EndTime = list[list.Count - 1].I;
             mrd.EndLatLng = ept.ToString();
             mrd.EndAddress = _mapService.GetLocation(ept).Address;
         }
         _rep.Save(mrd, p => p.DeviceId == deviceId && p.ReportDay == reportDay.GetDayStartTime());
     }
 }