Пример #1
0
        /// <summary>
        /// Add retrieval section flag if tag list contains tags for given Template object
        /// </summary>
        /// <param name="AFormDataTemplate"></param>
        /// <param name="ASection"></param>
        private void BuildRetrievalSection(TFormData AFormDataTemplate, TFormDataRetrievalSection ASection)
        {
            Boolean AddSection = false;

            foreach (var prop in AFormDataTemplate.GetType().GetProperties())
            {
                if (TagList.Contains(prop.Name))
                {
                    AddSection = true;
                }
            }

            if (AddSection)
            {
                AddRetrievalSection(ASection);
            }
        }
Пример #2
0
        private static int CompareUsingCountryCodePostCode(TFormData A, TFormData B)
        {
            TFormDataPartner P1 = A as TFormDataPartner;
            TFormDataPartner P2 = B as TFormDataPartner;

            if ((P1 == null) || (P2 == null))
            {
                throw new ArgumentException("Cannot sort the form data because it is not related to Partner details.");
            }

            int byCountryCode = CompareInternal(P1.CountryCode, P2.CountryCode);

            if (byCountryCode != 0)
            {
                return byCountryCode;
            }

            return CompareUsingPostalCode(A, B);
        }
Пример #3
0
        private static int CompareUsingCountryName(TFormData A, TFormData B)
        {
            TFormDataPartner P1 = A as TFormDataPartner;
            TFormDataPartner P2 = B as TFormDataPartner;

            if ((P1 == null) || (P2 == null))
            {
                throw new ArgumentException("Cannot sort the form data because it is not related to Partner details.");
            }

            return CompareInternal(P1.CountryName, P2.CountryName);
        }
Пример #4
0
        private static int CompareUsingPostCodeRegion(TFormData A, TFormData B)
        {
            TFormDataPartner P1 = A as TFormDataPartner;
            TFormDataPartner P2 = B as TFormDataPartner;

            if ((P1 == null) || (P2 == null))
            {
                throw new ArgumentException("Cannot sort the form data because it is not related to Partner details.");
            }

            // At the moment TFormDataPartner does not have a PostcodeRegion property
            throw new NotImplementedException();
        }
Пример #5
0
        private static int CompareUsingPostalCode(TFormData A, TFormData B)
        {
            TFormDataPartner P1 = A as TFormDataPartner;
            TFormDataPartner P2 = B as TFormDataPartner;

            if ((P1 == null) || (P2 == null))
            {
                throw new ArgumentException("Cannot sort the form data because it is not related to Partner details.");
            }

            string code1 = P1.PostalCode;
            string code2 = P2.PostalCode;

            // Remove any spaces in the code (eg GB codes can have a space)
            code1 = code1.Replace(" ", "");
            code2 = code2.Replace(" ", "");

            // Special cases:
            // Switzerland uses CH- prefix sometimes
            if (code1.StartsWith("CH-"))
            {
                code1 = code1.Substring(3);
            }

            if (code2.StartsWith("CH-"))
            {
                code2 = code2.Substring(3);
            }

            return CompareInternal(code1, code2);
        }
Пример #6
0
        private static int CompareUsingFirstNameLastName(TFormData A, TFormData B)
        {
            TFormDataPartner P1 = A as TFormDataPartner;
            TFormDataPartner P2 = B as TFormDataPartner;

            if ((P1 == null) || (P2 == null))
            {
                throw new ArgumentException("Cannot sort the form data because it is not related to Partner details.");
            }

            int byFirstName = CompareInternal(P1.FirstName, P2.FirstName);

            if (byFirstName != 0)
            {
                return byFirstName;
            }

            return CompareInternal(P1.LastName, P2.LastName);
        }