Example #1
0
 public RouteResolver(IActivityMonitor monitor, RouteConfiguration c)
 {
     try
     {
         using (monitor.OpenGroup(LogLevel.Info, c.Name.Length > 0 ? string.Format("Resolving root configuration (name is '{0}').", c.Name) : "Resolving root configuration.", null))
         {
             ProtoResolver protoResolver = new ProtoResolver(monitor, c);
             NamedSubRoutes = new Dictionary <string, SubRouteConfigurationResolved>();
             using (monitor.OpenGroup(LogLevel.Info, "Building final routes.", null))
             {
                 var preRoot = new PreRoute(monitor, protoResolver.Root);
                 Root = new RouteConfigurationResolved(protoResolver.Root.FullName, c.ConfigData, preRoot.FinalizeActions());
                 foreach (IProtoSubRoute sub in protoResolver.NamedSubRoutes.Values)
                 {
                     var preRoute = new PreRoute(monitor, sub);
                     NamedSubRoutes.Add(sub.FullName, new SubRouteConfigurationResolved(sub, preRoute.FinalizeActions()));
                 }
                 Root.SubRoutes = protoResolver.Root.SubRoutes.Select(p => NamedSubRoutes[p.FullName]).ToArray();
                 foreach (IProtoSubRoute sub in protoResolver.NamedSubRoutes.Values)
                 {
                     NamedSubRoutes[sub.FullName].SubRoutes = sub.SubRoutes.Select(p => NamedSubRoutes[p.FullName]).ToArray();
                 }
             }
         }
     }
     catch (Exception ex)
     {
         monitor.SendLine(LogLevel.Fatal, null, ex);
     }
 }
Example #2
0
        private async Task <int> CopyInsertRouteAndGetId(PreRoute src, int depotId, DateTime carroutDate, int workerId)
        {
            Route route = new Route();

            route.DepotId        = depotId;
            route.CarryoutDate   = carroutDate;
            route.RouteName      = src.RouteName;
            route.Status         = "安排";
            route.RouteTypeId    = src.RouteTypeId;
            route.VehicleId      = src.VehicleId;
            route.StartTime      = src.StartTime;
            route.EndTime        = src.EndTime;
            route.Mileage        = src.Mileage;
            route.Remark         = src.Remark;
            route.CreateWorkerId = workerId;
            route.CreateTime     = DateTime.Now;
            return(await _routeRepository.InsertAndGetIdAsync(route));
        }
Example #3
0
 public RouteResolver( IActivityMonitor monitor, RouteConfiguration c )
 {
     try
     {
         using( monitor.OpenGroup( LogLevel.Info, c.Name.Length > 0 ? string.Format( "Resolving root configuration (name is '{0}').", c.Name ) : "Resolving root configuration.", null ) )
         {
             ProtoResolver protoResolver = new ProtoResolver( monitor, c );
             NamedSubRoutes = new Dictionary<string, SubRouteConfigurationResolved>();
             using( monitor.OpenGroup( LogLevel.Info, "Building final routes.", null ) )
             {
                 var preRoot = new PreRoute( monitor, protoResolver.Root );
                 Root = new RouteConfigurationResolved( protoResolver.Root.FullName, c.ConfigData, preRoot.FinalizeActions() );
                 foreach( IProtoSubRoute sub in protoResolver.NamedSubRoutes.Values )
                 {
                     var preRoute = new PreRoute( monitor, sub );
                     NamedSubRoutes.Add( sub.FullName, new SubRouteConfigurationResolved( sub, preRoute.FinalizeActions() ) );
                 }
                 Root.SubRoutes = protoResolver.Root.SubRoutes.Select( p => NamedSubRoutes[p.FullName] ).ToArray();
                 foreach( IProtoSubRoute sub in protoResolver.NamedSubRoutes.Values )
                 {
                     NamedSubRoutes[sub.FullName].SubRoutes = sub.SubRoutes.Select( p => NamedSubRoutes[p.FullName] ).ToArray();
                 }
             }
         }
     }
     catch( Exception ex )
     {
         monitor.SendLine( LogLevel.Fatal, null, ex );
     }
 }