示例#1
0
        public static PartnerFindTDSSearchResultTable FindPartners(string AFirstName, string AFamilyNameOrOrganisation, string ACity, string APartnerClass, short AMaxRecords, out int ATotalRecords)
        {
            TPartnerFind PartnerFind = new TPartnerFind();

            PartnerFindTDSSearchCriteriaTable CriteriaData = new PartnerFindTDSSearchCriteriaTable();
            PartnerFindTDSSearchCriteriaRow   CriteriaRow  = CriteriaData.NewRowTyped();

            CriteriaData.Rows.Add(CriteriaRow);
            CriteriaRow.PartnerName = AFamilyNameOrOrganisation;

            // CriteriaRow.PersonalName = AFirstName;
            CriteriaRow.City = ACity;

            // TODO: only works for one partner class at the moment
            if (APartnerClass.Length > 0)
            {
                CriteriaRow.PartnerClass = APartnerClass;
            }
            else
            {
                CriteriaRow.PartnerClass = "*";
            }

            PartnerFind.PerformSearch(CriteriaData, true);

            Int32 TotalRecords;
            short TotalPages;

            DataTable typedResult = PartnerFind.GetDataPagedResult(0, AMaxRecords, out TotalRecords, out TotalPages);

            // tell the web client how many records have been found
            ATotalRecords = TotalRecords;

            return((PartnerFindTDSSearchResultTable)typedResult);
        }
示例#2
0
        public static PartnerFindTDS FindPartners(string AFirstName, string AFamilyNameOrOrganisation, string ACity, string APartnerClass)
        {
            TPartnerFind PartnerFind = new TPartnerFind();

            PartnerFindTDSSearchCriteriaTable CriteriaData = new PartnerFindTDSSearchCriteriaTable();
            PartnerFindTDSSearchCriteriaRow   CriteriaRow  = CriteriaData.NewRowTyped();

            CriteriaData.Rows.Add(CriteriaRow);
            CriteriaRow.PartnerName = AFamilyNameOrOrganisation;

            // CriteriaRow.PersonalName = AFirstName;
            CriteriaRow.City = ACity;

            // TODO: only works for one partner class at the moment
            if (APartnerClass.Length > 0)
            {
                CriteriaRow.PartnerClass = APartnerClass;
            }
            else
            {
                CriteriaRow.PartnerClass = "*";
            }

            PartnerFind.PerformSearch(CriteriaData, true);

            Int32       TotalRecords;
            short       TotalPages;
            const short MaxRecords = 50;

            PartnerFindTDS result = new PartnerFindTDS();

            DataTable typedResult = PartnerFind.GetDataPagedResult(0, MaxRecords, out TotalRecords, out TotalPages);

            if (typedResult != null)
            {
                result.SearchResult.Merge(typedResult);

                if (TotalRecords > MaxRecords)
                {
                    // TODO load all data into the datatable. the webconnector does not have paging yet?
                }
            }

            return(result);
        }
示例#3
0
        public static PartnerFindTDS FindPartners(string AFirstName, string AFamilyNameOrOrganisation, string ACity, string APartnerClass)
        {
            TPartnerFind PartnerFind = new TPartnerFind();

            PartnerFindTDSSearchCriteriaTable CriteriaData = new PartnerFindTDSSearchCriteriaTable();
            PartnerFindTDSSearchCriteriaRow CriteriaRow = CriteriaData.NewRowTyped();

            CriteriaData.Rows.Add(CriteriaRow);
            CriteriaRow.PartnerName = AFamilyNameOrOrganisation;

            // CriteriaRow.PersonalName = AFirstName;
            CriteriaRow.City = ACity;

            // TODO: only works for one partner class at the moment
            if (APartnerClass.Length > 0)
            {
                CriteriaRow.PartnerClass = APartnerClass;
            }
            else
            {
                CriteriaRow.PartnerClass = "*";
            }

            PartnerFind.PerformSearch(CriteriaData, true);

            Int32 TotalRecords;
            short TotalPages;
            const short MaxRecords = 50;

            PartnerFindTDS result = new PartnerFindTDS();

            DataTable typedResult = PartnerFind.GetDataPagedResult(0, MaxRecords, out TotalRecords, out TotalPages);

            if (typedResult != null)
            {
                result.SearchResult.Merge(typedResult);

                if (TotalRecords > MaxRecords)
                {
                    // TODO load all data into the datatable. the webconnector does not have paging yet?
                }
            }

            return result;
        }
