public TouristicSpot FromModelInToTouristicSpot()
        {
            List <CategoryTouristicSpot> listCategories = new List <CategoryTouristicSpot>();

            if (Categories == null || Categories.Length < 1)
            {
                listCategories = null;
            }
            else
            {
                foreach (int item in this.Categories)
                {
                    CategoryTouristicSpot c = new CategoryTouristicSpot();
                    c.CategoryId = item;
                    listCategories.Add(c);
                }
            }
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Name        = this.Name,
                Description = this.Description,
                RegionId    = this.RegionId,
                Categories  = listCategories,
                Image       = this.Image
            };

            return(touristicSpot);
        }
Ejemplo n.º 2
0
 private void CheckBookingTouristicSpot(TouristicSpot touristicSpot)
 {
     if (touristicSpot == null)
     {
         throw new NotFoundException("Touristic Spot");
     }
 }
 public TouristicSpot AddTouristicSpot(TouristicSpot spot)
 {
     CheckRegion(spot.RegionId);
     CheckCategories(spot.Categories);
     CheckName(spot.Name);
     return(this.touristicSpotRepository.AddAndSave(spot));
 }
Ejemplo n.º 4
0
 public TouristicSpotModelOut(TouristicSpot t)
 {
     Id          = t.Id;
     Name        = t.Name;
     Description = t.Description;
     Image       = t.Image;
 }
        public void TestGetByRegionAndCategory()
        {
            TouristicSpot touristicSpot = new TouristicSpot
            {
                Name        = "a",
                Description = "b"
            };
            List <int> listCategories = new List <int>
            {
                1
            };
            List <TouristicSpot> list = new List <TouristicSpot>
            {
                touristicSpot
            };
            var mockTouristicSpot = new Mock <ITouristicSpotLogic>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetSpotsByRegionAndCategory(It.IsAny <List <int> >(), It.IsAny <int>())).Returns(list);
            var controller = new TouristicSpotController(mockTouristicSpot.Object);

            var result = controller.GetByRegionCategory(1, listCategories) as OkObjectResult;

            mockTouristicSpot.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
Ejemplo n.º 6
0
        public void TestGetByName()
        {
            TouristicSpot spot = new TouristicSpot()
            {
                Id             = 1,
                Name           = "Villa Serrana",
                Accommodations = null,
                Description    = "Villa Serrana es un poblado ubicado en el departamento de Lavalleja de Uruguay,",
                Region         = null,
                RegionId       = 2,
                Categories     = null,
            };
            List <TouristicSpot> spots = new List <TouristicSpot>()
            {
                spot,
                new TouristicSpot()
                {
                    Id             = 2,
                    Name           = "Colonia del Sacramento",
                    Accommodations = null,
                    Description    = "Es conocida por su Barrio Histórico con calles de",
                    Region         = null,
                    RegionId       = 1,
                    Categories     = null,
                },
            };

            spots.ForEach(s => _context.Add(s));
            _context.SaveChanges();
            var repository = new TouristicSpotRepository(_context);

            var result = repository.GetByName("Villa Serrana");

            Assert.IsTrue(spot.Equals(result));
        }
