Ejemplo n.º 1
0
        private void OnSearch()
        {
            IsBusy = true;
            switch (receiptApplyTo)
            {
                case ReceiptApplyTo.Client:
                    PopupWindow<ClientSearch> clientPopup;
                    DelegateSearch<ClientSearch> clientSearch = new DelegateSearch<ClientSearch>(business.ClientFunctions.Search);
                    clientPopup = new PopupWindow<ClientSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<ClientSearch>(clientSearch, "Search Client"), true);

                    Popup.Raise(clientPopup, (popupCallBack) =>
                    {
                        if (popupCallBack.ReturnValue != null)
                        {
                            ClientSearch client = (ClientSearch)popupCallBack.ReturnValue;                        
                            ApplyToObjectID = client.ClientNo;
                            ClientName = client.LegalName;
                            RaisePropertyChanged("ApplyToObjectID");
                        }
                    });
                    break;
                case ReceiptApplyTo.Contract:
                    PopupWindow<ContractSearch> contractPopup;
                    DelegateSearch<ContractSearch> contractSearch;
                    DelegateSearchFilter<ContractSearch> ddccContractSearch;
                    object[] filter;

                    if (batchType == ReceiptBatchType.DirectDebit || batchType == ReceiptBatchType.CreditCard || batchType == ReceiptBatchType.AutoReceipts)
                    {
                        if (batchType == ReceiptBatchType.DirectDebit)
                        {
                            filter = new object[] { (int)SCPaymentTypes.DirectDebit, (int)SCPaymentTypes.DirectDebit50 };
                        }
                        else if (batchType == ReceiptBatchType.CreditCard)
                        {
                            filter = new object[] { (int)SCPaymentTypes.CreditCard };
                        }
                        else
                        {
                            filter = new object[] { (int)SCPaymentTypes.AutoReceipt };
                        }

                        ddccContractSearch = new DelegateSearchFilter<ContractSearch>(DDCCBatchFunctions.ContractSearch);
                        contractPopup = new PopupWindow<ContractSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<ContractSearch>(ddccContractSearch, "Search Contract", filter), true);
                    }
                    else
                    {
                        contractSearch = new DelegateSearch<ContractSearch>(ContractFunctions.Search);
                        contractPopup = new PopupWindow<ContractSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<ContractSearch>(contractSearch, "Search Contract"), true);
                    }

                    Popup.Raise(contractPopup, (popupCallBack) =>
                    {
                        if (popupCallBack.ReturnValue != null)
                        {
                            ContractSearch contract = (ContractSearch)popupCallBack.ReturnValue;                            
                            ApplyToObjectID = contract.ContractID;
                            ClientName = contract.ClientName;
                            RaisePropertyChanged("ApplyToObjectID");
                        }

                        popupCallBack = null;
                    });
                    break;

                case ReceiptApplyTo.Invoice:
                    PopupWindow<InvoiceSearch> invoicePopup;
                    DelegateSearch<InvoiceSearch> invoiceSearch = new DelegateSearch<InvoiceSearch>(business.InvoiceFunctions.Search);
                    invoicePopup = new PopupWindow<InvoiceSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<InvoiceSearch>(invoiceSearch, "Search Invoice"), true);

                    Popup.Raise(invoicePopup, (popupCallBack) =>
                    {
                        if (popupCallBack.ReturnValue != null)
                        {
                            InvoiceSearch invoice = (InvoiceSearch)popupCallBack.ReturnValue;                            
                            ApplyToObjectID = invoice.InvoiceNo;
                            ClientName = invoice.CustomerName;
                            RaisePropertyChanged("ApplyToObjectID");
                        }
                    });
                    break;
                case ReceiptApplyTo.Quote:
                    PopupWindow<QuoteSearch> quotePopup;
                    DelegateSearch<QuoteSearch> quoteSearch = new DelegateSearch<QuoteSearch>(business.QuoteFunctions.Search);
                    quotePopup = new PopupWindow<QuoteSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<QuoteSearch>(quoteSearch, "Search Quote"), true);

                    Popup.Raise(quotePopup, (popupCallBack) =>
                    {
                        if (popupCallBack.ReturnValue != null)
                        {
                            QuoteSearch quote = (QuoteSearch)popupCallBack.ReturnValue;
                            
                            ApplyToObjectID = quote.QuoteNo;
                            ClientName = quote.ClientName;
                            RaisePropertyChanged("ApplyToObjectID");
                        }

                    });
                    break;
            }
            IsBusy = false;
        }
Ejemplo n.º 2
0
 public int Search_delegate(int[] arr)
 {
     DelegateSearch search = new DelegateSearch(Search);
     return search(arr);
 }
Ejemplo n.º 3
0
 public IAsyncResult BeginSearch(string query, AsyncCallback callback)
 {
     this._delegateSearch = this.Search;
     return this._delegateSearch.BeginInvoke(query, callback, this._delegateSearch);
 }
        private void OnReAllocationSearch()
        {
            IsBusy = true;
            if (reallocateTo == (int)ReAllocateReceiptTo.Contract)
            {
                PopupWindow<ContractSearch> contractPopup;
                DelegateSearch<ContractSearch> contractSearch = new DelegateSearch<ContractSearch>(ContractFunctions.Search);
                contractPopup = new PopupWindow<ContractSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<ContractSearch>(contractSearch, "Search Contract"), true);

                Popup.Raise(contractPopup, (popupCallBack) =>
                {
                    if (popupCallBack.ReturnValue != null)
                    {
                        ContractSearch contract = (ContractSearch)popupCallBack.ReturnValue;
                        ReAllocateToObjectID = contract.ContractID;
                    }

                    popupCallBack = null;
                });
            }
            else if (reallocateTo == (int)ReAllocateReceiptTo.Quote)
            {
                PopupWindow<QuoteSearch> quotePopup;
                DelegateSearch<QuoteSearch> quoteSearch = new DelegateSearch<QuoteSearch>(business.QuoteFunctions.Search);
                quotePopup = new PopupWindow<QuoteSearch>(ViewAssemblies.ViewCommonAssembly, "Controls.Search", new SearchViewModel<QuoteSearch>(quoteSearch, "Search Invoice"), true);

                Popup.Raise(quotePopup, (popupCallBack) =>
                {
                    if (popupCallBack.ReturnValue != null)
                    {
                        QuoteSearch quote = (QuoteSearch)popupCallBack.ReturnValue;
                        ReAllocateToObjectID = quote.QuoteNo;
                    }
                });
            }
            IsBusy = false;
        }