StableVersion4.3/HL_FristAidPlatform_MultiSy.../Form_ImageMain.cs

215 lines
8.1 KiB
C#

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 变量
/// <summary>
/// 当前患者编号(GUID)
/// </summary>
private string Cur_PatientGuid = string.Empty;
/// <summary>
/// 当前系统模块编号(ID)
/// </summary>
private string Cur_SystemModuleID = string.Empty;
/// <summary>
/// 查看图片类型
/// </summary>
private Enumerate.ServiceImageFileType Cur_FileType;
#endregion
/// <summary>
/// 图片列表查看
/// </summary>
/// <param name="_patientGuid">当前患者编号(GUID)</param>
/// <param name="_systemModuleID">当前系统模块编号(ID)</param>
/// <param name="_fileType">查看图片类型</param>
public Form_ImageMain(string _patientGuid, string _systemModuleID, Enumerate.ServiceImageFileType _fileType)
{
Cur_PatientGuid = _patientGuid;
Cur_SystemModuleID = _systemModuleID;
Cur_FileType = _fileType;
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_EcgImageMain_Load(object sender, EventArgs e)
{
BindList();
}
/// <summary>
/// 绑定数据列表
/// </summary>
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);
}
}
/// <summary>
/// 自定义显示列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
}
}
/// <summary>
/// 双击列表事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridControl_Ecg_MouseDoubleClick(object sender, MouseEventArgs e)
{
ShowImage();
}
/// <summary>
/// 显示图片
/// </summary>
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);
}
}
/// <summary>
/// 删除图片
/// </summary>
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<T_Service_ImageDTO> list = new List<T_Service_ImageDTO>();
T_Service_ImageDTO model = new T_Service_ImageDTO();
model.ID = ID;
model.GUID = Guid.NewGuid().ToString();
model.CreateTime = PublicClass.DateTimeNow();
list.Add(model);
ClientFactory<T_Service_ImageDTO> httpClient = new HttpClientFactory<T_Service_ImageDTO>();
Client<T_Service_ImageDTO> 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);
}
}
/// <summary>
/// 列表操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void repositoryItemButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
switch (e.Button.Caption)
{
case "查看图片":
ShowImage();
break;
case "删除图片":
DeleteImage();
break;
default:
break;
}
}
}
}