Ejemplo n.º 7
0
        public void AddAccommodationNullInputTest2()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id            = 5,
                Name          = "abom",
                Address       = "ag",
                Images        = null,
                ContactNumber = "a",
                Information   = "a",
                PricePerNight = 5,
                SpotId        = 3,
            };

            TouristicSpot spot = new TouristicSpot()
            {
                Name = "a",
                Id   = 6
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.AddAndSave(It.IsAny <Accommodation>())).Returns(accommodation);
            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetById(It.IsAny <int>())).Returns(spot);
            var mockReview  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic       = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.AddAccommodation(accommodation);
        }
        public void TestCreateTouristicSpot()
        {
            TouristicSpot touristicSpot = new TouristicSpot
            {
                Name        = "a",
                Description = "b"
            };
            TouristicSpotModelIn touristicSpotModel = new TouristicSpotModelIn
            {
                Description = touristicSpot.Description,
                Name        = touristicSpot.Name
            };

            int[] list = new int[1];
            list[0] = 1;
            touristicSpotModel.Categories = list;
            var mockTouristicSpot = new Mock <ITouristicSpotLogic>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.AddTouristicSpot(It.IsAny <TouristicSpot>())).Returns(touristicSpot);
            var controller = new TouristicSpotController(mockTouristicSpot.Object);

            var result = controller.CreateSpot(touristicSpotModel) as OkObjectResult;

            mockTouristicSpot.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
        public void AddTouristicSpotAlreadyExistsTest()
        {
            List <CategoryTouristicSpot> categories = new List <CategoryTouristicSpot>();
            CategoryTouristicSpot        category   = new CategoryTouristicSpot()
            {
                CategoryId      = 1,
                TouristicSpotId = 5
            };

            categories.Add(category);
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Id         = 5,
                Name       = "abm",
                RegionId   = 3,
                Categories = categories
            };
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.AddAndSave(It.IsAny <TouristicSpot>())).Returns(touristicSpot);
            mockTouristicSpot.Setup(p => p.GetByName(It.IsAny <string>())).Returns(touristicSpot);
            var logic = new TouristicSpotLogic(mockTouristicSpot.Object);

            var result = logic.AddTouristicSpot(touristicSpot);

            mockTouristicSpot.VerifyAll();
            Assert.IsTrue(result.Equals(touristicSpot));
        }
        public IActionResult CreateSpot(TouristicSpotModelIn touristicSpotModelIn)
        {
            TouristicSpot touristicSpot = touristicSpotModelIn.FromModelInToTouristicSpot();
            var           response      = new TouristicSpotModelOut(touristicSpotLogic.AddTouristicSpot(touristicSpot));

            return(Ok(response));
        }
        public void AddAccommodationNullInputTest()
        {
            List <CategoryTouristicSpot> categories = new List <CategoryTouristicSpot>();
            CategoryTouristicSpot        category   = new CategoryTouristicSpot()
            {
                CategoryId      = 1,
                TouristicSpotId = 5
            };

            categories.Add(category);
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Id         = 5,
                Name       = "abm",
                RegionId   = 0,
                Categories = categories
            };
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.AddAndSave(It.IsAny <TouristicSpot>())).Returns(touristicSpot);
            mockTouristicSpot.Setup(p => p.GetByName(It.IsAny <string>())).Returns <Accommodation>(null);
            var logic = new TouristicSpotLogic(mockTouristicSpot.Object);

            var result = logic.AddTouristicSpot(touristicSpot);
        }
Ejemplo n.º 12
0
        public void TestEquals3()
        {
            TouristicSpot aux = new TouristicSpot
            {
                Name = "test"
            };

            Assert.IsFalse(touristicSpot.Equals(aux));
        }
Ejemplo n.º 13
0
        public void TestGetByRegion()
        {
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Id             = 4,
                Name           = "Colonia del Sacramento",
                Accommodations = new List <Accommodation>(),
                Description    = "Es conocida por su Barrio Histórico con calles de" +
                                 " adoquines rodeadas de edificios que datan de la" +
                                 " época en que era un asentamiento portugués.",
                Region     = new Region(),
                RegionId   = 1,
                Categories = new List <CategoryTouristicSpot>(),
            };
            List <TouristicSpot> spotsToReturn = new List <TouristicSpot>()
            {
                new TouristicSpot()
                {
                    Id             = 1,
                    Name           = "Villa Serrana",
                    Accommodations = new List <Accommodation>(),
                    Description    = "Villa Serrana es un poblado ubicado en el departamento de Lavalleja de Uruguay," +
                                     " a 25 kilómetros al noreste de la capital departamental," +
                                     " Minas, entre los valles de los arroyos Penitente y Marmarajá.",
                    Region = new Region()
                    {
                        Id = 3
                    },
                    RegionId   = 3,
                    Categories = new List <CategoryTouristicSpot>(),
                }, touristicSpot,
            };
            List <TouristicSpot> listToReturn = new List <TouristicSpot>
            {
                touristicSpot
            };

            spotsToReturn.ForEach(s => _context.Add(s));
            _context.SaveChanges();
            var repository = new TouristicSpotRepository(_context);
            var result     = repository.GetByRegion(1);

            Assert.IsTrue(listToReturn.SequenceEqual(result));
        }
