private static Venue GetPurchaseVenue(CheckinsContainer checkinsContainer, CheckinParser.CheckinParser checkinParser)
        {
            Venue venue = new Venue();

            venue.Name = checkinParser.GetPurchaseVenue();
            return(GetVenue(venue, checkinsContainer));
        }
Exemple #2
0
        private void AddCheckin(Checkin checkin, CheckinsContainer checkinsContainer)
        {
            Beer beer = checkinsContainer.GetBeer(checkin.Beer.Id);

            if (beer == null)
            {
                beer = checkin.Beer;
                Brewery brewery = checkinsContainer.GetBrewery(beer.Brewery.Id);
                if (brewery == null)
                {
                    brewery = beer.Brewery;
                    Venue venue = brewery.Venue;
                    if (IsUpdateVenue(ref venue, checkinsContainer))
                    {
                        brewery.Venue = venue;
                    }

                    checkinsContainer.AddBrewery(brewery);
                }
                else
                {
                    beer.Brewery = brewery;
                }
                checkinsContainer.AddBeer(beer);
            }
            else
            {
                checkin.Beer = beer;
            }

            FillCheckinVenue(checkin, checkinsContainer);
            checkinsContainer.AddCheckin(checkin);
        }
        private static void FillCheckinsContainer(CheckinsContainer checkinsContainer, CheckinParser.CheckinParser checkinParser)
        {
            Checkin checkin = GetCheckin(checkinParser);

            checkin.VenuePurchase = GetPurchaseVenue(checkinsContainer, checkinParser);
            checkin.Venue         = GetCheckinVenue(checkinsContainer, checkinParser);
            checkinsContainer.AddCheckin(checkin);

            Beer beer = checkinsContainer.GetBeer(checkinParser.GetBeerID());

            if (beer == null)
            {
                beer = GetBeer(checkinParser);
                checkinsContainer.AddBeer(beer);

                Brewery brewery = checkinsContainer.GetBrewery(checkinParser.GetBreweryID());
                if (brewery == null)
                {
                    brewery       = GetBrewery(checkinParser);
                    brewery.Venue = GetBreweryVenue(checkinsContainer, checkinParser);
                    checkinsContainer.AddBrewery(brewery);
                }
                beer.Brewery = brewery;
            }
            checkin.Beer = beer;
        }
Exemple #4
0
 public static CheckinsContainer GetCheckinsContainer()
 {
     using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(Resources.ResourcesTestFileName))
     {
         CheckinsContainer checkinsContainer = new CheckinsContainer();
         CheckinCSVMapper.InitializeCheckinsContainer(checkinsContainer, stream);
         return(checkinsContainer);
     }
 }
        private static Venue GetBreweryVenue(CheckinsContainer checkinsContainer, CheckinParser.CheckinParser checkinParser)
        {
            Venue venue = new Venue();

            venue.Country = checkinParser.GetBreweryCountry();
            venue.State   = checkinParser.GetBreweryState();
            venue.City    = checkinParser.GetBreweryCity();
            return(GetVenue(venue, checkinsContainer));
        }
Exemple #6
0
        public void TestBeers()
        {
            Client untappdClient = new Client();

            untappdClient.Initialize(AccessToken);

            Assert.True(untappdClient.Check());
            CheckinsContainer checkinsContainer = TestHelper.GetCheckinsContainer();

            untappdClient.UpdateBeers(checkinsContainer.Beers.Where(TestHelper.IsUpdateBeer).ToList(), TestHelper.IsUpdateBeer);
        }
Exemple #7
0
        public void TestReport()
        {
            ReportingService reportingService = new ReportingService();

            using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(Resources.ResourcesTestFileName))
            {
                CheckinsContainer checkinsContainer = new CheckinsContainer();
                CheckinCSVMapper.InitializeCheckinsContainer(checkinsContainer, stream);
                reportingService.CreateAllCheckinsReport(checkinsContainer.Checkins, @"", "result");
            }
        }
Exemple #8
0
        public void TestCheckins()
        {
            Client untappdClient = new Client();

            untappdClient.Initialize(AccessToken);

            Assert.True(untappdClient.Check());
            CheckinsContainer checkinsContainer = new CheckinsContainer();

            untappdClient.FillFullCheckins(checkinsContainer);
        }
        private static Venue GetCheckinVenue(CheckinsContainer checkinsContainer, CheckinParser.CheckinParser checkinParser)
        {
            Venue venue = new Venue();

            venue.Name      = checkinParser.GetVenueName();
            venue.Country   = checkinParser.GetVenueCountry();
            venue.State     = checkinParser.GetVenueState();
            venue.City      = checkinParser.GetVenueCity();
            venue.Latitude  = checkinParser.GetVenueLat();
            venue.Longitude = checkinParser.GetVenueLng();
            return(GetVenue(venue, checkinsContainer));
        }
