public AdItemWinWinDomainModel FromDto(AdItemWinWinDtoModel itemDto) { Id = itemDto.ItemId; DateUpdate = itemDto.DateUpdate; Longitude = itemDto.Longitude; Latitude = itemDto.Latitude; City = itemDto.City; Area = itemDto.Area; StreetAddress = itemDto?.StreetAddress?.ClearSymbols(); Rooms = itemDto.Rooms; Floor = itemDto.Floor; State = itemDto.State; DateEnter = itemDto.DateEnter; Square = itemDto?.Square?.ClearSymbols(); IsPartners = itemDto.IsPartners; AmountPayment = itemDto.AmountPayment; Description = itemDto.Description?.ClearSymbols(); Price = itemDto.Price; IsAgent = itemDto.IsAgent; ContactName = itemDto.ContactName; Phone1 = itemDto.Phone1; Phone2 = itemDto.Phone2; Images = itemDto.Images?.Select(x => new ExcelImageModel() { Full = x }).ToList() ?? new List<ExcelImageModel>(); return this; }
private async Task _saveItemDtoAsync(AdItemWinWinDtoModel item, ScraperWinWinStateModel state) { var filename = $"{state.ItemsPath}/{item.ItemId}.json"; await File.WriteAllTextAsync($"{filename}", JsonConvert.SerializeObject(item, Newtonsoft.Json.Formatting.Indented)); _log($"Save item {item.ItemId}, filename:{filename}"); }
private async Task <AdItemWinWinDtoModel> _parseItemPageAsync(HtmlDocument itemPage, ShortItemDtoModel shortItem) { DataCoordinatesLatLng coordinates = new DataCoordinatesLatLng(); var iframe = _parseItemPage_GetMediaFrameAsync(itemPage).Result; var itemId = shortItem.ItemId; var city = shortItem.City; var dateUpdate = shortItem.DateUpdate; var area = _parseItemPage_GetArea(itemPage); var streetAddress = _parseItemPage_GetStreetAddress(itemPage); var rooms = _parseItemPage_GetRooms(itemPage); var floor = _parseItemPage_GetFloor(itemPage); var state = _parseItemPage_GetState(itemPage); var dateEnter = _parseItemPage_GetDateEnter(itemPage); var square = _parseItemPage_GetSquare(itemPage); var isPartners = _parseItemPage_GetIsPartners(itemPage); var amountPayment = _parseItemPage_GetAmountPayments(itemPage); var description = _parseItemPage_GetDescription(itemPage); var price = _parseItemPage_GetPrice(itemPage); var isAgent = _parseItemPage_IsAgency(itemPage); string phone1, phone2, contactName; if (isAgent) { contactName = _parseItemPage_GetContactName_Agent(itemPage); phone1 = _parseItemPage_GetPhone1_Agent(itemPage); phone2 = _parseItemPage_GetPhone2_Agent(itemPage); } else { contactName = _parseItemPage_GetContactName_Private(itemPage); phone1 = _parseItemPage_GetPhone1_Private(itemPage); phone2 = _parseItemPage_GetPhone2_Private(itemPage); } var isOk = _parseItemPage_GetCoordinates(itemPage, coordinates); if (!isOk) { isOk = _parseItemPage_GetCoordinates2(iframe, coordinates); } if (!isOk) { isOk = await GetCoordinates_WebClientAsync(city, area, coordinates); } var images = _parseItemPage_GetImages(iframe); var result = new AdItemWinWinDtoModel() { ItemId = itemId, DateUpdate = dateUpdate, Longitude = coordinates.lng, Latitude = coordinates.lat, City = city, Area = area, StreetAddress = streetAddress, Rooms = rooms, Floor = floor, State = state, DateEnter = dateEnter, Square = square, IsPartners = isPartners, AmountPayment = amountPayment, Description = description, Price = price, ContactName = contactName, Phone1 = phone1, Phone2 = phone2, IsAgent = isAgent ? "yes":"no", Images = images, }; return(result); }