Ejemplo n.º 14
0
        public void GetReportTest()
        {
            ReportTuple reportTuple = new ReportTuple()
            {
                Id    = 1,
                Count = 1
            };
            ReportTupleReturn reportTuplerReturn = new ReportTupleReturn
            {
                AccommodationName = "a", Count = 1
            };
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Id   = 4,
                Name = "a"
            };
            Accommodation accommodation = new Accommodation()
            {
                Id   = 1,
                Name = "a"
            };
            IList <ReportTuple> listReport = new List <ReportTuple>
            {
                reportTuple
            };
            List <ReportTupleReturn> listReturn = new List <ReportTupleReturn>();

            listReturn.Add(reportTuplerReturn);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var mockTourist       = new Mock <IAccommodationRepository>(MockBehavior.Strict);
            var mockAccommodation = new Mock <ITouristRepository>(MockBehavior.Strict);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockBooking.Setup(p => p.GetReport(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(listReport);
            mockTouristicSpot.Setup(p => p.GetByName(It.IsAny <string>())).Returns(touristicSpot);
            mockTourist.Setup(p => p.GetById(It.IsAny <int>())).Returns(accommodation);
            var controller = new BookingLogic(mockBooking.Object, mockTourist.Object, mockAccommodation.Object, mockTouristicSpot.Object);

            var result = controller.GetReport("a", new DateTime(2020, 01, 20), new DateTime(2020, 02, 20));

            mockBooking.VerifyAll();
            Assert.AreEqual(result[0].AccommodationName, listReturn[0].AccommodationName);
        }
        public void GetSpotsByCategoryAndRegionGetByRegionTest()
        {
            TouristicSpot touristicSpot = new TouristicSpot
            {
                Id   = 5,
                Name = "abom"
            };
            List <TouristicSpot> touristicSpots = new List <TouristicSpot>();
            List <int>           categories     = new List <int>();
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetByRegion(It.IsAny <int>())).Returns(touristicSpots);
            var logic = new TouristicSpotLogic(mockTouristicSpot.Object);

            var result = logic.GetSpotsByRegionAndCategory(categories, 0);

            mockTouristicSpot.VerifyAll();
            Assert.IsTrue(result.Equals(touristicSpots));
        }
Ejemplo n.º 16
0
        public void AddAccommodationTest2()
        {
            List <AccommodationImage> images = new List <AccommodationImage>();
            AccommodationImage        image  = new AccommodationImage()
            {
                Image           = "image",
                AccommodationId = 5
            };

            images.Add(image);
            Accommodation accommodation = new Accommodation()
            {
                Id            = 5,
                Name          = "abom",
                Address       = "ag",
                Images        = images,
                ContactNumber = "a",
                Information   = "a",
                PricePerNight = 5,
                SpotId        = 3,
            };
            TouristicSpot spot = new TouristicSpot()
            {
                Name = "a",
                Id   = 6
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.AddAndSave(It.IsAny <Accommodation>())).Returns(accommodation);
            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns <Accommodation>(null);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetById(It.IsAny <int>())).Returns(spot);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic       = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.AddAccommodation(accommodation);

            mockAccommodation.VerifyAll();
            mockTouristicSpot.VerifyAll();
            Assert.IsTrue(result.Equals(accommodation));
        }
Ejemplo n.º 17
0
        public void TestAddSpot()
        {
            TouristicSpot spot = new TouristicSpot()
            {
                Id             = 1,
                Name           = "Colonia del Sacramento",
                Accommodations = null,
                Description    = "Es conocida por su Barrio Histórico con calles de" +
                                 " adoquines rodeadas de edificios que datan de la" +
                                 " época en que era un asentamiento portugués.",
                Region     = null,
                RegionId   = 1,
                Categories = null,
            };
            var repository = new TouristicSpotRepository(_context);

            repository.AddAndSave(spot);

            Assert.AreEqual(_context.Find <TouristicSpot>(1), spot);
        }
Ejemplo n.º 18
0
        public void TestDelete()
        {
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Id             = 1,
                Name           = "Villa Serrana",
                Accommodations = null,
                Description    = "Villa Serrana es un poblado ubicado en el departamento de Lavalleja de Uruguay,",
                Region         = null,
                RegionId       = 2,
                Categories     = null,
            };

            _context.Add(touristicSpot);
            _context.SaveChanges();
            var repository = new TouristicSpotRepository(_context);

            repository.Delete(touristicSpot);

            Assert.IsNull(_context.Find <TouristicSpot>(touristicSpot.Id));
        }
Ejemplo n.º 19
0
        public void TestAddAccommodation()
        {
            List <CategoryTouristicSpot> categories = new List <CategoryTouristicSpot>();
            CategoryTouristicSpot        category   = new CategoryTouristicSpot()
            {
                CategoryId      = 1,
                TouristicSpotId = 5
            };

            categories.Add(category);
            TouristicSpot spot = new TouristicSpot()
            {
                Name       = "h",
                Categories = categories,
                RegionId   = 5
            };

            this._context.TouristicSpots.Add(spot);
            Accommodation accommodation = new Accommodation()
            {
                Id            = 3,
                Address       = "Test",
                Bookings      = null,
                ContactNumber = "09934566",
                Full          = false,
                Name          = "Radisson",
                Information   = "nice",
                PricePerNight = 1.76,
                Spot          = spot,
                SpotId        = 1
            };
            var repository = new AccommodationRepository(_context);

            repository.AddAndSave(accommodation);

            Assert.AreEqual(_context.Find <Accommodation>(3), accommodation);
        }