示例#4
0
        public static PartnerFindTDS FindPartners(Int64 APartnerKey, Boolean AExactMatch)
        {
            TPartnerFind PartnerFind = new TPartnerFind();

            PartnerFindTDSSearchCriteriaTable CriteriaData = new PartnerFindTDSSearchCriteriaTable();
            PartnerFindTDSSearchCriteriaRow   CriteriaRow  = CriteriaData.NewRowTyped();

            CriteriaData.Rows.Add(CriteriaRow);
            CriteriaRow.PartnerKey           = APartnerKey;
            CriteriaRow.PartnerClass         = "*";
            CriteriaRow.ExactPartnerKeyMatch = AExactMatch;

            // call this in the same thread, without progress tracker.
            bool UseDifferentThread = false;

            PartnerFind.PerformSearch(CriteriaData, true, UseDifferentThread);

            // NOTE from AlanP - Dec 2015:
            // If CriteriaRow.ExactPartnerKeyMatch is false and the value of APartnerKey is, say, 0012345600 the search will return all partners between
            //  001234500 and 001234599.  This means that if we request 50 records we may not actually get the partnerkey record we asked for.
            Int32       TotalRecords;
            short       TotalPages;
            const short MaxRecords = 50;

            PartnerFindTDS result = new PartnerFindTDS();

            DataTable typedResult = PartnerFind.GetDataPagedResult(0, MaxRecords, out TotalRecords, out TotalPages);

            if (typedResult != null)
            {
                result.SearchResult.Merge(typedResult);

                if (TotalRecords > MaxRecords)
                {
                    // TODO load all data into the datatable. the webconnector does not have paging yet?
                    // See above NOTE if ExactPartnerMatch is false!
                }
            }

            return(result);
        }
