当前位置:文档之家› WPF 程序

WPF 程序

WPF 程序
WPF 程序

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging; using System.Windows.Navigation;

using System.Windows.Shapes;

using System.Data;

using System.Windows.Forms;

using System.Collections;

using https://www.doczj.com/doc/3b8581448.html,ponentModel;

using Microsoft.Win32;

using https://www.doczj.com/doc/3b8581448.html,;

using System.IO;

using TranRC.Entitles;

using TranRC.windows;

using TranRC.Class;

using TranRC.View;

using System.Xml.Linq;

using System.Configuration;

using System.Runtime.InteropServices;

namespace TranRC.TranAccount

{

///

/// TranMainWin.xaml 的交互逻辑

///

///

public partial class TranMainWin : Window {

///

/// WIN32程序调用准备结构体

///

public struct MyPoint

{

public int X;

public int Y;

}

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern bool GetCursorPos(ref MyPoint pt);

#region初始化全局变量

public TranMainWin()

{

InitializeComponent();

}

public ForWait fw = new ForWait();

public List ltSap_VicTran = new List();

public BackgroundWorker _bgw = new BackgroundWorker();

public BackgroundWorker _bgwActRe = new BackgroundWorker();

public BackgroundWorker _bgwAct = new BackgroundWorker();

static public DateTime TranActReFromDate;

static public DateTime TranActReToDate;

public IEnumerable ltTranVicActRe;

public IEnumerable ltTranVicAct;

static public Test_MisEntities tz = new Test_MisEntities();

static public Test_MisEntities tzAct = new Test_MisEntities();

static public Test_MisEntities tzActRe= new Test_MisEntities();

public DllZSD504B.DllZSD504BClass ddl = new DllZSD504B.DllZSD504BClass();

static public bool IsMouseMoveDeleteMode = false;

static public bool IsMouseMoveCountMode = false;

static public Point CurrentMousePoint;

static public List ltNewCity = new List();

static public List ltNewState = new List();

static public List ltNewTranPur = new List();

static public List ltNewTransport = new List();

static public List ltNewTransportFee = new List(); static public List ltSap_Transport = new List();

static public List ltCity = new List();

static public List ltState = new List();

static public List ltTranPur = new List();

static public List ltTransport = new List();

static public List ltTransportFee = new List();

public List TotalVicAct = new List();

public List CurrentVicAct = new List();

public int TotalPageAct = 0;

public int CurrentPageAct = 0;

public List TotalVicActRe = new List();

public List CurrentVicActRe= new List();

public List CurrentAduitVicActRe = new List();

public int TotalPageActRe= 0;

public int CurrentPageActRe = 0;

public int PageCount= 17;

public bool IsOk = true;

static public System.Windows.Controls.DataGrid DetailDataGrid = new System.Windows.Controls.DataGrid(); static public System.Windows.Controls.DataGrid DetailDataGrid2 = new System.Windows.Controls.DataGrid(); public List ReturnData = new List();

public List ReturnDateTime = new List();

public bool IsMouseChooseStart { get; set; }

public string GetUserName { get; set; } // 获取用户名

public string GetFactory { get; set; } // 获取工厂信息

public string t_GetCurrentFactory { get; set; } // 存取全局工厂变量

static public t_TranPur CurrentUserPermission;

public FunWin fwi = new FunWin();

public bool StartFunWin=false;

public Timer TLoginTime = new Timer();

public int TLoginTimeCount = 0;

public bool TranWidth=false; //判断鼠标是否在按住左键(运费你好界面的DataGrid)

public bool TranWidthStart = false; //判断鼠标是否在按住左键, 并且在指定的区域内(运费你好界面的DataGrid)#endregion

//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#region事件处理组

///

///系统加载

///

///

///

private void Window_Loaded(object sender, RoutedEventArgs e)

{

LoadData();

}

///

///系统关闭前注销当前用户状态

///

///

///

private void Window_Closing(object sender, CancelEventArgs e)

{

// ddl.OnlineEnd(CurrentUserPermission.billerid);

}

private void btnClose_Click(object sender, RoutedEventArgs e)

{

App.Current.Shutdown();

}

private void btnMin_Click(object sender, RoutedEventArgs e)

{

this.WindowState = WindowState.Minimized;

}

private void btnAddRow_Click(object sender, RoutedEventArgs e)

{

AddRow();

private void btnSaveRow_Click(object sender, RoutedEventArgs e)

{

SaveData();

}

private void btnLoadData_Click(object sender, RoutedEventArgs e)

{

ForWait fw = new ForWait();

fw.SetWaitText = "Now LoadData";

fw.IsLoadAsyncWork = true;

bRe.Visibility = Visibility.Visible;

fw.ShowDialog();

bRe.Visibility = Visibility.Hidden;

//ExportSap_Transport();

}

private void btnDeleteRow_Click(object sender, RoutedEventArgs e)

{

DeleteRow();

}

private void btnNextRow_Click(object sender, RoutedEventArgs e)

{

}

private void txtSearch_TextChanged(object sender, TextChangedEventArgs e)

{

}

private void cboBaseDataType_SelectionChanged(object sender, SelectionChangedEventArgs e) {

if (((https://www.doczj.com/doc/3b8581448.html,boBox)(e.Source)).SelectedValue.ToString() == "用户权限表") {

//((ComboBox)(e.Source)).SelectedValue = null;

System.Windows.MessageBox.Show("你没有查看的权限,请联系你的权限管理人!");

}

else

{

ChooseLoadSourceShow();

}

}

#endregion

//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

///

///要开始了

///

void LoadData()

{

this.MaxHeight = System.Windows.SystemParameters.WorkArea.Height;

Timer UpdateOnlineUserList = new Timer();

UpdateOnlineUserList.Interval = 60000;

UpdateOnlineUserList.Tick += new EventHandler(UpdateOnlineUserList_Tick);

UpdateOnlineUserList.Start();

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////

TLoginTime.Interval = 1000;

TLoginTime.Tick += new EventHandler(TLoginTime_Tick);

//TLoginTime.Start();

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////

_bgw.DoWork += new DoWorkEventHandler(_bgw_DoWork); //后台线程工作程式

_bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bgw_RunWorkerCompleted); //后台线程完成程序

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////

_bgwActRe.DoWork += new DoWorkEventHandler(_bgwActRe_DoWork);

_bgwActRe.RunWorkerCompleted += new

RunWorkerCompletedEventHandler(_bgwActRe_RunWorkerCompleted);

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////

dtpReFromDate.SelectedDate = DateTime.Now.AddDays(-1);

dtpReToDate.SelectedDate = DateTime.Now;

dtpReFromDateAct.SelectedDate = DateTime.Now.AddDays(-1);

dtpReToDateAct.SelectedDate = DateTime.Now;

dtpReFromDateActRe.SelectedDate = DateTime.Now.AddDays(-1);

dtpReToDateActRe.SelectedDate = DateTime.Now;

dgShowTran.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed;

DetailDataGrid.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed;

DetailDataGrid2.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed;

dgShowTranAct.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed;

dgShowTranActRe.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed;

bTranActReCount.Visibility = Visibility.Hidden; //隐藏财务复核栏位计数边框

bTranActCount.Visibility = Visibility.Hidden; //隐藏审核核栏位计数边框ii

imgDataContext6.DataContext = "当前用户:" + CurrentUserPermission.uname;

LoadUserIcon();

imgDataContext7.DataContext = "货权工厂:" + CurrentUserPermission.FactoryID;

txtDataBase.DataContext=System.Configuration.ConfigurationManager.AppSettings["CurrentDattaBase"].ToString();

imgDataContext3.DataContext = 0;

imgDataContext4.DataContext = 0;

LoadSap_Transport();

tabControl.SelectedIndex = 1;

///财务复核并退单

if (CurrentUserPermission.pur == 0 && CurrentUserPermission.Nopur ==1 && CurrentUserPermission.edit == 0)

{

tabGeneralData.Visibility = Visibility.Collapsed;

tabTranCaritem.Visibility = Visibility.Collapsed;

tabTranCaritem2.Visibility = Visibility.Collapsed;

tabTranCar.SelectedIndex = 2;

}

///财务复核并退单

if (CurrentUserPermission.pur == 1 && CurrentUserPermission.Nopur == 0 && CurrentUserPermission.edit == 0)

{

tabGeneralData.Visibility = Visibility.Collapsed;

tabTranCaritem.Visibility = Visibility.Collapsed;

tabTranCaritem3.Visibility = Visibility.Collapsed;

tabTranCar.SelectedIndex = 1;

}

///只做单

if (CurrentUserPermission.pur==0 && CurrentUserPermission.Nopur==0 && CurrentUserPermission.edit==1)

{

tabGeneralData.Visibility = Visibility.Collapsed;

tabControl.SelectedIndex = 1;

tabTranCaritem2.Visibility = Visibility.Collapsed;

tabTranCaritem3.Visibility = Visibility.Collapsed;

tabTranCar.SelectedIndex = 0;

}

CurrentOnline();

}

///

///财务复核运费后台工作线程(完成时,可以更新UI)

///

///

///

void _bgwActRe_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {

AfterLoadTranActRe();

}

///

///财务复核运费后台工作线程

///

///

///

void _bgwActRe_DoWork(object sender, DoWorkEventArgs e)

{

LoadTranActRe(string.Empty);

}

///

///1分钟更新一次在线用户列表

///

///

///

void UpdateOnlineUserList_Tick(object sender, EventArgs e)

{

CurrentOnline();

}

///

///加载用户自定义图标

///

private void LoadUserIcon()

{

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "ADMIN")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/MaM.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XF-ZHANGD")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/ZhangD.png", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XF-LIX")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XF-LIX.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XF-SIM")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XF-SIM.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XF-CHENL")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XF-CHENL.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XF-PENGL")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XF-PENGL.jpg",

UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XA-WEIL")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XA-WEIL.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XA-ZHANGY")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XA-ZHANGY.jpg", UriKind.RelativeOrAbsolute));

}