Ejemplo n.º 20
0
        public void TestGetByCategoryAndByRegion()
        {
            List <int> listOfCategoriesToSearch = new List <int>
            {
                1,
                3
            };
            CategoryTouristicSpot category1TouristicSpot4 = new CategoryTouristicSpot()
            {
                CategoryId      = 1,
                TouristicSpotId = 4
            };
            CategoryTouristicSpot category2TouristicSpot1 = new CategoryTouristicSpot()
            {
                CategoryId      = 2,
                TouristicSpotId = 1
            };
            CategoryTouristicSpot category3TouristicSpot4 = new CategoryTouristicSpot()
            {
                CategoryId      = 3,
                TouristicSpotId = 4
            };
            List <CategoryTouristicSpot> listOfCategoiresOfTouristicSpot4 = new List <CategoryTouristicSpot>
            {
                category1TouristicSpot4,
                category3TouristicSpot4
            };
            List <CategoryTouristicSpot> listOfCategoriesOfTouristicSpot1 = new List <CategoryTouristicSpot>
            {
                category2TouristicSpot1
            };
            TouristicSpot touristicSpotToReturn = new TouristicSpot()
            {
                Id             = 4,
                Name           = "Colonia del Sacramento",
                Accommodations = new List <Accommodation>(),
                Description    = "Es conocida por su Barrio Histórico con calles de",
                Region         = new Region()
                {
                    Id = 2
                },
                RegionId   = 2,
                Categories = listOfCategoiresOfTouristicSpot4,
            };
            List <TouristicSpot> spots = new List <TouristicSpot>()
            {
                new TouristicSpot()
                {
                    Id             = 1,
                    Name           = "Villa Serrana",
                    Accommodations = new List <Accommodation>(),
                    Description    = "Villa Serrana es un poblado ubicado en el departamento de Lavalleja de Uruguay,",
                    Region         = new Region(),
                    RegionId       = 1,
                    Categories     = listOfCategoriesOfTouristicSpot1,
                },
                touristicSpotToReturn,
                new TouristicSpot()
                {
                    Id             = 3,
                    Name           = "Vierrana",
                    Accommodations = new List <Accommodation>(),
                    Description    = "Vilartamento de Lavalleja de Uruguay," +
                                     " a 25 kilómetros",
                    Region     = touristicSpotToReturn.Region,
                    RegionId   = 2,
                    Categories = listOfCategoriesOfTouristicSpot1,
                },
            };
            List <TouristicSpot> listToReturn = new List <TouristicSpot>
            {
                touristicSpotToReturn
            };

            spots.ForEach(s => _context.Add(s));
            _context.SaveChanges();
            var repository = new TouristicSpotRepository(_context);

            var result = repository.GetByCategoryAndRegion(listOfCategoriesToSearch, 2);

            Assert.IsTrue(listToReturn.SequenceEqual(result));
        }
Ejemplo n.º 21
0
        public void TestEquals()
        {
            TouristicSpot aux = touristicSpot;

            Assert.IsTrue(touristicSpot.Equals(aux));
        }
 public TouristicSpot AddAndSave(TouristicSpot spot)
 {
     this.spots.Add(spot);
     this.bookUYContext.SaveChanges();
     return(spot);
 }
 public TouristicSpot Delete(TouristicSpot touristicSpot)
 {
     this.spots.Remove(touristicSpot);
     bookUYContext.SaveChanges();
     return(touristicSpot);
 }
