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 GeneralLib;
namespace SunVoteARSPPT
{
public partial class FrmCanVoteVoterGroup : Form
{
private TagSet tagSet = null;
private bool SaveOK = true;
public FrmCanVoteVoterGroup()
{
InitializeComponent();
}
//public FrmCanVoteSet(int type)
//{
// InitializeComponent();
// switch (type)
// {
// case 1:
// this.Text = "授权设置-指定名单分组";
// lvwItem.Items[0].Text = "1/A";
// btnSelectCorrect.Visible = false;
// break;
// default:
// this.Text = "授权设置-指定题目选项";
// break;
// }
//}
private void btnOK_Click(object sender, EventArgs e)
{
//2012-11-22 赵丽 没有勾选认为设置无效 日本要求
if(IsChecked())
SaveAuthorInfo();
SaveOK = true;
this.Close();
}
///
/// 是否有选择项
/// 2012-11-22 赵丽
///
///
private bool IsChecked()
{
if (GlobalInfo.OEMLogo != OEMLogos.oem3eAnalyzer) return true;
bool bResult = false;
for (int i = 0; i < lvwGroup.Items.Count; i++)
{
if (lvwGroup.Items[i].Checked == true)
{
bResult = true;
break;
}
}
return bResult;
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
SaveOK = true;
this.Close();
}
private void FrmCanVoteSet_Load(object sender, EventArgs e)
{
GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
chkSelectAllSlide.Top = lvwGroup.Top + 5;
chkSelectAllSlide.Left = lvwGroup.Left + 3;
lvwGroup.Columns[0].Text = " " + lvwGroup.Columns[0].Text;
tagSet = new TagSet();
tagSet.Tags = Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.Tags;
ControlOper.SetPosCheckBoxToListViewHead(lvwGroup, chkSelectAllSlide);//杨斌 2012-11-16
LoadVoterInfo();
SaveOK = true;
}
private void btnSelectAll_Click(object sender, EventArgs e)
{
}
///
/// 加载授权信息
///
private void LoadAuthorInfo(int groupID)
{
try
{
int CurrentID = Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.SlideID;
if (groupID == tagSet.LoadValue(TagKey.ResponsePara_CanVoteGroup, 0).ToInt)
{
//if (chkValue[groupIndex.ToString()] == null) { chkValue[groupIndex.ToString()] = new bool[lvwGroup.Items.Count]; }
for (int i = 0; i < lvwGroup.Items.Count; i++)
{
lvwGroup.Items[i].Checked = tagSet.LoadValue(TagKey.ResponsePara_CanVoteList_,
CurrentID.ToString() + "_" + lvwGroup.Items[i].Text, 0).ToInt == 1 ? true : false;
//chkValue[groupIndex.ToString()][i] = lvwGroup.Items[i].Checked;
}
}
}
catch (Exception ex)
{
}
}
///
/// 获得投票人分组
///
private void LoadVoterInfo()
{
try
{
lvwSlide.Items.Clear();
DataSet ds = null;
string sSql = "select * from ST_RosterColumn order by RC_Index";
ds = GlobalInfo.DBOperation.OpenDataSet(sSql);
string groupID;
string groupIndex;
if (ds.Tables[0].Rows.Count == 0) { return; }
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
bool[] chk = null;
groupIndex = ds.Tables[0].Rows[i]["RC_Index"].ToString();
lvwSlide.Items.Add(groupIndex);
lvwSlide.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["RC_Name"].ToString());
lvwSlide.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["RC_ID"].ToString());
}
groupID = tagSet.LoadValue(TagKey.ResponsePara_CanVoteGroup, 0).ToInt.ToString();
if (groupID != "0")
{
//杨斌 2012-03-22
int index = GetVoterIndex(groupID);
if (index >= 0)
{
lvwSlide.Items[GetVoterIndex(groupID)].Selected = true;
LoadCanChooseVoter(ConvertOper.Convert(groupID).ToInt);
}
else
{
lvwSlide.Items[0].Selected = true;
LoadCanChooseVoter(ConvertOper.Convert(lvwSlide.Items[0].SubItems[2].Text).ToInt);
}
}
else
{
lvwSlide.Items[0].Selected = true;
LoadCanChooseVoter(ConvertOper.Convert(lvwSlide.Items[0].SubItems[2].Text).ToInt);
}
}
catch (Exception ex)
{
}
}
///
/// 加载可选投票人列表
///
private void LoadCanChooseVoter(int GroupID)
{
try
{
lvwGroup.Items.Clear();
DataSet ds = null;
string sSql = "select distinct RV_Text from ST_RosterValue where RC_ID=" + GroupID.ToString();
ds = GlobalInfo.DBOperation.OpenDataSet(sSql);
if (ds.Tables[0].Rows.Count == 0) { return; }
if (lvwSlide.SelectedItems[0].Index == 0)//键盘编号为数字,应按数字排序,杨斌 2012-03-01
{
List lstKeypad = new List();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
//lstKeypad.Add(ConvertOper.Convert(ds.Tables[0].Rows[i]["RV_Text"].ToString()).ToInt);
lstKeypad.Add(ds.Tables[0].Rows[i]["RV_Text"].ToString());//杨斌 2015-01-14
}
lstKeypad.Sort();
for (int i = 0; i < lstKeypad.Count; i++)
{
lvwGroup.Items.Add(lstKeypad[i].ToString(), 0);
}
}
else
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
lvwGroup.Items.Add(ds.Tables[0].Rows[i]["RV_Text"].ToString(), 0);
//lvwGroup.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["RO_ID"].ToString());
}
}
LoadAuthorInfo(GroupID);
}
catch (Exception ex)
{
}
}
///
/// 保存授权信息
///
private void SaveAuthorInfo()
{
string topicID = Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.SlideID.ToString();
string sSql = "select * from ST_Response where T_ID='" + topicID + "'";
if (GlobalInfo.DBOperation.RecordIsExist(sSql))
{
if (MessageBox.Show(GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "UpdatePrompt",
"更改键盘授权信息,将清空该题目所有反馈信息,是否继续?"), GlobalInfo.GetAppName(), MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.No)
{
this.DialogResult = DialogResult.Cancel;
return;
}
else
{
GlobalInfo.response.ClearResponseDB(topicID);
}
}
try
{
// if (lvwSlide.sel == null) { return; }
int CurrnetID = Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.SlideID;
//删除之前的数据,人员名单授权和幻灯片授权
PPTOper.RemoveTags(tagSet, "ResponsePara_CanVoteList_" + CurrnetID.ToString());
PPTOper.RemoveTags(tagSet, "ResponsePara_CanVoteOption_" + CurrnetID.ToString());
tagSet.SetValue(TagKey.ResponsePara_CanVoteGroup, lvwSlide.SelectedItems[0].SubItems[2].Text);
for (int i = 0; i < lvwGroup.Items.Count; i++)
{
tagSet.SetValue(TagKey.ResponsePara_CanVoteList_, CurrnetID.ToString() + "_" + lvwGroup.Items[i].Text,
lvwGroup.Items[i].Checked == true ? 1 : 0);
}
//tagSet.SetValue(TagKey.ResponsePara_CanVote, CanVoteIndex);
this.DialogResult = DialogResult.OK;
}
catch (Exception ex)
{ }
}
private void lvwSlide_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
chkSelectAllSlide.Checked = false;
SaveOK = true;
if (lvwSlide.FocusedItem == null) { return; }
if (lvwSlide.FocusedItem != null)
{
int groupID = 0;
groupID = ConvertOper.Convert(lvwSlide.SelectedItems[0].SubItems[2].Text).ToInt;
LoadCanChooseVoter(groupID);
}
}
catch
{
//未选中列表
}
}
private void FrmCanVoteVoterGroup_FormClosing(object sender, FormClosingEventArgs e)
{
if (SaveOK != true)
{
if (MessageBox.Show(GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "UpdateSave",
"键盘授权已修改,是否保存?"), GlobalInfo.GetAppName(), MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)
{
SaveOK = false;
}
else
SaveOK = true;
}
}
private void lvwGroup_ItemChecked(object sender, ItemCheckedEventArgs e)
{
}
private void lvwGroup_ItemCheck(object sender, ItemCheckEventArgs e)
{
SaveOK = false;
}
private void FrmCanVoteVoterGroup_FormClosed(object sender, FormClosedEventArgs e)
{
if (!SaveOK)
{
SaveAuthorInfo();
SaveOK = true;
}
}
private int GetVoterIndex(string groupID)
{
//杨斌 2012-03-22
int voteIndex = -1;
for (int i = 0; i < lvwSlide.Items.Count; i++)
{
if (lvwSlide.Items[i].SubItems[2].Text.ToString() == groupID)
{
//voteIndex = ConvertOper.Convert(lvwSlide.Items[i].Text.ToString()).ToInt ;
voteIndex = i;
break;
}
}
return voteIndex;
}
private void chkSelectAllSlide_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvwGroup.Items.Count; i++)
{
lvwGroup.Items[i].Checked = chkSelectAllSlide.Checked;
}
SaveOK = false;
}
}
}