StableVersion4.3/HL_FristAidPlatform_SYS/Form_SystemModuleMain.cs

336 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
namespace HL_FristAidPlatform_SYS
{
public partial class Form_SystemModuleMain : Form
{
#region 变量
/// <summary>
/// 操作标志 1:新增 2:修改
/// </summary>
public int Flag = 1;
/// <summary>
/// 当前图标文件名
/// </summary>
private string Cur_Icon = string.Empty;
/// <summary>
/// 当前图标(转换成二进制之后数据)
/// </summary>
private string Cur_PicData = string.Empty;
/// <summary>
/// 当前图片的位图源
/// </summary>
private Bitmap Cur_ImageBitmap;
#endregion
public Form_SystemModuleMain()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_SystemModuleMain_Load(object sender, EventArgs e)
{
BindData();
//详情控件初始化
PublicClass.EnabledControl(this.group_Detail, true, false);
}
private void txt_Key_TextChanged(object sender, EventArgs e)
{
BindData();
}
private void cmb_IsOpen_SelectedIndexChanged(object sender, EventArgs e)
{
BindData();
}
private void cmb_DeleteFlag_SelectedIndexChanged(object sender, EventArgs e)
{
BindData();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BindData();
}
/// <summary>
/// 单击绑定详情
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void grid_SystemModule_MouseClick(object sender, MouseEventArgs e)
{
GridHitInfo hi = grv_SystemModule.CalcHitInfo(new Point(e.X, e.Y));
//单击数据行
if (hi.InRow)//单击的是列头 hi.InColumn
{
PublicClass.EnabledControl(this.group_Detail, true, false);
BindDetail();
}
}
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
PublicClass.EnabledControl(group_Detail, false, true);
ckb_DeleteFlag.Checked = true;
ckb_IsOpen.Checked = true;
pictureEdit_Icon.Image = null;
Flag = 1;
}
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BindDetail();
PublicClass.EnabledControl(group_Detail, false, false);
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Save_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
try
{
#region 保存
if (string.IsNullOrEmpty(txt_SystemName.Text.ToString().Trim()))
{
XtraMessageBox.Show("系统名称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_SystemName.Focus();
return;
}
List<T_SYS_SystemModuleDTO> list = new List<T_SYS_SystemModuleDTO>();
T_SYS_SystemModuleDTO model = new T_SYS_SystemModuleDTO();
string Url = string.Empty;
if (Flag == 1)
{
Url = "api/admin/T_SYS_SystemModule";
model.GUID = Guid.NewGuid().ToString();
model.CreationDate = PublicClass.DateTimeNow();
}
else
{
Url = "api/admin/T_SYS_SystemModule/Update";
model.ID = Convert.ToInt32(txt_SystemName.Tag.ToString());
model.GUID = txt_EnglishName.Tag.ToString();
model.CreationDate = txt_ShortName.Tag.ToString();
}
model.SystemName = txt_SystemName.Text.ToString().Trim();
model.EnglishName = txt_EnglishName.Text.ToString().Trim();
model.ShortName = txt_ShortName.Text.ToString().Trim();
model.PatientTypeName = txt_PatientTypeName.Text.ToString().Trim();
model.Icon = Cur_Icon;
model.IconData = Convert.FromBase64String(Cur_PicData);
model.OrderBy = Convert.ToInt32(txt_OrderBy.Text.ToString().Trim());
model.IsOpen = ckb_IsOpen.Checked == true ? 0 : 1;
model.IsHaveTimeAxis = ckb_IsHaveTimeAxis.Checked == true ? 0 : 1;
model.DeleteFlag = ckb_DeleteFlag.Checked == true ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_SYS_SystemModuleDTO> httpClient = new HttpClientFactory<T_SYS_SystemModuleDTO>();
Client<T_SYS_SystemModuleDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_SYS_SystemModuleDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("保存系统系统信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PublicClass.EnabledControl(group_Detail, true, false);
Flag = 0;
//列表分页数据绑定
BindData();
//定位
PublicClass.LocationForGridView(grv_SystemModule, model.GUID, 1);
}
else
{
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex);
}
}
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Close();
}
#region 方法
/// <summary>
/// 查询绑定
/// </summary>
private void BindData()
{
BindSystemModule();
}
/// <summary>
/// 绑定
/// </summary>
private void BindSystemModule()
{
try
{
#region 绑定
int IsOpen = -1;
if (cmb_IsOpen.Text.ToString().Trim() == "开启")
IsOpen = 0;
else if (cmb_IsOpen.Text.ToString().Trim() == "关闭")
IsOpen = 1;
else
IsOpen = -1;
int DeleteFlag = -1;
if (cmb_DeleteFlag.Text.ToString().Trim() == "启用")
DeleteFlag = 0;
else if (cmb_DeleteFlag.Text.ToString().Trim() == "禁用")
DeleteFlag = 1;
else
DeleteFlag = -1;
DataTable ResultDT = DBHelpClass.Get(string.Format("/api/admin/T_SYS_SystemModule?keyWord={0}&isOpen={1}&deleteFlag={2}", txt_Key.Text.ToString().Trim(), IsOpen, DeleteFlag));
//显示结果
grid_SystemModule.DataSource = ResultDT;
//自动调整所有字段宽度
grv_SystemModule.BestFitColumns();
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定:\r\n" + ex);
}
}
/// <summary>
/// 绑定详情
/// </summary>
private void BindDetail()
{
try
{
#region 绑定详情
if (grv_SystemModule.DataRowCount > 0)
{
int selectRow = grv_SystemModule.GetSelectedRows()[0];
string ModuleID = grv_SystemModule.GetRowCellValue(selectRow, "ID").ToString();
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/admin/T_SYS_SystemModule/{0}", ModuleID));
if (DetailDT != null && DetailDT.Rows.Count > 0)
{
Flag = 2;//修改标识
txt_SystemName.Tag = DetailDT.Rows[0]["ID"].ToString();
txt_SystemName.Text = DetailDT.Rows[0]["SystemName"].ToString();
txt_EnglishName.Tag = DetailDT.Rows[0]["GUID"].ToString();
txt_EnglishName.Text = DetailDT.Rows[0]["EnglishName"].ToString();
txt_ShortName.Tag = DetailDT.Rows[0]["CreationDate"].ToString();
txt_ShortName.Text = DetailDT.Rows[0]["ShortName"].ToString();
txt_PatientTypeName.Text = DetailDT.Rows[0]["PatientTypeName"].ToString();
#region 图片
if (!string.IsNullOrEmpty(PublicClass.ToString(DetailDT.Rows[0]["IconData"], "")))
{
MemoryStream ms = new MemoryStream(Convert.FromBase64String(DetailDT.Rows[0]["IconData"].ToString()));
Image img = Image.FromStream(ms);
Cur_ImageBitmap = new Bitmap(img, pictureEdit_Icon.Width, pictureEdit_Icon.Height);
pictureEdit_Icon.Image = Cur_ImageBitmap;
Cur_Icon = DetailDT.Rows[0]["Icon"].ToString();
//所选图标转换成二进制
Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap);
}
else
{
pictureEdit_Icon.Image = null;
}
#endregion
txt_OrderBy.Text = DetailDT.Rows[0]["OrderBy"].ToString();
ckb_IsOpen.Checked = DetailDT.Rows[0]["IsOpen"].ToString().Trim() == "0" ? true : false;
ckb_IsHaveTimeAxis.Checked = DetailDT.Rows[0]["IsHaveTimeAxis"].ToString().Trim() == "0" ? true : false;
ckb_DeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false;
}
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex);
}
}
#endregion
/// <summary>
/// 选择图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_SelFlie_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Image Files(*.PNG)|*.PNG;|All files(*.*)|*.*";
ofd.RestoreDirectory = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
FileInfo file = new FileInfo(ofd.FileName);
if (file.Extension == ".png" || file.Extension == ".PNG")
{
string Cur_PicAddress = ofd.FileName;
Image imge = Image.FromFile(Cur_PicAddress);
Cur_ImageBitmap = new Bitmap(imge, pictureEdit_Icon.Width, pictureEdit_Icon.Height);
pictureEdit_Icon.Image = Cur_ImageBitmap;
Cur_Icon = file.Name;
//所选图标转换成二进制
Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap);
}
else
{
XtraMessageBox.Show("为确保系统美观度,请上传.png格式的图标", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "选择图片:\r\n" + ex);
}
}
}
}