Exemplo n.º 1
0
        private static string ExtractTenantInfo(XElement tenant)
        {
            List<string> st = new List<string>();
            string ret = string.Empty;
            var temp = GetElements("Tenants");
            if (temp == null)
                return ret;
            // gather up phone numbers
            PhoneNumbers ph = new PhoneNumbers();
            if (tenant.Descendants("PersonDetails")!= null)
                ph.GetIdValues(tenant.Descendants("PersonDetails").FirstOrDefault());
            // gather up addresses
            Addresses addr = new Addresses();
            if (tenant.Descendants("PersonDetails") != null)
                addr.GetIdValues(tenant.Descendants("PersonDetails").FirstOrDefault());

            TenantCustoms tc = new TenantCustoms();
            if (tenant.Descendants("CustomRecords") != null)
                tc.GetIdValues(tenant);

            st.Add("TENANT");

            foreach (XElement de in temp)
            {
                if (de.Attribute("phonetype") != null )
                {
                    if (ph.IdValues.ContainsKey(de.Attribute("phonetype").Value))
                        st.Add(ph.IdValues[de.Attribute("phonetype").Value]);
                    else
                        st.Add(string.Empty);
                }
                else
                    if (de.Attribute("addresstype") != null)
                    {
                        if (addr.IdValues.ContainsKey(de.Attribute("addresstype").Value))
                        {
                            if (de.Attribute("location").Value.Contains("Address/Address"))
                                st.Add(addr.IdValues[de.Attribute("addresstype").Value].Street);
                            if (de.Attribute("location").Value.Contains("Address/City"))
                                st.Add(addr.IdValues[de.Attribute("addresstype").Value].City);
                            if (de.Attribute("location").Value.Contains("Address/State"))
                                st.Add(addr.IdValues[de.Attribute("addresstype").Value].State);
                            if (de.Attribute("location").Value.Contains("Address/PostalCode"))
                                st.Add(addr.IdValues[de.Attribute("addresstype").Value].PostalCode);
                            if (de.Attribute("location").Value.Contains("Address/Email"))
                                st.Add(addr.IdValues[de.Attribute("addresstype").Value].Email);
                        }
                        else
                        {
                            if (de.Attribute("location").Value.Contains("Address/Address"))
                                st.Add(string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/City"))
                                st.Add(string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/State"))
                                st.Add(string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/PostalCode"))
                                st.Add(string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/Email"))
                                st.Add(string.Empty);
                        }
                    }
                    else if (de.Attribute("location").Value.Contains("CustomRecords/Other"))
                    {
                        if (de.Attribute("location").Value == "CustomRecords/Other1")
                            st.Add(tc.IdValues.Other1Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other2")
                            st.Add(tc.IdValues.Other2Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other3")
                            st.Add(tc.IdValues.Other3Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other4")
                            st.Add(tc.IdValues.Other4Val);
                    }
                    else
                        st.Add(GetItem(de.Attribute("location").Value, tenant));
            }
            return string.Join("|", st);
        }
Exemplo n.º 2
0
        private static Dictionary<string, string> ExtractTenantInfo(XElement tenant, bool primaryTenant=false)
        {
            Dictionary<string, string> st = new Dictionary<string, string>();
            var temp = GetElements("Tenants");
            if (temp == null)
                return st;
            // gather up phone numbers
            PhoneNumbers ph = new PhoneNumbers();
            if (tenant.Descendants("PersonDetails")!= null)
                ph.GetIdValues(tenant.Descendants("PersonDetails").FirstOrDefault());
            // gather up addresses
            Addresses addr = new Addresses();
            if (tenant.Descendants("PersonDetails") != null)
                addr.GetIdValues(tenant.Descendants("PersonDetails").FirstOrDefault());

            TenantCustoms tc = new TenantCustoms();
            if (tenant.Descendants("CustomRecords") != null)
                tc.GetIdValues(tenant);

            foreach (XElement de in temp)
            {
                if (de.Attribute("phonetype") != null )
                {
                    if (ph.IdValues.ContainsKey(de.Attribute("phonetype").Value))
                        st.Add(de.Attribute("outputname").Value, ph.IdValues[de.Attribute("phonetype").Value]);
                    else
                        st.Add(de.Attribute("outputname").Value, string.Empty);
                }
                else
                    if (de.Attribute("addresstype") != null)
                    {
                        if (addr.IdValues.ContainsKey(de.Attribute("addresstype").Value))
                        {
                            if (de.Attribute("location").Value.Contains("Address/Address"))
                                st.Add(de.Attribute("outputname").Value, addr.IdValues[de.Attribute("addresstype").Value].Street);
                            if (de.Attribute("location").Value.Contains("Address/City"))
                                st.Add(de.Attribute("outputname").Value, addr.IdValues[de.Attribute("addresstype").Value].City);
                            if (de.Attribute("location").Value.Contains("Address/State"))
                                st.Add(de.Attribute("outputname").Value, addr.IdValues[de.Attribute("addresstype").Value].State);
                            if (de.Attribute("location").Value.Contains("Address/PostalCode"))
                                st.Add(de.Attribute("outputname").Value, addr.IdValues[de.Attribute("addresstype").Value].PostalCode);
                            if (de.Attribute("location").Value.Contains("Address/Email"))
                                st.Add(de.Attribute("outputname").Value, addr.IdValues[de.Attribute("addresstype").Value].Email);
                        }
                        else
                        {
                            if (de.Attribute("location").Value.Contains("Address/Address"))
                                st.Add(de.Attribute("outputname").Value, string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/City"))
                                st.Add(de.Attribute("outputname").Value, string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/State"))
                                st.Add(de.Attribute("outputname").Value, string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/PostalCode"))
                                st.Add(de.Attribute("outputname").Value, string.Empty);
                            if (de.Attribute("location").Value.Contains("Address/Email"))
                                st.Add(de.Attribute("outputname").Value, string.Empty);
                        }
                    }
                    else if (de.Attribute("location").Value.Contains("CustomRecords/Other"))
                    {
                        if (de.Attribute("location").Value == "CustomRecords/Other1")
                            if (primaryTenant) st.Add(de.Attribute("outputname").Value, tc.IdValues.Other1Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other2")
                            if (primaryTenant) st.Add(de.Attribute("outputname").Value, tc.IdValues.Other2Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other3")
                            if (primaryTenant) st.Add(de.Attribute("outputname").Value, tc.IdValues.Other3Val);
                        if (de.Attribute("location").Value == "CustomRecords/Other4")
                            if (primaryTenant) st.Add(de.Attribute("outputname").Value, tc.IdValues.Other4Val);
                    }
                    else if (primaryTenant)
                            st.Add(de.Attribute("outputname").Value, GetItem(de.Attribute("location").Value, tenant));
                    else if (!primaryTenant)
                    {
                        if (!de.Attribute("location").Value.StartsWith("Contact/"))
                            st.Add(de.Attribute("outputname").Value, GetItem(de.Attribute("location").Value, tenant));
                    }
            }
            return st;
        }