Пример #1
0
        private async Task <Phase3ObjectDto> LoadDtoItemFromPathAsync(FileInfo itemFile)
        {
            Phase3ObjectDto result   = null;
            var             filename = $"{itemFile.FullName}";

            if (File.Exists(filename))
            {
                result = JsonConvert.DeserializeObject <Phase3ObjectDto>(await File.ReadAllTextAsync(filename));
            }

            return(result);
        }
        public AdItemOnmapDomainModel FromDto(Phase3ObjectDto rowObj)
        {
            try
            {
                Id             = rowObj.id;
                DateCreate     = rowObj?.created_at;
                DateUpdate     = rowObj?.updated_at;
                EnCity         = rowObj?.address.en?.city_name;
                EnHouseNumber  = rowObj?.address.en?.house_number;
                EnNeighborhood = rowObj?.address.en?.neighborhood;
                EnStreetName   = rowObj?.address.en?.street_name;
                HeCity         = rowObj?.address.he?.city_name;
                HeHouseNumber  = rowObj?.address.he?.house_number;
                HeNeighborhood = rowObj?.address.he?.neighborhood;
                HeStreetName   = rowObj?.address.he?.street_name;
                Latitude       = rowObj?.address.location?.lat;
                Longitude      = rowObj?.address.location?.lon;
                AriaBase       = rowObj?.additional_info.area.@base;
                Balconies      = rowObj?.additional_info.balconies;
                Bathrooms      = rowObj?.additional_info.bathrooms;
                Elevators      = rowObj?.additional_info.elevators;
                FloorOn        = rowObj?.additional_info.floor.on_the;
                FloorOf        = rowObj?.additional_info.floor.out_of;
                Rooms          = rowObj?.additional_info.rooms;
                Toilets        = rowObj?.additional_info.toilets;
                ContactEmail   = rowObj?.contacts.primary.email;
                ContactName    = rowObj?.contacts.primary.name;
                ContactPhone   = rowObj?.contacts.primary.phone;
                Description    = rowObj?.description;
                Price          = rowObj?.price;
                PropertyType   = rowObj?.property_type;
                Section        = rowObj?.section;
                Images         = rowObj?.images?.Select(x => new ExcelImageModel(x)).ToList();
                Videos         = rowObj?.videos?.Select(x => new ExcelVideoModel(x)).ToList();
            }
            catch (Exception exeption)
            {
                ;
            }

            return(this);
        }
        public AdItemYad2DomainModel FromDto(Phase3ObjectDto item, Phase3ObjectContactsDto itemContacts)
        {
            var dateCreate     = item?.date_added;
            var dateUpdate     = item?.date_of_entry?.Replace("/", ".");
            var heCity         = item?.city_text;
            var heHouseNumber  = item?.address_home_number;
            var heNeighborhood = item?.neighborhood;
            var heStreetName   = item?.street;
            var ariaBase       = item?.square_meters;
            var balconies      = item?.balconies;
            var pets           = item?.additional_info_items_v2?.Where(x => x.key == "pets" && x.value == "true")
                                 .Select(x => x.value).FirstOrDefault() ?? "false";
            var elevators = item?.additional_info_items_v2?.Where(x => x.key == "elevator" && x.value == "true")
                            .Select(x => x.value).FirstOrDefault() ?? "false";
            var floorOn = item?.info_bar_items?.Where(x => x.key == "floor").Select(x => x.titleWithoutLabel).FirstOrDefault();
            var floorOf = item?.TotalFloor_text;
            var rooms   = item?.info_bar_items?.Where(x => x.key == "rooms").Select(x => x.titleWithoutLabel).FirstOrDefault();
            var parking = item?.additional_info_items_v2?.Where(x => x.key == "parking" && x.value == "true")
                          .Select(x => x.value).FirstOrDefault() ?? "false";
            var contactEmail   = itemContacts?.data.email;
            var contactName    = itemContacts?.data.contact_name;
            var contactPhone   = itemContacts?.data.phone_numbers?.FirstOrDefault()?.title;
            var description    = item?.info_text;
            var price          = item?.price;
            var propertyType   = item?.media?.@params?.AppType;
            var airConditioner = item?.additional_info_items_v2?.Where(x => x.key == "air_conditioner" && x.value == "true")
                                 .Select(x => x.value).FirstOrDefault();
            var images = item?.images;

            var coordinates = item.navigation_data;

            if (coordinates != null)
            {
                var json = JsonConvert.SerializeObject(coordinates);
                Phase3NavigationData navigationData = null;
                try
                {
                    navigationData = JsonConvert.DeserializeObject <Phase3NavigationData>(json);

                    this.Latitude  = navigationData.coordinates.latitude;
                    this.Longitude = navigationData.coordinates.longitude;
                }
                catch (Exception exception)
                {
                    ;
                }
            }

            Id             = item.id;
            DateCreate     = dateCreate;
            DateUpdate     = dateUpdate;
            HeCity         = heCity;
            HeHouseNumber  = heHouseNumber;
            HeNeighborhood = heNeighborhood;
            HeStreetName   = heStreetName;
            AriaBase       = ariaBase;
            Balconies      = balconies;
            Pets           = pets;
            Elevators      = elevators;
            FloorOn        = floorOn;
            FloorOf        = floorOf;
            Rooms          = rooms;
            Parking        = parking;
            ContactEmail   = contactEmail;
            ContactName    = contactName;
            ContactPhone   = contactPhone;
            Description    = description;
            Price          = price;
            PropertyType   = propertyType;
            AirConditioner = airConditioner;
            Images         = images;

            return(this);
        }