if (https://www.doczj.com/doc/3b8581448.html,erCode.ToUpper() == "XA-LIMC")

{

imgDataContext6.Source = new BitmapImage(new Uri("/TranRC;component/Images/XA-LIMC.jpg", UriKind.RelativeOrAbsolute));

}

}

///异步调用完成后事件处理,可访问UI

///

///

///

void _bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{

ActAfterLoad(e.Result);

}

///

///异步调用过程

///

///

///

void _bgw_DoWork(object sender, DoWorkEventArgs e)

{

e.Result= LoadSap_Transport();

}

///

///时间轮询事件

///

///

///

void TLoginTime_Tick(object sender, EventArgs e)

{

TLoginTimeCount++;

if (TLoginTimeCount==5)

{

TLoginTimeCount = 0;

StartFunWin = true;

}

}

///

///选择相应数据源

///

void ChooseLoadSourceShow()

{

switch (cboBaseDataType.SelectedValue.ToString())

{

case"城市表":

ltCity.Clear();

IEnumerable tCity = from c in tz.t_city select c;

foreach (t_city item in tCity)

{

ltCity.Add(item);

}

if (ltNewCity.Count() > 0)

{

foreach (var item in ltNewCity)

{

ltCity.Add(item);

}

}

dgShowBase.DataContext = ltCity;

SetGridColumnsReadOnly();

break;

case"省份表":

ltState.Clear();

IEnumerable tState = from c in tz.t_state select c;

foreach (t_state item in tState)

{

ltState.Add(item);

}

if (ltNewState.Count() > 0)

{

foreach (var item in ltNewState)

{

ltState.Add(item);

}

}

dgShowBase.DataContext = ltState;

SetGridColumnsReadOnly();

break;

case"用户权限表":

ltTranPur.Clear();

IEnumerable tTranPur = from c in tz.t_TranPur select c;

foreach (t_TranPur item in tTranPur)

{

ltTranPur.Add(item);

}

if (ltNewTranPur.Count() > 0)

{

foreach (var item in ltNewTranPur)

{

ltTranPur.Add(item);

}

}

dgShowBase.DataContext = ltTranPur;

SetGridColumnsReadOnly();

break;

case"运输方式表":

ltTransport.Clear();

IEnumerable tTransport = from c in tz.t_transport select c;

foreach (t_transport item in tTransport)

{

ltTransport.Add(item);

}

if (ltNewTransport.Count() > 0)

{

foreach (var item in ltNewTransport)

{

ltTransport.Add(item);

}

}

dgShowBase.DataContext = ltTransport;

SetGridColumnsReadOnly();

break;

case"运费吨价表":

ltTransportFee.Clear();

IEnumerable tTransportFee = from c in tz.t_TransportFee select c;

foreach (t_TransportFee item in tTransportFee)

{

ltTransportFee.Add(item);

}

if (ltNewTransportFee.Count() > 0)

{

foreach (var item in ltNewTransportFee)

{

ltTransportFee.Add(item);

}

}

dgShowBase.DataContext = ltTransportFee;

SetGridColumnsReadOnly();

break;

default:

break;

}

}

