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));
        }
Ejemplo n.º 2
0
        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);
        }