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; }
public int Search_delegate(int[] arr) { DelegateSearch search = new DelegateSearch(Search); return search(arr); }
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; }