public static void InitTruckPositions()
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("Utils", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "InitTruckPositions")) {
         try {
             DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent southGrRa = new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().GetAsQueryable <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>((ra) => ra.AgencyCode == "AG.265")?.FirstOrDefault();
             System.Collections.Generic.List <DSS3_LogisticsPoolingForUrbanDistribution.BO.Truck> trucks = southGrRa?.Trucks;
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates creteGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             creteGeo.Latitude = float.Parse("35.317223", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); creteGeo.Longitude = float.Parse("25.099130", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((trucks?.Count() ?? 0) > 0))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(trucks, 0).CurrentLocation = creteGeo;
             }
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates athensGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             athensGeo.Latitude = float.Parse("37.923545", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); athensGeo.Longitude = float.Parse("23.889674", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((trucks?.Count() ?? 0) > 1))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(trucks, 1).CurrentLocation = athensGeo;
             }
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates athGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             athGeo.Latitude = float.Parse("38.008472", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); athGeo.Longitude = float.Parse("23.715051", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((trucks?.Count() ?? 0) > 2))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(trucks, 2).CurrentLocation = athGeo;
             }
             new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().Save <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>(southGrRa);
             DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent northRa = new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().GetAsQueryable <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>((rag) => rag.AgencyCode == "A.G.709")?.FirstOrDefault();
             System.Collections.Generic.List <DSS3_LogisticsPoolingForUrbanDistribution.BO.Truck> northtrucks = northRa?.Trucks;
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates lamiaGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             lamiaGeo.Latitude = float.Parse("38.903778", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); lamiaGeo.Longitude = float.Parse("22.541465", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((northtrucks?.Count() ?? 0) > 0))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(northtrucks, 0).CurrentLocation = lamiaGeo;
             }
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates IoanninaGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             IoanninaGeo.Latitude = float.Parse("39.655994", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); IoanninaGeo.Longitude = float.Parse("20.826959", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((northtrucks?.Count() ?? 0) > 1))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(northtrucks, 1).CurrentLocation = IoanninaGeo;
             }
             DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates LarissaGeo = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
             LarissaGeo.Latitude = float.Parse("39.590443", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); LarissaGeo.Longitude = float.Parse("22.488873", System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); if (((northtrucks?.Count() ?? 0) > 2))
             {
                 zAppDev.DotNet.Framework.Utilities.Common.GetItemFromList(northtrucks, 2).CurrentLocation = LarissaGeo;
             }
             new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().Save <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>(northRa);
             foreach (var truck in trucks ?? Enumerable.Empty <DSS3_LogisticsPoolingForUrbanDistribution.BO.Truck>())
             {
                 DSS3_LogisticsPoolingForUrbanDistribution.BO.GPSLocation gpsloc = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GPSLocation();
                 gpsloc.truck_license_plate = (truck?.PlateNumber ?? ""); gpsloc.latitude = (truck?.CurrentLocation?.Latitude ?? 0); gpsloc.longitude = (truck?.CurrentLocation?.Longitude ?? 0); gpsloc.timestamp = DSS3_LogisticsPoolingForUrbanDistribution.BO.UtilsExtensions.ConvertToTimestampFormat(DateTime.UtcNow); gpsloc?.Publish();
             }
             foreach (var truck in northtrucks ?? Enumerable.Empty <DSS3_LogisticsPoolingForUrbanDistribution.BO.Truck>())
             {
                 DSS3_LogisticsPoolingForUrbanDistribution.BO.GPSLocation gpsloc = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GPSLocation();
                 gpsloc.truck_license_plate = (truck?.PlateNumber ?? ""); gpsloc.latitude = (truck?.CurrentLocation?.Latitude ?? 0); gpsloc.longitude = (truck?.CurrentLocation?.Longitude ?? 0); gpsloc.timestamp = DSS3_LogisticsPoolingForUrbanDistribution.BO.UtilsExtensions.ConvertToTimestampFormat(DateTime.UtcNow); gpsloc?.Publish();
             }
         }
         catch (System.Exception x) {
             zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Error, "Utils", DSS3_LogisticsPoolingForUrbanDistribution.Hubs.EventsHub.RaiseDebugMessage, "init truck positions");
             zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Error, "Utils", DSS3_LogisticsPoolingForUrbanDistribution.Hubs.EventsHub.RaiseDebugMessage, x);
         }
     }
 }
コード例 #2
0
 public static void InitAddressGeocoordinates()
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("RegionalAgent", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "InitAddressGeocoordinates")) {
         try {
             foreach (var ra in new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().GetAll <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>() ?? Enumerable.Empty <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>())
             {
                 DSS3_LogisticsPoolingForUrbanDistribution.BO.MapPoints mapPoint = new DSS3_LogisticsPoolingForUrbanDistribution.BO.MapPoints();
                 DSS3_LogisticsPoolingForUrbanDistribution.ExternalStructs.GoogleGeocode.Root response = DSS3_LogisticsPoolingForUrbanDistribution.BLL.ExternalRestServices.GoogleGeocodeRestService.GeoLocation((ra?.AgencyAddress ?? ""));
                 zAppDev.DotNet.Framework.Utilities.Serializer <DSS3_LogisticsPoolingForUrbanDistribution.ExternalStructs.GoogleGeocode.Root> ser = new zAppDev.DotNet.Framework.Utilities.Serializer <DSS3_LogisticsPoolingForUrbanDistribution.ExternalStructs.GoogleGeocode.Root>();
                 zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "RegionalAgent", DSS3_LogisticsPoolingForUrbanDistribution.Hubs.EventsHub.RaiseDebugMessage, "google response " + ser.ToJson(response));
                 if ((response.results.Length == 0))
                 {
                     continue;
                 }
                 DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates addressCoordinates = new DSS3_LogisticsPoolingForUrbanDistribution.BO.GeoCoordinates();
                 addressCoordinates.Latitude = float.Parse(zAppDev.DotNet.Framework.Utilities.Common.GetItemFromArray(response.results, 0).geometry.location.lat, System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); addressCoordinates.Longitude = float.Parse(zAppDev.DotNet.Framework.Utilities.Common.GetItemFromArray(response.results, 0).geometry.location.lng, System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); ra.AddressCoordinates = addressCoordinates; new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().Update <DSS3_LogisticsPoolingForUrbanDistribution.BO.RegionalAgent>(ra);
             }
         }
         catch (System.Exception x) {
             zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Error, "RegionalAgent", DSS3_LogisticsPoolingForUrbanDistribution.Hubs.EventsHub.RaiseDebugMessage, x);
         }
     }
 }