Esempio n. 1
0
        public static string GetConcat(this IAdresaFaraLocalitate adresa)
        {
            string result = string.Empty;

            if (!string.IsNullOrEmpty(adresa.Strada))
            {
                if (!string.IsNullOrEmpty(adresa.TipStrada))
                {
                    result += adresa.TipStrada + " ";
                }

                result += adresa.Strada;
            }

            if (!string.IsNullOrEmpty(adresa.Numar))
            {
                result += ", Nr. " + adresa.Numar;
            }

            if (!string.IsNullOrEmpty(adresa.Bloc))
            {
                result += ", Bl. " + adresa.Bloc;
            }

            if (!string.IsNullOrEmpty(adresa.Scara))
            {
                result += ", Sc. " + adresa.Scara;
            }

            if (!string.IsNullOrEmpty(adresa.Etaj))
            {
                result += ", Et. " + adresa.Etaj;
            }

            if (!string.IsNullOrEmpty(adresa.Apt))
            {
                result += ", Ap. " + adresa.Apt;
            }

            return(result.Trim(',', ' '));
        }
Esempio n. 2
0
        public void Parse(IAdresaFaraLocalitate address, string field, IMatcher matcher, IMatchProcessor matchProcessor)
        {
            var classification = new List <Classification>()
            {
                new Classification()
                {
                    Order = 0, Name = "root"
                },
                new Classification()
                {
                    Order = 1, Name = "Adresa"
                }
            };

            var chunks = field.Split(',', ';');

            chunks.ToList().ForEach(x =>
            {
                var trimmed = x.Trim();
                var split   = trimmed.Split(' ', 2);
                if (split.Count() != 2)
                {
                    split = trimmed.Split('.', 2);
                }

                if (split.Count() == 2)
                {
                    var prefix = split[0].Trim('.');
                    split[1]   = split[1].Trim();

                    var classificationResult = matcher.Match(classification, prefix, matchProcessor);

                    if (classificationResult.Count > 0)
                    {
                        switch (classificationResult[0].Name)
                        {
                        case "TipStrada":
                            address.TipStrada = classificationResult[1].Name;
                            address.Strada    = split[1];
                            break;

                        case "Numar":
                            address.Numar = split[1];
                            break;

                        case "Bloc":
                            address.Bloc = split[1];
                            break;

                        case "Scara":
                            address.Scara = split[1];
                            break;

                        case "Etaj":
                            address.Etaj = split[1];
                            break;

                        case "Apt":
                            address.Apt = split[1];
                            break;
                        }
                    }
                    ;
                }
            });
        }