菜鸟的博客

纵有疾风起,人生不言弃。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

进销存你恶事做尽

复制代码
using BookManagement.service;
using BookManagement.util;
using System;
using System.Windows;
using System.Windows.Controls;


namespace BookManagement.page
{
    public partial class SalesOrderPage : Page
    {
        private int _pageSize = 15;
        private int _currentPage = 1;
        private int _totalRecords = 0;
        private int _totalPages = 0;
        private int? _currentUserId;

        public SalesOrderPage()
        {
            InitializeComponent();
            _currentUserId = Session.GetCurrentUserId();
            if (!_currentUserId.HasValue)
            {
                MessageBox.Show("未检测到登录用户,请重新登录!");
                return;
            }
            ShowSalesOrderDetail();
        }

        private void ShowSalesOrderDetail()
        {
            try
            {
                int? salesOrderId = null;
                if (int.TryParse(SalesOrderIdTextBox.Text, out int parsedSalesOrderId))
                {
                    salesOrderId = parsedSalesOrderId;
                }

                string? isbn = !string.IsNullOrWhiteSpace(ISBNTextBox.Text) ? ISBNTextBox.Text : null;
                string? bookName = !string.IsNullOrWhiteSpace(BookNameTextBox.Text) ? BookNameTextBox.Text : null;

                DateOnly? startOrderDate = null;
                if (StartOrderDateTextBox.SelectedDate.HasValue)
                {
                    startOrderDate = DateOnly.FromDateTime(StartOrderDateTextBox.SelectedDate.Value);
                }

                DateOnly? endOrderDate = null;
                if (EndOrderDateTextBox.SelectedDate.HasValue)
                {
                    endOrderDate = DateOnly.FromDateTime(EndOrderDateTextBox.SelectedDate.Value);
                }

                _totalRecords = SalesOrderService.GetCompleteSalesOrderCountByUserId(
                    salesOrderId, isbn, bookName, startOrderDate, endOrderDate, _currentUserId.Value);
                _totalPages = (int)Math.Ceiling((double)_totalRecords / _pageSize);

                var completeSalesOrders = SalesOrderService.GetCompleteSalesOrdersByMultipleConditionsAndUserId(
                    _currentPage, _pageSize, salesOrderId, isbn, bookName, startOrderDate, endOrderDate, _currentUserId.Value);

                PageInfoText.Text = $"当前第{_currentPage}页,共{_totalPages}页";
                CompleteSalesOrderDataGrid.ItemsSource = completeSalesOrders;
            }
            catch (Exception ex)
            {
                MessageBox.Show($"加载数据时发生错误: {ex.Message}");
            }
        }

        private void PreviousPageButton_Click(object sender, RoutedEventArgs e)
        {
            if (_currentPage > 1)
            {
                _currentPage--;
                ShowSalesOrderDetail();
            }
            else
            {
                MessageBox.Show("已经是第一页!");
            }
        }

        private void NextPageButton_Click(object sender, RoutedEventArgs e)
        {
            if (_currentPage < _totalPages)
            {
                _currentPage++;
                ShowSalesOrderDetail();
            }
            else
            {
                MessageBox.Show("已经是最后一页!");
            }
        }

        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            _currentPage = 1;
            ShowSalesOrderDetail();
        }
    }
}
复制代码

 

posted on   hhmzd233  阅读(10)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2023-12-20 进制转换
点击右上角即可分享
微信分享提示