public AdItemYad2DbModel FromDomain(AdItemYad2DomainModel item) { AdItemId = item.Id; DateCreate = item.DateCreate; DateUpdate = item.DateUpdate; HeCity = item.HeCity; HouseNumber = item.HeHouseNumber.ConvertToInt(); Neighborhood = item.HeNeighborhood; StreetName = item.HeStreetName; Latitude = item.Latitude.ConvertToDouble(); Longitude = item.Longitude.ConvertToDouble(); AriaBase = item.AriaBase.ConvertToInt(); Balconies = item.Balconies.ConvertToInt(); Pets = item.Pets; Elevators = item.Elevators; FloorOn = item.FloorOn.ConvertToInt(); FloorOf = item.FloorOf.ConvertToInt(); Rooms = item.Rooms.ConvertToFloat(); Parking = item.Parking; //ContactEmail = item.ContactEmail; ContactName = item.ContactName; ContactPhone = item.ContactPhone; Description = item.Description; Price = item.Price.ClearDigits().ConvertToFloat(); PropertyType = item.PropertyType; AirConditioner = item.AirConditioner; Images = item.Images; return(this); }
public AdItemYad2ExcelModel FromDomain(AdItemYad2DomainModel item) { ItemId = item.Id; DateCreate = item.DateCreate; DateUpdate = item.DateUpdate; HeCity = item.HeCity; HeHouseNumber = item.HeHouseNumber; HeNeighborhood = item.HeNeighborhood; HeStreetName = item.HeStreetName; Latitude = item.Latitude; Longitude = item.Longitude; AriaBase = item.AriaBase; var balconies = item.Balconies; switch (item.Balconies) { case "0": balconies = "false"; break; case "1": balconies = "true"; break; } Balconies = balconies; Pets = item.Pets; Elevators = item.Elevators; FloorOn = item.FloorOn; FloorOf = item.FloorOf; Rooms = item.Rooms; Parking = item.Parking; ContactEmail = item.ContactEmail; ContactName = item.ContactName; ContactPhone = item.ContactPhone; Description = item.Description; Price = item.Price; PropertyType = item.PropertyType; AirConditioner = item.AirConditioner; Images = item.Images; return(this); }
private async Task <List <AdItemYad2DomainModel> > _scrapePhase7_GenerateDomainModelAsync(ScraperYad2StateModel state) { List <AdItemYad2DomainModel> result = null; var listItems = await _loadListItemsAsync(state) ?? new Dictionary <string, bool>(); if (listItems.Count > 0) { result = new List <AdItemYad2DomainModel>(); } var sb = new StringBuilder(1000); var indexParseItems = 0; foreach (var itemId in listItems) { try { var key = itemId.Key; var itemDto = JsonConvert.DeserializeObject <Phase3ObjectDto>(await File.ReadAllTextAsync($"{state.ItemsPath}/{key}.json")); var itemContactsDto = JsonConvert.DeserializeObject <Phase3ObjectContactsDto>(await File.ReadAllTextAsync($"{state.PathItemsContacts}/item-contacts-{key}.json")); var itemDomain = new AdItemYad2DomainModel().FromDto(itemDto, itemContactsDto); result.Add(itemDomain); sb.Append($",{itemId.Key}=ok"); } catch (Exception exception) { sb.Append($",{itemId.Key}=fail, {exception.Message}"); } indexParseItems++; if (indexParseItems % 3000 == 0) { _log($"Parsed {indexParseItems} items"); } } _log($"Parsed items are {sb.ToString()}"); return(result); }