Esempio n. 1
0
        public static AddressRetrieveViewModel FillAddressByDefault(IMainWindowModel model)
        {
            var resultModel = new AddressRetrieveViewModel();

            switch (GetLangByKey(model.SelectLanguage))
            {
            case "DE":
                resultModel.Name   = "Zusammenschluss \"pronovem\"";
                resultModel.Street = "c/o pronovem - Office Van Malderen Avenue Josse Goffin 158";
                resultModel.City   = "Brüssel";
                break;

            case "FR":
                resultModel.Name   = "Group de mandataire \"pronovem\"";
                resultModel.Street = "c/o pronovem - Office Van Malderen Avenue Josse Goffin 158";
                resultModel.City   = "Bruxelles";
                break;

            case "NL":
                resultModel.Name   = "Vertegenwoordiger groep \"pronovem\"";
                resultModel.Street = "c/o pronovem - Office Van Malderen Avenue Josse Goffin 158";
                resultModel.City   = "Brussel";
                break;
            }
            resultModel.Country  = "BE";
            resultModel.PostCode = "1082";
            resultModel.Fax      = "02 426 37 60";
            resultModel.Phone    = "02 426 38 10";
            resultModel.Email    = "*****@*****.**";

            return(resultModel);
        }
        private static void ParseRetrieveXml(ActivityContext context, string textReceive, IMainWindowModel model)
        {
            var doc = new XmlDocument();

            doc.LoadXml(textReceive);

            XmlNodeList applicants = doc.GetElementsByTagName("reg:applicants");

            if (applicants.Count <= 0 || applicants.Item(0) == null)
            {
                model.RetrieveInfo = "Invalid xml format.";
                return;
            }

            var sb  = new StringBuilder();
            var ext = context.GetExtension <IAddressRetrieveExt>();
            var resultCollection = new ObservableCollection <AddressRetrieveViewModel>();

            int     rbGroupIndex = 1;
            XmlNode item         = applicants[0];

            foreach (XmlNode applicant in item.ChildNodes)
            {
                var addressAll = new StringBuilder();
                var rtModel    = new AddressRetrieveViewModel {
                    RbGroupName = "ItemGroup" + rbGroupIndex, Sequence = applicant.Attributes?["sequence"].Value
                };

                foreach (XmlNode node in applicant.ChildNodes)
                {
                    if (node.LocalName.Equals("addressbook"))
                    {
                        foreach (XmlNode book in node.ChildNodes)
                        {
                            if (book.LocalName.Equals("last-name"))
                            {
                                sb.AppendLine("Last Name:");
                                sb.AppendLine(book.InnerText);
                                rtModel.LastName = book.InnerText;
                            }

                            if (book.LocalName.Equals("first-name"))
                            {
                                sb.AppendLine("First Name:");
                                sb.AppendLine(book.InnerText);
                                rtModel.FirstName = book.InnerText;
                            }

                            if (book.LocalName.Equals("name"))
                            {
                                sb.AppendLine("Name:");
                                rtModel.Name = book.InnerText;
                                sb.AppendLine("- " + book.InnerText);
                            }

                            if (book.LocalName.Equals("fax"))
                            {
                                rtModel.Phone = book.InnerText;
                            }
                            if (book.LocalName.Equals("email"))
                            {
                                rtModel.Phone = book.InnerText;
                            }
                            if (book.LocalName.Equals("phone"))
                            {
                                rtModel.Phone = book.InnerText;
                            }

                            if (book.LocalName.Equals("address"))
                            {
                                sb.AppendLine("Address:");
                                addressAll.AppendLine("Address:");
                                foreach (XmlNode address in book.ChildNodes)
                                {
                                    sb.AppendLine("- " + address.InnerText);
                                    addressAll.AppendLine(address.InnerText);

                                    if (address.LocalName.Equals("country"))
                                    {
                                        rtModel.Country = address.InnerText;
                                    }
                                }
                            }
                        }
                    }
                }

                if (addressAll.Length > 0)
                {
                    rtModel.AddressRetrieve = addressAll.ToString();
                    if (!string.IsNullOrWhiteSpace(rtModel.FirstName) || !string.IsNullOrWhiteSpace(rtModel.LastName))
                    {
                        rtModel.EntityFormLegal = false;
                    }
                    else
                    {
                        rtModel.EntityFormLegal = true;
                    }
                    rtModel.EntityFormNatural = rtModel.EntityFormLegal == false;
                    resultCollection.Add(rtModel);
                }
                rbGroupIndex++;
            }

            var dtgaz = item.Attributes?["change-gazette-num"].Value;

            if (!string.IsNullOrWhiteSpace(dtgaz))
            {
                sb.AppendLine(new string('-', 40));
                sb.AppendLine($"[{dtgaz}]");
                sb.AppendLine(string.Empty);
            }

            if (sb.Length > 0)
            {
                model.RetrieveInfo = sb.ToString();
                ext.CallBackRetrieveAddress(resultCollection);
            }
        }