示例#5
0
        public static PartnerFindTDSSearchResultTable FindPartners(
            string APartnerKey,
            string AFirstName,
            string AFamilyNameOrOrganisation,
            string AStreetName,
            string ACity,
            string APostCode,
            string AEmailAddress,
            string APartnerClass,
            bool AActiveOnly,
            string ASortBy,
            Int16 AMaxRecords,
            out Int32 ATotalRecords,
            out TVerificationResultCollection AVerificationResult)
        {
            TPartnerFind PartnerFind = new TPartnerFind();

            AVerificationResult = new TVerificationResultCollection();
            ATotalRecords       = -1;

            PartnerFindTDSSearchCriteriaTable CriteriaData = new PartnerFindTDSSearchCriteriaTable();
            PartnerFindTDSSearchCriteriaRow   CriteriaRow  = CriteriaData.NewRowTyped();

            CriteriaData.Rows.Add(CriteriaRow);
            CriteriaRow.PartnerName = "%" + AFamilyNameOrOrganisation + "%";

            if (APartnerKey.Length > 0)
            {
                Int64 PartnerKey = -1;

                if (!Int64.TryParse(APartnerKey, out PartnerKey))
                {
                    AVerificationResult.Add(new TVerificationResult("error", "Invalid Contact Key", "error_invalid_contact_key", TResultSeverity.Resv_Critical));

                    return(new PartnerFindTDSSearchResultTable());
                }

                CriteriaRow.PartnerKey           = PartnerKey;
                CriteriaRow.ExactPartnerKeyMatch = false;
            }

            // CriteriaRow.PersonalName = AFirstName;
            CriteriaRow.City     = ACity;
            CriteriaRow.Address2 = AStreetName;
            CriteriaRow.Email    = AEmailAddress;

            // TODO: only works for one partner class at the moment
            if (APartnerClass.Length > 0)
            {
                CriteriaRow.PartnerClass = APartnerClass;
            }
            else
            {
                CriteriaRow.PartnerClass = "*";
            }

            if (APostCode.Length > 0)
            {
                CriteriaRow.PostCode = APostCode;
            }

            if (AActiveOnly)
            {
                CriteriaRow.PartnerStatus = MPartnerConstants.PARTNERSTATUS_ACTIVE;
            }
            else
            {
                CriteriaRow.PartnerStatus = "*";
            }

            CriteriaRow.SortBy = ASortBy;

            // call this in the same thread, without progress tracker.
            bool UseDifferentThread = false;

            PartnerFind.PerformSearch(CriteriaData, true, UseDifferentThread);

            Int32 TotalRecords;
            Int16 TotalPages;

            if (AMaxRecords <= 0)
            {
                AMaxRecords = 32767;
            }

            DataTable typedResult = PartnerFind.GetDataPagedResult(0, AMaxRecords, out TotalRecords, out TotalPages);

            // tell the web client how many records have been found
            ATotalRecords = TotalRecords;

            return((PartnerFindTDSSearchResultTable)typedResult);
        }
        /// <summary>
        /// constructor
        /// </summary>
        public TUC_PartnerFindCriteria() : base()
        {
            FFindCriteriaDataTable = new PartnerFindTDSSearchCriteriaTable();
            FDefaultValues = FFindCriteriaDataTable.NewRowTyped();

            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            #region CATALOGI18N

            // this code has been inserted by GenerateI18N, all changes in this region will be overwritten by GenerateI18N
            this.btnLocationKey.Text = Catalog.GetString("Location Key");
            this.chkWorkerFamOnly.Text = Catalog.GetString("Worker Families Only");
            this.lblPartnerClass.Text = Catalog.GetString("Partner C&lass") + ":";
            this.txtPartnerKey.Text = Catalog.GetString("0000000000");
            this.lblPartnerKey.Text = Catalog.GetString("Partner &Key") + ":";
            this.lblPartnerKeyNonExactMatch.Text = Catalog.GetString("(trailing 0 = --*)");
            this.rbtPrivate.Text = Catalog.GetString("Private");
            this.rbtStatusActive.Text = Catalog.GetString("Acti&ve");
            this.rbtStatusAll.Text = Catalog.GetString("All");
            this.lblPartnerStatus.Text = Catalog.GetString("Status") + ":";
            this.lblPhoneNumber.Text = Catalog.GetString("Phone Number") + ":";
            this.lblAddress3.Text = Catalog.GetString("Address &3") + ":";
            this.lblAddress2.Text = Catalog.GetString("Address &2") + ":";
            this.lblEmail.Text = Catalog.GetString("&Email") + ":";
            this.lblPartnerName.Text = Catalog.GetString("&Partner Name") + ":";
            this.lblPersonalName.Text = Catalog.GetString("Personal (First) &Name") + ":";
            this.lblPreviousName.Text = Catalog.GetString("Previous Name") + ":";
            this.lblAddress1.Text = Catalog.GetString("Address &1") + ":";
            this.lblPostCode.Text = Catalog.GetString("P&ost Code") + ":";
            this.lblCity.Text = Catalog.GetString("Cit&y/Town") + ":";
            this.lblCounty.Text = Catalog.GetString("Co&unty") + ":";
            this.lblCountry.Text = Catalog.GetString("Co&untry") + ":";
            this.lblMailingAddressOnly.Text = Catalog.GetString("Mailin&g Addresses Only") + ":";
            this.lblAccountName.Text = Catalog.GetString("Account Name") + ":";
            this.lblAccountNumber.Text = Catalog.GetString("Account Number") + ":";
            this.lblIban.Text = Catalog.GetString("IBAN") + ":";
            this.lblBic.Text = Catalog.GetString("BIC") + ":";
            this.lblBankKey.Text = Catalog.GetString("Bank Key") + ":";
            this.txtBankKey.ButtonText = Catalog.GetString("Find");
            this.lblBankName.Text = Catalog.GetString("Bank/Branch Name") + ":";
            this.lblBankCode.Text = Catalog.GetString("Branch/Bank Code") + ":";
            #endregion
        }