Exemplo n.º 1
0
        public EstateAgentHouseParser(IEstateAgentHouseParser parser, IBoligsidenRepository boligSiden, IeTilbudsavisRepository eTilbudsavis, IDawaRepository dawa, ITjekDitNetRepository tjekditnet)
        {
            _parser = parser ?? throw new ArgumentNullException(nameof(parser));

            if (!TryGetDomain(parser, out _domain))
            {
                throw new ArgumentException("Malformed domain name.");
            }

            _boligsiden   = boligSiden ?? throw new ArgumentNullException(nameof(boligSiden));
            _eTilbudsavis = eTilbudsavis ?? throw new ArgumentNullException(nameof(eTilbudsavis));
            _dawa         = dawa ?? throw new ArgumentNullException(nameof(dawa));
            _tjekditnet   = tjekditnet ?? throw new ArgumentNullException(nameof(tjekditnet));
        }
Exemplo n.º 2
0
        private static bool TryGetDomain(IEstateAgentHouseParser parser, out string domain)
        {
            domain = parser.SupportedDomain;
            var m = Regex.Match(domain, @"^(https?://)?(www\.)?(?<dom>.*[^ ]$)", RegexOptions.IgnoreCase);

            if (m.Success)
            {
                domain = m.Groups["dom"].Value;
                return(true);
            }
            else
            {
                domain = null;
                return(false);
            }
        }