TaskView.xaml.cs 4.39 KB
using HH_WCS_Standard.Page.HandView;
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;

namespace HH_WCS_Standard
{
    /// <summary>
    /// TaskView.xaml 的交互逻辑
    /// </summary>
    public partial class TaskView
    {
        public TaskView()
        {
            InitializeComponent();
        }

        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            AduDataGrids1.ItemsSource = App.taskList;
        }

        private void MItem_ChangeTask(object sender, RoutedEventArgs e)
        {
            if (AduDataGrids1.SelectedItem == null)
            {
                MessageBox.Show("未选择任何行");
                return;
            }
            I_Task task = AduDataGrids1.SelectedItem as I_Task;
            MenuItem iten = e.OriginalSource as MenuItem;
            if (iten.Header == null || task == null) return;
            try
            {
                TaskStateChangexaml taskStateChangexaml = new TaskStateChangexaml(task);
                taskStateChangexaml.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{iten.Header}失败,请稍后重试:" + ex.Message);
            }
        }

        #region 强制删除任务
        //private void MItem_ClearTask(object sender, RoutedEventArgs e)
        //{
        //    if (AduDataGrids1.SelectedItem == null)
        //    {
        //        MessageBox.Show("未选择任何行");
        //        return;
        //    }
        //    I_Task task = AduDataGrids1.SelectedItem as I_Task;
        //    MenuItem iten = e.OriginalSource as MenuItem;
        //    if (iten.Header == null || task == null) return;
        //    try
        //    {
        //        if (MessageBox.Show("是否删除此任务!",
        //          "警告", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
        //        {
        //            BaseBll baseBll = new BaseBll();
        //            var deleteResult = baseBll.TaskDelete(task);
        //            if (deleteResult.Success)
        //            {
        //                MessageBox.Show("任务删除成功", "提示");
        //            }
        //            else
        //            {
        //                MessageBox.Show($"任务删除失败:{deleteResult.Msg}", "提示");
        //            }
        //        }
        //        else { return; }
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show($"{iten.Header}失败,请稍后重试:" + ex.Message);
        //    }
        //}
        #endregion 强制删除任务

        private void MItem_PriorityTask(object sender, RoutedEventArgs e)
        {
            if (AduDataGrids1.SelectedItem == null)
            {
                MessageBox.Show("未选择任何行");
                return;//BllResult.Error();
            }
            I_Task task = AduDataGrids1.SelectedItem as I_Task;
            MenuItem iten = e.OriginalSource as MenuItem;
            if (iten.Header == null || task == null) return;// BllResult.Error();
            try
            {
                BaseDal<I_Task> taskDb = new BaseDal<I_Task>();
                taskDb.BeginTran();
                Dictionary<string, object> dict = new Dictionary<string, object>();
                dict.Add("Priority", -1);
                var updateResult = taskDb.Update(dict, a => a.tNo == task.tNo);
                if (updateResult.Success)
                {
                    taskDb.CommitTran();
                    task.Priority = -1;
                    LogExecute.logNet.WriteDebug($"手动提高优先级,任务号:{task.tNo},时间:{DateTime.Now}");
                    MessageBox.Show($"{iten.Header}成功,提高优先级成功");
                    return;// BllResult.Sucess();
                }
                else
                {
                    taskDb.RollbackTran();
                    LogExecute.logNet.WriteError($"手动提高优先级失败,任务号:{task.tNo},时间:{DateTime.Now}");
                    MessageBox.Show($"{iten.Header}失败,提高优先级失败:{updateResult.Msg}");
                    return;// BllResult.Error();
                }
            
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{iten.Header}失败,请稍后重试:" + ex.Message);
            }
        }
    }
}