using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Diagnostics;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Fx678Member.Framework.Exceptions;
namespace MeiYuanJinYe.Admin.HttpHandler
{
/// summary>
/// CreateAccount 的摘要說明
/// /summary>
public class CreateAccount : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
Guid classRoomId = Guid.Parse(context.Request["ClassRoomId"]);
int Count = int.Parse(context.Request["Count"]);
DataTable dt = GetTableSchema();
Random ran = new Random();
for (int i = 0; i Count; i++)//循環(huán)往DataTable中賦值
{
DataRow r = dt.NewRow();
r[1] = ran.Next(10000000, 100000000);
r[2] = ran.Next(10000000, 100000000);
r[3] = classRoomId;
r[4] = DateTime.Now;
r[5] = 1;
dt.Rows.Add(r);
}
BulkToDB(dt);
context.Response.Write(BulkToDB(dt) ? "ok" : "error");
context.Session["dataTable"] = dt;
}
public void BulkToDB(DataTable dt)
{
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.AppSettings["ConnString"]);
SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);
bulkCopy.DestinationTableName = "ClassRoomAccount";//數(shù)據(jù)庫表名
bulkCopy.BatchSize = dt.Rows.Count;
try
{
sqlConn.Open();
if (dt != null dt.Rows.Count != 0)
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
new AppException("批量生成直播室賬號異常", ex);
}
finally
{
sqlConn.Close();
if (bulkCopy != null)
bulkCopy.Close();
}
}
public DataTable GetTableSchema()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]{
new DataColumn("AccountId",typeof(int)),
new DataColumn("AccountName",typeof(string)),
new DataColumn("Password",typeof(string)),
new DataColumn("ClassRoomId",typeof(Guid)),
new DataColumn("AddDate",typeof(DateTime)),
new DataColumn("IsActive",typeof(int))
});//數(shù)據(jù)庫表結(jié)構(gòu)
return dt;
}
public bool IsReusable
{
get
{
return false;
}
}
}
}