Ejemplo n.º 24
0
        public void ImportTestWithNewTouristicSpot()
        {
            ImporterModel importerModel = new ImporterModel()
            {
                Name       = "Test",
                Parameters = new List <ValueParameter>()
                {
                    new ValueParameter()
                    {
                        Name  = "Path",
                        Value = "Path test"
                    }
                }
            };
            Region region = new Region()
            {
                Id   = 1,
                Name = "Region name"
            };
            Category category = new Category()
            {
                Id   = 1,
                Name = "Category name"
            };
            TouristicSpot touristicSpot = new TouristicSpot()
            {
                Name        = "TouristicSpot name",
                Description = "TouristicSpot description",
                Image       = "TouristicSpot image",
                RegionId    = 1,
                Categories  = new List <CategoryTouristicSpot>()
                {
                    new CategoryTouristicSpot()
                    {
                        CategoryId = 1
                    }
                }
            };
            Accommodation accommodation = new Accommodation()
            {
                Name          = "Accommodation name",
                Address       = "Accommodation address",
                ContactNumber = "Accommodation contactNumber",
                Full          = false,
                Images        = new List <AccommodationImage>()
                {
                    new AccommodationImage()
                    {
                        Image = "AccommodationImage image"
                    }
                },
                Information   = "Accommodation information",
                PricePerNight = 1
            };
            AccommodationModelOut accommodationModelOut = new AccommodationModelOut(accommodation, (0, new List <Review>()));
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns <Accommodation>(null);
            mockAccommodation.Setup(p => p.AddAndSave(It.IsAny <Accommodation>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.SetupSequence(p => p.GetByName(It.IsAny <string>())).Returns((TouristicSpot)null).Returns(touristicSpot);
            mockTouristicSpot.Setup(p => p.AddAndSave(It.IsAny <TouristicSpot>())).Returns(touristicSpot);
            var mockRegion = new Mock <IRepository <Region> >(MockBehavior.Strict);

            mockRegion.Setup(p => p.GetById(It.IsAny <int>())).Returns(region);
            var mockCategory = new Mock <IRepository <Category> >(MockBehavior.Strict);

            mockCategory.Setup(p => p.GetById(It.IsAny <int>())).Returns(category);
            var logic = new ImporterLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockRegion.Object, mockCategory.Object);

            var result = logic.Import(importerModel);

            mockAccommodation.VerifyAll();
            mockCategory.VerifyAll();
            mockTouristicSpot.VerifyAll();
            mockRegion.VerifyAll();
            Assert.AreEqual(accommodationModelOut, result);
        }
Ejemplo n.º 25
0
 public void CleanUp()
 {
     touristicSpot = new TouristicSpot();
 }
Ejemplo n.º 26
0
        public AccommodationModelOut Import(ImporterModel import)
        {
            var implementation = ObtainImplementation(import.Name);
            var parse          = new AccommodationParse();

            try
            {
                parse = implementation.Import(import.Parameters);
            }
            catch
            {
                throw new ImportParseException();
            }
            CheckTouristicSpot(parse.TouristicSpot);
            CheckRegion(parse.TouristicSpot.RegionId);
            CheckCategories(parse.TouristicSpot.Categories);
            CheckAccommodation(parse.Name);
            var touristicSpot = touristicSpotRepository.GetByName(parse.TouristicSpot.Name);

            if (touristicSpot == null)
            {
                List <CategoryTouristicSpot> categoryTouristicSpots = new List <CategoryTouristicSpot>();
                foreach (int category in parse.TouristicSpot.Categories)
                {
                    categoryTouristicSpots.Add(new CategoryTouristicSpot()
                    {
                        CategoryId = category
                    });
                }
                touristicSpot = new TouristicSpot()
                {
                    Categories  = categoryTouristicSpots,
                    Description = parse.TouristicSpot.Description,
                    Image       = parse.TouristicSpot.Image,
                    Name        = parse.TouristicSpot.Name,
                    RegionId    = parse.TouristicSpot.RegionId
                };
                touristicSpotRepository.AddAndSave(touristicSpot);
                touristicSpot = touristicSpotRepository.GetByName(parse.TouristicSpot.Name);
            }


            List <AccommodationImage> accommodationImages = new List <AccommodationImage>();

            foreach (AccommodationImageParse accommodationImage in parse.Images)
            {
                accommodationImages.Add(new AccommodationImage()
                {
                    Image = accommodationImage.Image
                });
            }
            Accommodation accommodation = this.accommodationRepository.AddAndSave(new Accommodation()
            {
                Address       = parse.Address,
                ContactNumber = parse.ContactNumber,
                Full          = parse.Full,
                Information   = parse.Information,
                Name          = parse.Name,
                PricePerNight = parse.PricePerNight,
                Images        = accommodationImages,
                Spot          = touristicSpot
            });

            return(new AccommodationModelOut(accommodation, (0, new List <Review>())));
        }
Ejemplo n.º 27
0
 public void StartUp()
 {
     touristicSpot = new TouristicSpot();
 }