using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
using HL_FristAidPlatform_Public;
using HL_FristAidPlatform_DTO;
namespace HL_FristAidPlatform_MultiSystemPublic
{
public partial class Form_ImageMain : XtraForm
{
#region 变量
///
/// 当前患者编号(GUID)
///
private string Cur_PatientGuid = string.Empty;
///
/// 当前系统模块编号(ID)
///
private string Cur_SystemModuleID = string.Empty;
///
/// 查看图片类型
///
private Enumerate.ServiceImageFileType Cur_FileType;
#endregion
///
/// 图片列表查看
///
/// 当前患者编号(GUID)
/// 当前系统模块编号(ID)
/// 查看图片类型
public Form_ImageMain(string _patientGuid, string _systemModuleID, Enumerate.ServiceImageFileType _fileType)
{
Cur_PatientGuid = _patientGuid;
Cur_SystemModuleID = _systemModuleID;
Cur_FileType = _fileType;
InitializeComponent();
}
///
/// 窗体加载
///
///
///
private void Form_EcgImageMain_Load(object sender, EventArgs e)
{
BindList();
}
///
/// 绑定数据列表
///
private void BindList()
{
try
{
string Url = string.Format("api/service/T_Service_Image/GetList?patientGuid={0}&systemModuleID={1}&fileType={2}", Cur_PatientGuid, Cur_SystemModuleID, (int)Cur_FileType);
DataTable returnDT = DBHelpClass.Get(Url);
if (returnDT != null && returnDT.Rows.Count > 0)
{
gridControl_Ecg.DataSource = returnDT;
gridView_Ecg.BestFitColumns();//列宽自适应
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex);
}
}
///
/// 自定义显示列
///
///
///
private void gridView_Ecg_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "FileType")
{
if (!string.IsNullOrEmpty(e.Value.ToString().Trim()))
{
if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.CT检查))
{
e.DisplayText = Enumerate.ServiceImageFileType.CT检查.ToString();
}
else if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.院前首份心电图))
{
e.DisplayText = Enumerate.ServiceImageFileType.院前首份心电图.ToString();
}
else if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.院内首份心电图))
{
e.DisplayText = Enumerate.ServiceImageFileType.院内首份心电图.ToString();
}
}
}
}
///
/// 双击列表事件
///
///
///
private void gridControl_Ecg_MouseDoubleClick(object sender, MouseEventArgs e)
{
ShowImage();
}
///
/// 显示图片
///
private void ShowImage()
{
try
{
if (gridView_Ecg.DataRowCount > 0)
{
int selectRow = gridView_Ecg.GetSelectedRows()[0];
string guid = gridView_Ecg.GetRowCellValue(selectRow, "GUID").ToString();
if (!string.IsNullOrEmpty(guid))
{
DataTable DetailDT = DBHelpClass.Get(string.Format("api/service/T_Service_Image/GetByGuid?guid={0}", guid));
if (DetailDT != null && DetailDT.Rows.Count > 0)
{
//图片
#region 图片
string FileImage = PublicClass.ToString(DetailDT.Rows[0]["FileImage"], "");
if (!string.IsNullOrEmpty(FileImage))
{
byte[] image = Convert.FromBase64String(FileImage);
Form_ImageShow frm = new Form_ImageShow(image);
frm.ShowDialog();
}
#endregion
}
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "显示图片:\r\n" + ex);
}
}
///
/// 删除图片
///
private void DeleteImage()
{
try
{
if (gridView_Ecg.DataRowCount > 0)
{
int selectRow = gridView_Ecg.GetSelectedRows()[0];
long ID = PublicClass.ToInt64(gridView_Ecg.GetRowCellValue(selectRow, "ID"), 0);
if (ID > 0)
{
if (XtraMessageBox.Show("确定要删除当前图片?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
List list = new List();
T_Service_ImageDTO model = new T_Service_ImageDTO();
model.ID = ID;
model.GUID = Guid.NewGuid().ToString();
model.CreateTime = PublicClass.DateTimeNow();
list.Add(model);
ClientFactory httpClient = new HttpClientFactory();
Client client = httpClient.VisitFactory();
string Url = "api/service/T_Service_Image/LogicalDelete";
if (client.Post(Url, list).Success)
{
XtraMessageBox.Show("删除图片文件成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult = DialogResult.OK;
BindList();
}
else
{
XtraMessageBox.Show("删除图片文件失败!请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "删除当前图片:\r\n" + ex);
}
}
///
/// 列表操作
///
///
///
private void repositoryItemButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
switch (e.Button.Caption)
{
case "查看图片":
ShowImage();
break;
case "删除图片":
DeleteImage();
break;
default:
break;
}
}
}
}