///

///设置列样式

///

private void SetGridColumnsReadOnly()

{

dgShowBase.IsReadOnly = false;

dgShowBase.Columns[0].IsReadOnly = true;

dgShowBase.Columns[0].Visibility = Visibility.Hidden;

dgShowBase.Columns[dgShowBase.Columns.Count - 1].Visibility = Visibility.Hidden;

dgShowBase.Columns[dgShowBase.Columns.Count - 2].Visibility = Visibility.Hidden; }

///

///增加新行

///

private void AddRow()

{

try

{

switch (cboBaseDataType.SelectedValue.ToString())

{

case"用户权限表":

t_TranPur ttranPur = new t_TranPur();

ltNewTranPur.Add(ttranPur);

ltTranPur.Add(ttranPur);

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTranPur;

SetAddRowCurrent();

break;

case"省份表":

t_state tState = new t_state();

ltNewState.Add(tState);

ltState.Add(tState);

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltState;

SetAddRowCurrent();

break;

case"城市表":

t_city tCity = new t_city();

ltNewCity.Add(tCity);

ltCity.Add(tCity);

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltCity;

SetAddRowCurrent();

break;

case"运输方式表":

t_transport tTransoort = new t_transport();

ltNewTransport.Add(tTransoort);

ltTransport.Add(tTransoort);

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTransport;

SetAddRowCurrent();

break;

case"运费吨价表":

t_TransportFee tTransoortFee = new t_TransportFee();

ltNewTransportFee.Add(tTransoortFee);

ltTransportFee.Add(tTransoortFee);

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTransportFee;

SetAddRowCurrent();

break;

default:

break;

}

}

catch (Exception Mye)

{

MyMessageBoxShowException(Mye);

}

}

