Пример #1
0
        private TrackResult FedEx_Track(CarrierAPI api, string trackingNumber)
        {
            TrackResult result = new TrackResult();

            FedEx_API  FedEx        = new FedEx_API(api);
            TrackReply FedEx_Result = FedEx.Tracking(trackingNumber);

            if (FedEx_Result.HighestSeverity != NotificationSeverityType.SUCCESS)
            {
                throw new Exception(string.Join(";", FedEx_Result.Notifications.Select(n => n.Message).ToArray()));
            }

            TrackDetail detail = FedEx_Result.CompletedTrackDetails[0].TrackDetails[0];

            if (detail.Events != null)
            {
                List <TrackEvent> FedEx_EventList = detail.Events.ToList();

                if (FedEx_EventList.Any(e => e.EventType == "PU"))
                {
                    result.PickupDate     = FedEx_EventList.First(e => e.EventType == "PU").Timestamp.ToUniversalTime();
                    result.DeliveryStatus = (int)OrderService.DeliveryStatusType.Intransit;
                }

                result.DeliveryNote = FedEx_EventList.Select(e => e.Timestamp.ToString() + " " + e.EventDescription).First();

                if (FedEx_EventList.Any(e => e.EventType == "DL"))
                {
                    result.DeliveryDate   = FedEx_EventList.First(e => e.EventType == "DL").Timestamp.ToUniversalTime();
                    result.DeliveryStatus = (int)OrderService.DeliveryStatusType.Delivered;
                }
            }

            return(result);
        }
Пример #2
0
        private TrackDetail TrackDetailsViewModelConfig(Track track)
        {
            TrackDetail result = new TrackDetail
            {
                AlbumId   = track.AlbumId,
                AutorName = db.Autors.Find(db.Albums.Find(track.AlbumId).AutorId).Name,
                AlbumName = db.Albums.Find(track.AlbumId).Name,
                AutorId   = db.Albums.Find(track.AlbumId).AutorId,
                Id        = track.TrackId,
                Rate      = track.Rate,
                TrackName = track.Name
            };

            return(result);
        }
Пример #3
0
        private TrackDetail TrackDetailBuilder(Track track)
        {
            TrackDetail result = new TrackDetail();

            result.Id        = track.TrackId;
            result.AlbumId   = track.AlbumId;
            result.TrackName = track.Name;
            result.Rate      = track.Rate;
            Album album = db.Albums.Find(track.AlbumId);

            result.AlbumName = album.Name;
            result.AutorId   = album.AutorId;
            Autor autor = db.Autors.Find(album.AutorId);

            result.AutorName = autor.Name;
            return(result);
        }