You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
7.8 KiB
C#
216 lines
7.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Collections.Generic;
|
|
using System.Text.RegularExpressions;
|
|
using System.Text;
|
|
using JsonHelper;
|
|
using DSWeb.Models;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.Log;
|
|
using DSWeb.Authority;
|
|
|
|
|
|
namespace DSWeb.ParameterSet
|
|
{
|
|
public partial class CrmKeyCodeSet : PageBase
|
|
{
|
|
private string recvJSON;
|
|
private string strUserID;
|
|
private string strCompanyID;//公司GID
|
|
private string strShowName;//用户显示名
|
|
private string strDeptName;//部门名称
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (Session["USERID"] != null)
|
|
{
|
|
strUserID = Session["USERID"].ToString();
|
|
}
|
|
if (Session["SHOWNAME"] != null)
|
|
{
|
|
strShowName = Session["SHOWNAME"].ToString();
|
|
}
|
|
if (Session["COMPANYID"] != null)
|
|
{
|
|
strCompanyID = Session["COMPANYID"].ToString();
|
|
}
|
|
if (Session["DEPTNAME"] != null)
|
|
{
|
|
strDeptName = Session["DEPTNAME"].ToString();
|
|
}
|
|
//
|
|
if (!IsPostBack)
|
|
{
|
|
getddlKEYTYPE();
|
|
}
|
|
|
|
recvJSON = "";
|
|
recvJSON = this.recvContainer.Value.Trim();
|
|
if (this.h_post.Value.Trim() != "")
|
|
{
|
|
//保存操作
|
|
if (this.h_post.Value.Trim() == "1")
|
|
{
|
|
if (!recvJSON.Trim().Equals(""))
|
|
{
|
|
SaveFeeAction();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void getddlKEYTYPE()
|
|
{
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select KEYTYPE from crm_key_code group by KEYTYPE");
|
|
ddlKEYTYPE.Items.Clear();
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
ddlKEYTYPE.Items.Add(new ListItem(ds.Tables[0].Rows[i]["KEYTYPE"].ToString().Trim(), ds.Tables[0].Rows[i]["KEYTYPE"].ToString().Trim()));
|
|
}
|
|
}
|
|
|
|
protected String getBSNO()
|
|
{
|
|
string strBSNO = Guid.NewGuid().ToString();
|
|
strBSNO = strBSNO.Replace("-", "");
|
|
strBSNO = "Key" + strBSNO;
|
|
return strBSNO;
|
|
}
|
|
|
|
private void SaveFeeAction()
|
|
{
|
|
CrmKeyCodeSetDA CrmKeyCodeSetDA = new EntityDA.CrmKeyCodeSetDA();
|
|
IList<CrmKeyCodeSetEntity> KeyEntities = new List<CrmKeyCodeSetEntity>();
|
|
if (!recvJSON.Trim().Equals(""))
|
|
{
|
|
KeyEntities = ResolveFeeJSON(recvJSON.Trim(), KeyEntities);
|
|
recvContainer.Value = "";
|
|
//
|
|
int iResult = CrmKeyCodeSetDA.UpdateAll(KeyEntities);
|
|
if (iResult > 0)
|
|
{
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>refreshRecv();</script>");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key2", "<script>alert('出错,请重新填写!');refreshRecv();</script>");
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", "<script>alert('出错,请重新填写!');refreshRecv();</script>");
|
|
return;
|
|
}
|
|
}
|
|
|
|
private IList<CrmKeyCodeSetEntity> ResolveFeeJSON(string tempJSON, IList<CrmKeyCodeSetEntity> tempKeyEntities)
|
|
{
|
|
string strFilter = "";
|
|
|
|
if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0)
|
|
{
|
|
strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1);
|
|
|
|
string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries);
|
|
if (strFees.Length > 0)
|
|
{
|
|
for (int i = 0; i < strFees.Length; i++)
|
|
{
|
|
strFees[i] = strFees[i].ToString().Replace("{", "");
|
|
strFees[i] = strFees[i].ToString().Replace("}", "");
|
|
string[] strCell = strFees[i].Split(new char[] { ',' });
|
|
|
|
if (strCell.Length > 0)
|
|
{
|
|
CrmKeyCodeSetEntity model = new CrmKeyCodeSetEntity();
|
|
for (int j = 0; j < strCell.Length; j++)
|
|
{
|
|
string[] strArg = strCell[j].Split(new char[] { ':' });
|
|
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "keyid":
|
|
model.ID = strArg[1].ToString().Replace("\"", "").Trim();
|
|
break;
|
|
case "keytype":
|
|
model.KEYTYPE = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
break;
|
|
case "keycalue":
|
|
model.KEYVALUE = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
tempKeyEntities.Add(model);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return tempKeyEntities;
|
|
}
|
|
|
|
#region Unicode-GB Code转换
|
|
/// <summary>
|
|
/// Unicode-GB Code转换
|
|
/// </summary>
|
|
/// <param name="text">将Unicode编码字符转换成GB编码字符</param>
|
|
/// <returns>GB Code字符串</returns>
|
|
public string UnicodeToGB(string text)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
text = unicode.GetString(unicode.GetBytes(Regex.Unescape(text.Trim())));
|
|
return text;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unicode-GB Code转换
|
|
/// </summary>
|
|
/// <param name="text">将Unicode编码字符转换成GB编码字符</param>
|
|
/// <returns>GB Code字符串</returns>
|
|
public string UnicodeToGB_Old(string text)
|
|
{
|
|
MatchCollection mc = Regex.Matches(text, "([\\w]+)|(\\\\u([\\w]{4}))");
|
|
if (mc != null && mc.Count > 0)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (Match m2 in mc)
|
|
{
|
|
string v = m2.Value;
|
|
if (v.IndexOf("\\") >= 0)
|
|
{
|
|
string word = v.Substring(2);
|
|
byte[] codes = new byte[2];
|
|
int code = Convert.ToInt32(word.Substring(0, 2), 16);
|
|
int code2 = Convert.ToInt32(word.Substring(2), 16);
|
|
codes[0] = (byte)code2;
|
|
codes[1] = (byte)code;
|
|
sb.Append(Encoding.Unicode.GetString(codes));
|
|
}
|
|
else
|
|
{
|
|
sb.Append(v);
|
|
}
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
else
|
|
{
|
|
return text;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
} |