Example #1
0
        public static int GetTransactionPageCount(
            UserAccess ua
            , string display_name_filter
            , string completed_filter
            , string transaction_type_filter
            , string transaction_number_filter
            , int department_id_filter
            , bool has_been_modified
            )
        {
            var sb    = new StringBuilder();
            var param = TransactionData.CreateFilterDynamicParameters(
                ua,
                -1,
                display_name_filter,
                completed_filter,
                transaction_type_filter,
                transaction_number_filter,
                department_id_filter,
                has_been_modified);



            var query = @"
        SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
        SELECT
          COUNT(DISTINCT TD.transaction_number) CNT
        FROM ClayFinancial.dbo.data_transaction TD
        INNER JOIN ClayFinancial.dbo.vw_transaction_view TV ON TD.transaction_id = TV.transaction_id
        WHERE 1=1

      ";

            sb.AppendLine(query);

            sb.AppendLine(TransactionData.CreateFilterWhereClause(
                              ua,
                              -1,
                              display_name_filter,
                              completed_filter,
                              transaction_type_filter,
                              transaction_number_filter,
                              department_id_filter,
                              has_been_modified));

            var count = Constants.Exec_Scalar <int>(sb.ToString(), Constants.ConnectionString.ClayFinancial, param);

            if (count == 0)
            {
                return(1);
            }

            decimal page_count = ((decimal)count / (decimal)page_size);

            return((int)Math.Ceiling(page_count)); // base 1
        }
Example #2
0
        public static List <TransactionData> GetTransactionList(
            UserAccess ua
            , int page_number
            , string display_name_filter
            , string completed_filter
            , string transaction_type_filter
            , string transaction_number_filter
            , int department_id_filter
            , bool has_been_modified
            )
        {
            var sb    = new StringBuilder();
            var param = TransactionData.CreateFilterDynamicParameters(
                ua,
                page_number,
                display_name_filter,
                completed_filter,
                transaction_type_filter,
                transaction_number_filter,
                department_id_filter,
                has_been_modified);



            sb.AppendLine(GetTransactionDataQuery());

            if (ua.current_access == UserAccess.access_type.basic)
            {
                param.Add("@my_department_id", ua.my_department_id);
                sb.AppendLine("  AND (department_id = @my_department_id OR (created_by_employee_id = @my_employee_id AND can_modify = 1))");
            }

            sb.AppendLine(TransactionData.CreateFilterWhereClause(
                              ua,
                              page_number,
                              display_name_filter,
                              completed_filter,
                              transaction_type_filter,
                              transaction_number_filter,
                              department_id_filter,
                              has_been_modified));

            var td = Constants.Get_Data <TransactionData>(sb.ToString(), param, Constants.ConnectionString.ClayFinancial);

            return(td);
        }