public IList <CreditNoteSearchResult> SearchCreditNotesTransactions(DateRange dateRange, string transactionNumber, TransactionSearchType transactionSearchType, SearchScope searchScope, CffCustomer customer, ICffClient client, string batchFrom, string batchTo) { if (transactionNumber.Length < 3) { throw new ArgumentException("You need more than 3 transaction Number to search "); } SqlParameter[] queryBuilder = CreateSqlBuilder(dateRange, transactionNumber, transactionSearchType, searchScope, customer, client, batchFrom, batchTo); IList <CreditNoteSearchResult> creditNoteSearchResults = new List <CreditNoteSearchResult>(); using (SqlConnection connection = CreateConnection()) { try { using (SqlDataReader dataReader = SqlHelper.ExecuteReader(connection, CommandType.StoredProcedure, "stGetCustomersSearchAll", queryBuilder)) { CleverReader cleverReader = new CleverReader(dataReader); while (!cleverReader.IsNull && cleverReader.Read()) { var transactionSearchResult = new CreditNoteSearchResult( cleverReader.ToDecimal("Amount"), cleverReader.ToInteger("BatchID"), cleverReader.ToDate("datereceived"), cleverReader.ToString("Reference"), cleverReader.ToDate("Created"), cleverReader.FromBigInteger("CustomerID"), cleverReader.ToString("Customer"), cleverReader.FromBigInteger("ClientID"), cleverReader.ToString("ClientName"), cleverReader.FromBigInteger("CustNum"), cleverReader.ToString("Title"), cleverReader.ToDecimal("Balance"), cleverReader.ToString("BatchFrom"), cleverReader.ToString("BatchTo")); creditNoteSearchResults.Add(transactionSearchResult); } } } catch (SqlException exception) { if (exception.Message.Contains("Timeout expired")) { throw new CffTimeoutException(exception.Message, exception); } throw; } } return(RecordLimiter.ReturnMaximumRecords(creditNoteSearchResults)); }
protected void CreditSearchGridViewCustomCallback(object sender, ReportGridViewCustomCallbackEventArgs e) { CallbackParameter parameter = CallbackParameter.Parse(e.Parameters); CreditNoteSearchResult creditNote = (CreditNoteSearchResult)creditSearchGridView.GetRow(parameter.RowIndex); RedirectionParameter redirectionParameter = new RedirectionParameter(parameter.FieldName, creditNote.ClientId, creditNote.CustomerId, creditNote.Batch); ISecurityManager securityManager = SecurityManagerFactory.Create(Context.User as CffPrincipal, this.CurrentScope()); Redirector redirector = new Redirector(RedirectionService.Create(this, securityManager)); redirector.Redirect(redirectionParameter); }