public void CreateLandMark([FromBody] LandmarkDto landMark) { var obj = landMark;//JsonConvert.DeserializeObject<LandMark>(landMark.ToString()); if (obj != null) { _landmarkServices.CreateLandMark(obj.longitude, obj.latitude, user.ToString()); } }
private LandmarkDto TryGetLandmarkById(int id) { Landmark retrieved = landmarks.GetById(id); ICollection <string> currentImages = retrieved.Images; ICollection <string> currentAudios = retrieved.Audios; LandmarkDto dto = ConvertToDto(retrieved); return(dto); }
private ICollection <LandmarkDto> GetLandmarkDtos(ICollection <Landmark> retrievedLandmarks) { ICollection <LandmarkDto> result = new List <LandmarkDto>(); foreach (Landmark current in retrievedLandmarks) { LandmarkDto dto = ConvertToDto(current); result.Add(dto); } return(result); }
public void ShouldReturnLandmarkOfIdGivenFromRepository() { int id = 2; Landmark fake = GetFakeLandmarks().First(l => l.Id == id); LandmarkDto retrieved = service.GetLandmarkById(id); landmarks.Verify(l => l.GetById(id), Times.Once); Assert.AreEqual(fake.Title, retrieved.Title); Assert.AreEqual(fake.Description, retrieved.Description); Assert.AreEqual(fake.Audios.Count, retrieved.AudioFiles.Count); }
public void ShouldReturnTheLandmarkWithTheIdInGET() { int id = 2; IActionResult result = controller.Get(id); OkObjectResult ok = result as OkObjectResult; LandmarkDto landmark = ok.Value as LandmarkDto; fakeLandmarksService.Verify(r => r.GetLandmarkById(id), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(ok); Assert.AreEqual(200, ok.StatusCode); Assert.IsNotNull(landmark); }
public IActionResult Get(int id) { IActionResult result; try { LandmarkDto retrieved = landmarks.GetLandmarkById(id); result = Ok(retrieved); } catch (ServiceException e) { result = errorFactory.GenerateError(e); } return(result); }
public void ShouldReturnTheDtosAsRetrieved() { double centerLat = -34.912127; double centerLng = -56.167283; IActionResult result = controller.Get(centerLat, centerLng, 2); OkObjectResult ok = result as OkObjectResult; List <LandmarkDto> landmarks = ok.Value as List <LandmarkDto>; LandmarkDto firstLandmark = landmarks[0]; Assert.AreEqual(1, firstLandmark.Id); Assert.AreEqual("Landmark 1", firstLandmark.Title); Assert.AreEqual(-34.912126, firstLandmark.Latitude); Assert.AreEqual(-56.167282, firstLandmark.Longitude); Assert.AreEqual("image1", firstLandmark.ImageFiles.First()); }
private LandmarkDto GetLandmark(string url) { var document = this.context.OpenAsync(url).GetAwaiter().GetResult(); if (document.StatusCode == System.Net.HttpStatusCode.NotFound) { Console.WriteLine($"Not found url({url})"); throw new InvalidOperationException(); } var landmark = new LandmarkDto(); // Get name var landmarkNames = document.QuerySelectorAll(".title > h1"); foreach (var item in landmarkNames) { var landmarkName = item.TextContent; landmark.Name = landmarkName; } // Get landmark model elements var ladmarkModelElements = document.QuerySelectorAll(".list-table > ul > li > span"); var categoryName = ladmarkModelElements[0].TextContent; landmark.CategoryName = categoryName; var regionName = ladmarkModelElements[1].TextContent; landmark.RegionName = regionName; var townName = ladmarkModelElements[2].TextContent; landmark.TownName = townName; var mountainName = ladmarkModelElements[3].TextContent; landmark.MountainName = mountainName; var coordinates = ladmarkModelElements[4].TextContent.Split(", "); double latitude = double.Parse(coordinates[0]); double longitude = double.Parse(coordinates[1]); landmark.Latitude = latitude; landmark.Longitute = longitude; var website = ladmarkModelElements[5].TextContent; landmark.Websate = website; var address = ladmarkModelElements[6].TextContent; landmark.Address = address; var phone = ladmarkModelElements[7].TextContent; landmark.PhoneNumber = phone; var workTime = ladmarkModelElements[8].TextContent; landmark.WorkTime = workTime; var daysOff = ladmarkModelElements[9].TextContent; landmark.DayOff = daysOff; var entranceFeeAsString = ladmarkModelElements[10].TextContent.Split(' '); double entranceFee = 0; bool isThereFee = double.TryParse(entranceFeeAsString[0], out entranceFee); landmark.EntranceFee = isThereFee ? entranceFee : 0; var accessibility = document.QuerySelectorAll(".list-table > ul > li > span > em.rating"); foreach (var item in accessibility) { var currentAccessibility = int.Parse(item.GetAttribute("data-score")); landmark.Difficulty = 6 - currentAccessibility; } // Get description var landmarkDescription = document.QuerySelectorAll(".post > .entry > p"); StringBuilder sb = new StringBuilder(); foreach (var item in landmarkDescription) { sb.AppendLine(item.TextContent); } var allDescripition = sb.ToString().TrimEnd(); landmark.Description = allDescripition; // Get images var imagesUrl = document.QuerySelectorAll(".gallery-slides div.gallery-slide"); foreach (var imageUrl in imagesUrl) { var curentImageContent = imageUrl.GetAttribute("style"); var curentImageUrl = curentImageContent.Split("url(")[1]; curentImageUrl = curentImageUrl.TrimEnd(')'); LandmarkImage image = new LandmarkImage { RemoteImageUrl = curentImageUrl, }; landmark.Images.Add(image); } return(landmark); }