Ejemplo n.º 1
0
        /// <summary>
        /// note, drive will need to have id = -1 before it is archived
        /// </summary>
        public static Data.ArchiveDrive MapArchive(Drive drive)
        {
            if (drive == null)
            {
                return(null);
            }
            var d = new Data.ArchiveDrive
            {
                DestinationId = drive.Dest.Id,
                DriverId      = drive.Driver.DriverId,
                Dtime         = drive.Time
            };

            if (drive.IsPickup)
            {
                d.Dtype = "Pickup";
            }
            else
            {
                d.Dtype = "Join";
            }
            if (drive.Id > -1)
            {
                d.Id = drive.Id;
            }
            return(d);
        }
Ejemplo n.º 2
0
 public static Drive Map(Data.ArchiveDrive drive)
 {
     if (drive == null)
     {
         return(null);
     }
     if (drive.Dtype == "Pickup")//Pickup
     {
         var d = new PickupDrive(Map(drive.Driver), Map(drive.Destination), drive.Dtime.Value, drive.Id);
         foreach (Data.ArchiveOrder pickup in drive.ArchiveOrder)//adds users and items
         {
             User u = Map(pickup.User);
             d.AddUser(u);
             foreach (Data.ArchiveItem item in pickup.ArchiveItem)
             {
                 d.AddItem(u, Map(item));
             }
         }
         return(d);
     }
     else//Join
     {
         var d = new JoinDrive(Map(drive.Driver), Map(drive.Destination), drive.Dtime.Value, drive.Id);
         foreach (Data.ArchiveUserJoin join in drive.ArchiveUserJoin)//adds users
         {
             d.AddUser(Map(join.User));
         }
         return(d);
     }
 }