Exemplo n.º 1
0
        public void TestFindNull()
        {
            var db = new BookingDB();

            (int, BookingType)key = (1, BookingType.Event);
            var returnedValues = db.Find(key);

            Assert.Null(returnedValues);
        }
Exemplo n.º 2
0
        public async Task <bool> BuyHotelAsync(int userId)
        {
            var logger = new Logger();
            await logger.WriteLogAsync($"{DateTime.Now} - Hotel purchase service triggered");

            var hotelKey    = (userId, BookingType.Hotel);
            var hotelKeyIds = _db.Find(hotelKey);
            var isBuying    = true;

            if (hotelKeyIds != null)
            {
                if (hotelKeyIds.Count != 0)
                {
                    foreach (var id in hotelKeyIds)
                    {
                        var hotelServiceUrl = BuyingServiceUrls.HOTEL_URL;
                        var hotelData       = new HotelDto()
                        {
                            BookingId = id
                        };

                        var body     = JsonConvert.SerializeObject(hotelData);
                        var response = await _client.PutAsync(hotelServiceUrl, new StringContent(body, Encoding.UTF8, "application/json"));

                        var responseData = false;
                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            dynamic a = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
                            responseData = a.status;
                        }

                        if (responseData == true)
                        {
                            isBuying = true;
                            _db.Remove(hotelKey);
                        }
                        else
                        {
                            isBuying = false;
                        }
                    }
                }
                else
                {
                    isBuying = false;
                }
            }
            else
            {
                isBuying = false;
            }

            return(isBuying);
        }
Exemplo n.º 3
0
        public async Task <bool> BuyTransportAsync(int userId)
        {
            var logger = new Logger();
            await logger.WriteLogAsync($"{DateTime.Now} - Transport purchase service triggered");

            var transportKey        = (userId, BookingType.Transport);
            var bookingTransportIds = _db.Find(transportKey);
            var isBuying            = true;

            if (bookingTransportIds != null)
            {
                if (bookingTransportIds.Count != 0)
                {
                    foreach (var id in bookingTransportIds)
                    {
                        var transportServiceUrl = BuyingServiceUrls.TRANSPORT_URL + id;
                        var transportData       = new TransportDto()
                        {
                            BookingId = id
                        };

                        var body     = JsonConvert.SerializeObject(transportData);
                        var response = await _client.GetAsync(transportServiceUrl);

                        var responseData = "";
                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            responseData = await response.Content.ReadAsStringAsync();
                        }

                        if (responseData == "true" || responseData == "True")
                        {
                            isBuying = true;
                            _db.Remove(transportKey);
                        }
                        else
                        {
                            isBuying = false;
                        }
                    }
                }
                else
                {
                    isBuying = false;
                }
            }
            else
            {
                isBuying = false;
            }

            return(isBuying);
        }
Exemplo n.º 4
0
        public async Task <bool> BuyEventAsync(int userId)
        {
            var logger = new Logger();
            await logger.WriteLogAsync($"{DateTime.Now} - Event purchase service triggered");

            var eventKey     = (userId, BookingType.Event);
            var eventlKeyIds = _db.Find(eventKey);
            var isBuying     = true;

            if (eventlKeyIds != null)
            {
                if (eventlKeyIds.Count != 0)
                {
                    foreach (var id in eventlKeyIds)
                    {
                        var eventServiceUrl = BuyingServiceUrls.EVENT_URL;
                        var hotelData       = new EventDto()
                        {
                            BookingId = id
                        };

                        var body     = JsonConvert.SerializeObject(hotelData);
                        var response = await _client.PostAsync(eventServiceUrl, new StringContent(body, Encoding.UTF8, "application/json"));

                        var responseData = "";
                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            responseData = await response.Content.ReadAsStringAsync();
                        }

                        if (responseData == "true")
                        {
                            isBuying = true;
                            _db.Remove(eventKey);
                        }
                        else
                        {
                            isBuying = false;
                        }
                    }
                }
                else
                {
                    isBuying = false;
                }
            }
            else
            {
                isBuying = false;
            }
            return(isBuying);
        }
Exemplo n.º 5
0
        public void TestRemove()
        {
            var db = new BookingDB();

            (int, BookingType)key = (1, BookingType.Event);
            List <int> values = new List <int>()
            {
                101, 102, 103
            };

            db.AddOrUpdate(key, values);
            db.Remove(key);

            Assert.Null(db.Find(key));
        }
Exemplo n.º 6
0
        public void TestFindAfterAdding()
        {
            var db = new BookingDB();

            (int, BookingType)key = (1, BookingType.Event);
            List <int> values = new List <int>()
            {
                101, 102, 103
            };

            db.AddOrUpdate(key, values);
            var returnedValues = db.Find(key);

            Assert.Equal(values, returnedValues);
        }