118 lines
4.8 KiB
C#
118 lines
4.8 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using WeiSha.Common;
|
||
using Song.ServiceInterfaces;
|
||
using Song.Entities;
|
||
using System.Data.SqlClient;
|
||
namespace Song.Site.Check
|
||
{
|
||
public partial class Dbup_20161024 : System.Web.UI.Page
|
||
{
|
||
//机构id
|
||
int orgid = WeiSha.Common.Request.QueryString["orgid"].Int32 ?? 0;
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
//if (index > 1)
|
||
//{
|
||
// btnDataTras_Click(null, null);
|
||
//}
|
||
//此页面的ajax提交,全部采用了POST方式
|
||
if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
|
||
{
|
||
string action = WeiSha.Common.Request.Form["action"].String;
|
||
switch (action)
|
||
{
|
||
case "btnStruct":
|
||
btnStruct_Click(null, null);
|
||
break;
|
||
case "btnDataTras":
|
||
btnDataTras_Click(null, null);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 调整试题的数据库结构
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnStruct_Click(object sender, EventArgs e)
|
||
{
|
||
string msg = "";
|
||
try
|
||
{
|
||
string sql = @"alter table [Questions] ALTER COLUMN [Qus_Explain] [nvarchar](max) NULL
|
||
alter table [Questions] add Qus_Items [nvarchar](max) NULL
|
||
alter table [Questions] add Qus_IsTitle [bit] NULL
|
||
update [Questions] set Qus_IsTitle=1
|
||
alter table [Questions] ALTER COLUMN Qus_IsTitle [bit] NOT NULL
|
||
alter table [QuesAnswer] ALTER COLUMN Qus_ID [int] NOT NULL
|
||
alter table QuesAnswer DROP COLUMN Org_ID
|
||
alter table QuesAnswer DROP COLUMN Org_Name
|
||
alter table [Questions] add [Ol_Name] [nvarchar](500) NULL
|
||
";
|
||
foreach (string s in sql.Split('\r'))
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(s))
|
||
{
|
||
Business.Do<ISystemPara>().ExecuteSql(s.Trim());
|
||
}
|
||
}
|
||
msg = "1";
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
string exmsg = ex.InnerException.Message;
|
||
exmsg = exmsg.Replace("'", "\"");
|
||
msg = "错误:" + exmsg + "; \n原因:可能您已经升级过了。";
|
||
}
|
||
Response.Write(msg);
|
||
Response.End();
|
||
|
||
}
|
||
/// <summary>
|
||
/// 整理数据
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnDataTras_Click(object sender, EventArgs e)
|
||
{
|
||
int size = WeiSha.Common.Request.Form["size"].Int32 ?? 10; //每页多少条
|
||
int index = WeiSha.Common.Request.Form["index"].Int32 ?? 1; //第几页
|
||
int orgid = WeiSha.Common.Request.Form["orgid"].Int32 ?? 0; //机构id
|
||
int sumcount = 0; //共计多少条记录
|
||
if (orgid < 1)
|
||
{
|
||
Song.Entities.Organization org = null;
|
||
org = Business.Do<IOrganization>().OrganCurrent();
|
||
orgid = org.Org_ID;
|
||
}
|
||
Song.Entities.Questions[] ques = Business.Do<IQuestions>()
|
||
.QuesPager(orgid, -1, null, null, size, index, out sumcount);
|
||
//处理中************
|
||
foreach (Song.Entities.Questions q in ques)
|
||
{
|
||
//读取当前试题的选项
|
||
string sql = string.Format("select * from QuesAnswer where Qus_UID='{0}'", q.Qus_UID);
|
||
List<Song.Entities.QuesAnswer> ans = Business.Do<ISystemPara>().ForSql<Song.Entities.QuesAnswer>(sql);
|
||
//将选项转换为xml字符串,保存到ques_items字段
|
||
string str = Business.Do<IQuestions>().AnswerToItems(ans.ToArray<Song.Entities.QuesAnswer>());
|
||
if (!string.IsNullOrWhiteSpace(str))
|
||
{
|
||
q.Qus_Items = str;
|
||
Business.Do<IQuestions>().QuesSave(q);
|
||
Business.Do<ISystemPara>().ExecuteSql(string.Format("DELETE FROM [QuesAnswer] WHERE Qus_UID='{0}'", q.Qus_UID));
|
||
}
|
||
}
|
||
string json = "{\"size\":" + size + ",\"index\":" + index + ",\"sumcount\":" + sumcount + ",\"orgid\":" + orgid + "}";
|
||
Response.Write(json);
|
||
Response.End();
|
||
}
|
||
|
||
|
||
}
|
||
} |