示例#1
0
        public void Get_InvalidRequest_ReturnsError()
        {
            var trackRequest = new TrackRequest {
                TrackId = new TrackId(),
                UserId  = _userId
            };

            TrackResponse trackResponse = _trackService.Get(trackRequest);

            Assert.That(trackResponse.Error, Is.Not.Null);
        }
        public virtual IList <ShipmentStatusEvent> GetShipmentEvents(string trackingNumber)
        {
            var events = new List <ShipmentStatusEvent>();

            if (string.IsNullOrWhiteSpace(trackingNumber))
            {
                _logger.Information("Tracking number cannot be null or empty");
                return(events);
            }

            try {
                var request = new TrackRequest {
                    TrackId = new TrackId {
                        Id = trackingNumber
                    },
                    UserId = _uspsSettings.Username
                };
                TrackResponse response = _trackService.Get(request);
                TrackInfo     info     = response.TrackInfo.FirstOrDefault();

                if (info != null)
                {
                    events.AddRange(info.TrackDetail.Select(e => new ShipmentStatusEvent {
                        EventName = e.Value
                    }));
                }
            } catch (Exception e) {
                _logger.Error(string.Format("Error while getting USPS shipment tracking info - {0}", trackingNumber), e);
            }

            return(events);
        }
示例#3
0
        public IHttpActionResult Get(int id)
        {
            TrackDto track;

            using (_trackService)
            {
                track = _trackService.Get(id);
            }
            return(Ok(track));
        }
示例#4
0
        public HttpResponseMessage Get(int id)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemResponse <Sabio.Web.Domain.Track> response = new ItemResponse <Sabio.Web.Domain.Track>();

            response.Item = _trackService.Get(id);

            return(Request.CreateResponse(response));
        }
示例#5
0
        public void GetTrackById_WhereTrackExists_ReturnsTrack([Values(1, 2, 3)] int idOfTrackToRetrieve)
        {
            //Arrange
            Mock.Arrange(() => _trackService.Get(idOfTrackToRetrieve))
            .Returns(_trackList.FirstOrDefault(t => t.TrackId == idOfTrackToRetrieve))
            .OccursOnce();

            var expected = _trackList.FirstOrDefault(tr => tr.TrackId == idOfTrackToRetrieve);

            var trackController = new TrackController(_trackService);

            //Act
            var actual        = trackController.Get(idOfTrackToRetrieve) as OkNegotiatedContentResult <TrackDto>;
            var actualContent = actual.Content;

            //Assert
            Mock.Assert(_trackService);
            Assert.That(actualContent, Is.EqualTo(expected));
        }
示例#6
0
        public async Task <IActionResult> GetCurrentUser()
        {
            var user = await userManager.GetUserAsync(User);

            var currentUserProfileInfo = new UserProfileInfo
            {
                Email     = user.Email,
                ImagePath = "http://10.0.2.2:40001/api/profile/getuserphoto?id=" + user.Id,
                UserName  = user.UserName,
            };

            if (user.TrackId.HasValue)
            {
                var track = await trackService.Get(user.TrackId.Value);

                currentUserProfileInfo.TrackArtist = track.Artist;
                currentUserProfileInfo.TrackTitle  = track.Title;
            }

            return(Ok(currentUserProfileInfo));
        }
示例#7
0
        public async Task <VideoDto> GetVideo(string spotifyId, string artist, string album, string song)
        {
            var video = await _videoService.Get(spotifyId);

            if (video != null)
            {
                return(video);
            }

            var track = await _trackService.Get(spotifyId) ?? await _trackService.Create(new CreateTrackRequest { SpotifyId = spotifyId, Album = album, Name = song, Artist = artist });

            var searchListRequest = _youTubeService.Search.List("snippet");

            searchListRequest.Q          = $"{artist} {album} {song}";
            searchListRequest.MaxResults = 1;
            var result = await searchListRequest.ExecuteAsync();

            if (!(result.Items.FirstOrDefault() is { } searchResult))
            {
                return(null);
            }

            return(await _videoService.Create(new CreateVideoRequest { TrackId = track.Id, YouTubeId = searchResult.Id.VideoId }));
        }