///

///增加新行后设置列

///

private void SetAddRowCurrent()

{

dgShowBase.SelectedItem = dgShowBase.Items[dgShowBase.Items.Count - 1];

dgShowBase.ScrollIntoView(dgShowBase.SelectedItem);

SetGridColumnsReadOnly();

}

///

///删除数据

///

private void DeleteRow()

{

try

{

if (dgShowBase.Items.Count == 0)

{

MyMessageBoxShowText ("没有数据可以删除!",string.Empty);

}

else

{

System.Windows.MessageBoxResult Rel = System.Windows.MessageBox.Show("你确定要删除SAP 数据吗?", "提示", MessageBoxButton.YesNo);

if (Rel == System.Windows.MessageBoxResult.Yes)

{

DeleteRowDetail();

}

}

}

catch (Exception Mye)

{

MyMessageBoxShowException(Mye);

}

}

///

///删除数据实现方法

///

private void DeleteRowDetail()

{

switch (cboBaseDataType.SelectedValue.ToString())

{

case"用户权限表":

foreach (t_TranPur items in dgShowBase.SelectedItems)

{

if (items.uname == null || items.uname == string.Empty)

ltTranPur.Remove(items);

ltNewTranPur.Remove(items);

}

else

{

foreach (t_TranPur item in tz.t_TranPur)

{

if (items == item)

{

tz.t_TranPur.DeleteObject(item);

ltTranPur.Remove(item);

}

}

}

}

tz.SaveChanges();

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTranPur;

break;

case"省份表":

foreach (t_state items in dgShowBase.SelectedItems)

{

if (items.statename == null || items.statename == string.Empty)

{

ltState.Remove(items);

ltNewState.Remove(items);

}

else

{

foreach (t_state item in tz.t_state)

{

if (items == item)

{

tz.t_state.DeleteObject(item);

ltState.Remove(item);

}

}

}

tz.SaveChanges();

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltState;

break;

case"城市表":

foreach (t_city items in dgShowBase.SelectedItems)

{

if (items.cityname == null || items.cityname == string.Empty)

{

ltCity.Remove(items);

ltNewCity.Remove(items);

}

else

{

foreach (t_city item in tz.t_city)

{

if (items == item)

{

tz.t_city.DeleteObject(item);

ltCity.Remove(item);

}

}

}

}

tz.SaveChanges();

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltCity;

break;

case"运输方式表":

foreach (t_transport items in dgShowBase.SelectedItems)

{

if (items.tptname == null || items.tptname == string.Empty)

{

ltTransport.Remove(items);

ltNewTransport.Remove(items);

}

else

{

foreach (t_transport item in tz.t_transport)

{

if (items == item)

{

tz.t_transport.DeleteObject(item);

ltTransport.Remove(item);

}

}

}

}

tz.SaveChanges();

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTransport;

break;

case"运费吨价表":

foreach (t_TransportFee items in dgShowBase.SelectedItems)

{

if (items.additioninfo == null || items.additioninfo ==string.Empty)

{

ltTransportFee.Remove(items);

ltNewTransportFee.Remove(items);

}

else

{

foreach (t_TransportFee item in tz.t_TransportFee)

{

if (items == item)

{

tz.t_TransportFee.DeleteObject(item);

ltTransportFee.Remove(item);

}

}

}

}

tz.SaveChanges();

dgShowBase.DataContext = null;

dgShowBase.DataContext = ltTransportFee;

break;

default:

break;

}

SetGridColumnsReadOnly();

MyMessageBoxShowText("Delete Success!",string.Empty);

}

///

///保存数据

///

private void SaveData()

{

try

{

switch (cboBaseDataType.SelectedValue.ToString())

{

case"用户权限表":

if (ltNewTranPur.Count > 0)

{

foreach (t_TranPur item in ltNewTranPur)

{

tz.t_TranPur.AddObject(item);

}

ltNewTranPur.Clear();

}

tz.SaveChanges();

MyMessageBoxShowText("Save Success!",string.Empty);

break;

case"省份表":

if (ltNewState.Count > 0)

{

foreach (t_state item in ltNewState)

{

相关主题
文本预览
相关文档 最新文档