using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WMS.Frm.Base;
using WMS.Model.Base;
using WMS.Ctrl;
using WMS.Common;
using WMS.Business;
using WMS.Business.Base;
namespace WMS.FrmSystems
{
public partial class FrmSystemMenu : FormBase
{
#region 全局参数
///
/// 菜单对象
///
BaseMenuModel menuModel = new BaseMenuModel();
///
/// 功能集合
///
List SouerceList;
///
/// 原菜单功能
///
List copyList;
///
/// 菜单update数组
///
List upmenu = new List();
///
/// 功能update数组
///
List upmunufuc = new List();
///
/// 功能delete数组
///
List delmunufuc = new List();
///
/// 功能insert数组
///
List addmunufuc = new List();
///
/// 菜单是否更新标志
///
bool upmenuflag;
///
/// 业务类型 0 添加窗体 1 修改窗体,功能。
///
int workflag;
#endregion
///
/// 窗体初始化
///
/// 窗体对象
/// 功能列表
public FrmSystemMenu(BaseMenuModel menuSelectModel, List ListMunuFuc, int flag)
{
InitializeComponent();
menuModel = menuSelectModel;
SouerceList = ListMunuFuc;
copyList = ListMunuFuc.ToList();
workflag = flag;
txtEdit();
if (menuModel != null)
{
FuntionBinding.DataSource = SouerceList;
bgsMenu.DataSource = menuModel;
cbx_Tanc.Checked = menuModel.FRM_TYPE == "1";
if (menuModel.MENU_LEVEL == "1")
{
rbt_Lev1.Checked = true;
}
else
{
rbt_Lev2.Checked = true;
}
}
}
private void txtEdit()
{
if (workflag == 0)
{
txt_MenuID.Enabled = true;
}
else
{
txt_MenuID.Enabled = false;
}
}
///
/// 窗体加载
///
///
///
private void FrmSystemMenu_Load(object sender, EventArgs e)
{
upmenuflag = false;
}
///
/// 添加功能按钮按下,添加grid新行
///
///
///
private void ctrlButtons3_Click(object sender, EventArgs e)
{
//ctrlDictonary1.CtrlDictonary_KeyDown(null, null);
//gridView1.AddNewRow();
// FuntionBinding.DataSource = ListMunuFuc;
//SouerceList = (grdView.DataSource as List);
SouerceList.Add(new MenuFuctionModel() { MENU_ID = txt_MenuID.Text, MENU_NAME = txt_MenuName.Text });
FuntionBinding.DataSource = SouerceList;
grdView.RefreshData();
//gdFution.Refresh();
}
///
/// 确定按钮按下,更新启动
///
///
///
private void ctrlButtons1_Click(object sender, EventArgs e)
{
bgsMenu.EndEdit();
grdView.CloseEditor();
grdView.UpdateCurrentRow();
menuModel = bgsMenu.DataSource as BaseMenuModel;
menuModel.FRM_TYPE = cbx_Tanc.Checked ? "1" : "0";
if (rbt_Lev1.Checked)
{
menuModel.MENU_LEVEL = "1";
}
else if (rbt_Lev2.Checked)
{
menuModel.MENU_LEVEL = "2";
}
if (workflag == 0)
{
string errtex = IBussFactory.Instance().AddMenuData(menuModel, addmunufuc);
if (!string.IsNullOrEmpty(errtex))
{
SystemCommon.ShowErrorMessageBox("菜单添加失败"+errtex);
return;
}
else
{
SystemCommon.ShowInfoMessageBox("菜单添加成功");
}
workflag = 1;
txtEdit();
}
else
{
upmenu.Add(menuModel);
bool flag = IBussFactory.Instance().NewMenuDataFuc(upmenu, upmunufuc, addmunufuc, delmunufuc);
if (flag)
{
MessageBox.Show("更新功能成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
upmenu.Clear();
upmunufuc.Clear();
addmunufuc.Clear();
delmunufuc.Clear();
}
else
{
MessageBox.Show("更新功能失败,请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
///
/// 退出按钮按下,确认退出页面
///
///
///
private void ctrlButtons2_Click(object sender, EventArgs e)
{
if (DialogResult.Yes == MessageBox.Show("确定退出本窗口", "退出", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk))
{
this.Close();
}
}
///
/// 删除功能按钮按下,删除当前行
///
///
///
private void ctrlButtons4_Click(object sender, EventArgs e)
{
if (grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID") != null &&
!string.IsNullOrEmpty((grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString())))
{
if (delmunufuc.Count(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()) == 0)
{
delmunufuc.Add(SouerceList.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()));
}
if (addmunufuc.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()) != null)
{
addmunufuc.Remove(addmunufuc.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()));
}
}
grdView.DeleteRow(grdView.GetSelectedRows()[0]);
}
#region 菜单属性发生改变,更新标志
private void txt_MenuID_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void txt_MenuName_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void icbe_MenuImg_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void txt_FormPro_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void txt_FormClassName_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void rbt_Lev1_CheckedChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void rbt_Lev2_CheckedChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void cbx_Tanc_CheckedChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
private void MEtxtREMARK_TextChanged(object sender, EventArgs e)
{
upmenuflag = true;
}
#endregion
///
/// Grid列值变化添加增加或更新语句
///
///
///
private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (!addmunufuc.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)) && !copyList.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)))
{
addmunufuc.Add(grdView.GetRow(e.RowHandle) as MenuFuctionModel);
}
if (!upmunufuc.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)) && copyList.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)))
{
upmunufuc.Add(grdView.GetRow(e.RowHandle) as MenuFuctionModel);
}
}
private void repositoryItemImageComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
object d = grdView.GetFocusedRowCellValue(colFUN_ID);
string a = d.ToString();
SouerceList.Find(r => r.FUN_ID == a).FUN_IMAGE = ((DevExpress.XtraEditors.ImageComboBoxEdit)sender).EditValue.ToString();
}
}
}