Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }