CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/Controls/SeeQRImage.aspx.cs

278 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Web.UI;
using ThoughtWorks.QRCode.Codec;
namespace FineUIPro.Web.Controls
{
/// <summary>
///
/// </summary>
public partial class SeeQRImage : Page
{
#region QRCodeAttachUrl
/// <summary>
/// 二维码路径id
/// </summary>
public string QRCodeAttachUrl
{
get
{
return (string)ViewState["QRCodeAttachUrl"];
}
set
{
ViewState["QRCodeAttachUrl"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ShowQRCode();
}
}
/// <summary>
/// 二维码显示
/// </summary>
private void ShowQRCode()
{
if (!string.IsNullOrEmpty(Request.Params["PersonId"]))
{
var person = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == Request.Params["PersonId"]);
if (person != null)
{
if (!string.IsNullOrEmpty(person.QRCodeAttachUrl) && CreateQRCodeService.isHaveImage(person.QRCodeAttachUrl))
{
this.QRCodeAttachUrl = person.QRCodeAttachUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
person.QRCodeAttachUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["EquipmentQualityId"]))
{
var equipmentQuality = Funs.DB.QualityAudit_EquipmentQuality.FirstOrDefault(e => e.EquipmentQualityId == Request.Params["EquipmentQualityId"]);
if (equipmentQuality != null)
{
if (!string.IsNullOrEmpty(equipmentQuality.QRCodeAttachUrl) && CreateQRCodeService.isHaveImage(equipmentQuality.QRCodeAttachUrl))
{
this.QRCodeAttachUrl = equipmentQuality.QRCodeAttachUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
equipmentQuality.QRCodeAttachUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["GeneralEquipmentQualityId"]))
{
var generalEquipmentQuality = Funs.DB.QualityAudit_GeneralEquipmentQuality.FirstOrDefault(e => e.GeneralEquipmentQualityId == Request.Params["GeneralEquipmentQualityId"]);
if (generalEquipmentQuality != null)
{
if (!string.IsNullOrEmpty(generalEquipmentQuality.QRCodeAttachUrl) && CreateQRCodeService.isHaveImage(generalEquipmentQuality.QRCodeAttachUrl))
{
this.QRCodeAttachUrl = generalEquipmentQuality.QRCodeAttachUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
generalEquipmentQuality.QRCodeAttachUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["ConstructSolutionId"]))
{
var constructSolution = Funs.DB.Solution_ConstructSolution.FirstOrDefault(e => e.ConstructSolutionId == Request.Params["ConstructSolutionId"]);
if (constructSolution != null)
{
if (!string.IsNullOrEmpty(constructSolution.QRCodeAttachUrl) && CreateQRCodeService.isHaveImage(constructSolution.QRCodeAttachUrl))
{
this.QRCodeAttachUrl = constructSolution.QRCodeAttachUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
constructSolution.QRCodeAttachUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["TrainingPlanId"]))
{
var trainingPlan = Funs.DB.Training_Plan.FirstOrDefault(e => e.PlanId ==Request.Params["TrainingPlanId"]);
if (trainingPlan != null)
{
if (!string.IsNullOrEmpty(trainingPlan.QRCodeUrl) && CreateQRCodeService.isHaveImage(trainingPlan.QRCodeUrl))
{
this.QRCodeAttachUrl = trainingPlan.QRCodeUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
trainingPlan.QRCodeUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["TestPlanId"]))
{
var testPlan = Funs.DB.Training_TestPlan.FirstOrDefault(e => e.TestPlanId == Request.Params["TestPlanId"]);
if (testPlan != null)
{
if (!string.IsNullOrEmpty(testPlan.QRCodeUrl) && CreateQRCodeService.isHaveImage(testPlan.QRCodeUrl))
{
this.QRCodeAttachUrl = testPlan.QRCodeUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
testPlan.QRCodeUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["ServerTestPlanId"]))
{
var serverTestPlan = Funs.DB.Test_TestPlan.FirstOrDefault(e => e.TestPlanId == Request.Params["ServerTestPlanId"]);
if (serverTestPlan != null)
{
if (!string.IsNullOrEmpty(serverTestPlan.QRCodeUrl) && CreateQRCodeService.isHaveImage(serverTestPlan.QRCodeUrl))
{
this.QRCodeAttachUrl = serverTestPlan.QRCodeUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
serverTestPlan.QRCodeUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
else if (!string.IsNullOrEmpty(Request.Params["TrainingId"]))
{
var serverTestPlan = Funs.DB.EduTrain_TrainRecord.FirstOrDefault(e => e.TrainingId == Request.Params["TrainingId"]);
if (serverTestPlan != null)
{
if (!string.IsNullOrEmpty(serverTestPlan.QRCodeUrl) && CreateQRCodeService.isHaveImage(serverTestPlan.QRCodeUrl))
{
this.QRCodeAttachUrl = serverTestPlan.QRCodeUrl;
}
else
{
this.CreateCode_Simple(Request.Params["strCode"]);
serverTestPlan.QRCodeUrl = this.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
}
}
this.Image1.ImageUrl = "~/" + this.QRCodeAttachUrl;
}
/// <summary>
/// 生成二维码方法一
/// </summary>
private void CreateCode_Simple(string nr)
{
try
{
string imageUrl = string.Empty;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder
{
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
QRCodeScale = nr.Length,
QRCodeVersion = 0,
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
};
System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8);
string filepath = Server.MapPath("~/") + UploadFileService.QRCodeImageFilePath;
//如果文件夹不存在,则创建
if (!Directory.Exists(filepath))
{
Directory.CreateDirectory(filepath);
}
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
imageUrl = filepath + filename;
FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
this.QRCodeAttachUrl = UploadFileService.QRCodeImageFilePath + filename;
}
#pragma warning disable CS0168 // 声明了变量“ex”但从未使用过
catch (Exception ex)
#pragma warning restore CS0168 // 声明了变量“ex”但从未使用过
{
Alert.ShowInTop("操作有误,重新生成!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 重新生成二维码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReSave_Click(object sender, EventArgs e)
{
//UploadFileService.DeleteFile(Funs.RootPath, this.QRCodeAttachUrl);//删除二维码
//this.QRCodeAttachUrl = string.Empty;
this.ShowQRCode();
}
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrint_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.Params["PersonId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?PersonId={0}", Request.Params["PersonId"], "打印 - ")));
}
else if (!string.IsNullOrEmpty(Request.Params["EquipmentQualityId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?EquipmentQualityId={0}", Request.Params["EquipmentQualityId"], "打印 - ")));
}
else if (!string.IsNullOrEmpty(Request.Params["GeneralEquipmentQualityId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?GeneralEquipmentQualityId={0}", Request.Params["GeneralEquipmentQualityId"], "打印 - ")));
}
else if(!string.IsNullOrEmpty(Request.Params["ConstructSolutionId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?ConstructSolutionId={0}", Request.Params["ConstructSolutionId"], "打印 - ")));
}
else if(!string.IsNullOrEmpty(Request.Params["TrainingPlanId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?TrainingPlanId={0}", Request.Params["TrainingPlanId"], "打印 - ")));
}
else if (!string.IsNullOrEmpty(Request.Params["TestPlanId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?TestPlanId={0}", Request.Params["TestPlanId"], "打印 - ")));
}
else if (!string.IsNullOrEmpty(Request.Params["ServerTestPlanId"]))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QRCodePrint.aspx?ServerTestPlanId={0}", Request.Params["ServerTestPlanId"], "打印 - ")));
}
}
}
}