Exemple #10
0
        private static bool IsUpdateVenue(ref Venue venue, CheckinsContainer checkinsContainer)
        {
            Venue existVenue = checkinsContainer.GetVenue(venue);

            if (existVenue != null)
            {
                venue = existVenue;
                return(true);
            }
            checkinsContainer.AddVenue(venue);
            return(false);
        }
Exemple #11
0
        private void FillCheckins(CheckinsContainer checkinsContainer, long maxId, long?minId = null)
        {
            long currentId = maxId;
            int  counter   = 0;
            bool isRun     = true;

            while (isRun)
            {
                HttpResponseMessage httpResponse = GetHttpResponse($"user/checkins/?max_id={currentId}&limit=50");
                if ((long)httpResponse.StatusCode == 429)
                {
                    throw new ArgumentException(httpResponse.ReasonPhrase);
                }

                string            responseBody      = httpResponse.Content.ReadAsStringAsync().Result;
                CheckinsQuickType checkinsQuickType = JsonConvert.DeserializeObject <CheckinsQuickType>(responseBody);
                if (checkinsQuickType.Response.Pagination.MaxId.HasValue)
                {
                    List <Checkin> currentCheckins = CheckinMapper.GetCheckins(checkinsQuickType.Response.Checkins);

                    if (minId.HasValue && currentCheckins.Any(item => item.Id == minId.Value))
                    {
                        foreach (Checkin currentCheckin in currentCheckins)
                        {
                            if (currentCheckin.Id == minId.Value)
                            {
                                isRun = false;
                                break;
                            }
                            AddCheckin(currentCheckin, checkinsContainer);
                            counter++;
                        }
                        UploadedCountInvoke(counter);
                    }
                    else
                    {
                        foreach (Checkin currentCheckin in currentCheckins)
                        {
                            AddCheckin(currentCheckin, checkinsContainer);
                            counter++;
                        }

                        UploadedCountInvoke(counter);
                    }
                    currentId = checkinsQuickType.Response.Pagination.MaxId.Value;
                }
                else
                {
                    isRun = false;
                }
            }
        }
Exemple #12
0
        private static void FillCheckinVenue(Checkin checkin, CheckinsContainer checkinsContainer)
        {
            Venue existVenue = checkinsContainer.GetVenue(checkin.Venue);

            if (existVenue != null)
            {
                checkin.Venue = existVenue;
            }
            else
            {
                checkinsContainer.AddVenue(checkin.Venue);
            }
        }
        private static Venue GetVenue(Venue venue, CheckinsContainer checkinsContainer)
        {
            Venue existVenue = checkinsContainer.GetVenue(venue);

            if (existVenue != null)
            {
                venue = existVenue;
            }
            else
            {
                checkinsContainer.AddVenue(venue);
            }

            return(venue);
        }
        public static void InitializeCheckinsContainer(CheckinsContainer checkinsContainer, Stream stream)
        {
            if (stream == null)
            {
                return;
            }

            using (TextFieldParser csvParser = new TextFieldParser(stream))
            {
                csvParser.SetDelimiters(",");
                csvParser.HasFieldsEnclosedInQuotes = true;
                string parametersNameLine = csvParser.ReadLine();
                CheckinParserFactory checkinParserFactory = new CheckinParserFactory(parametersNameLine);
                while (!csvParser.EndOfData)
                {
                    string[] parametersValue = csvParser.ReadFields();
                    FillCheckinsContainer(checkinsContainer, checkinParserFactory.GetCheckinParser(parametersValue));
                }
            }
        }
Exemple #15
0
        public void CheckinTextMapperTest()
        {
            CheckinsContainer checkinsContainer = TestHelper.GetCheckinsContainer();

            Assert.IsTrue(checkinsContainer.Checkins.Count > 0);
        }
Exemple #16
0
 public void FillToEndCheckins(CheckinsContainer checkinsContainer)
 {
     FillCheckins(checkinsContainer, checkinsContainer.Checkins.Min(item => item.Id));
 }
Exemple #17
0
 public void FillFirstCheckins(CheckinsContainer checkinsContainer)
 {
     FillCheckins(checkinsContainer, 0, checkinsContainer.Checkins.Max(item => item.Id));
 }
Exemple #18
0
 public void FillFullCheckins(CheckinsContainer checkinsContainer)
 {
     FillCheckins(checkinsContainer, 0);
 }