/// <summary> /// 增加一条数据 /// </summary> public int Add(USR_CustomerMod model) { int ret = 0; TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { ret = dal.Add(model); USR_MessageMod m_notice = new USR_MessageMod(); m_notice.CustomerSysNo = ret; m_notice.Context = AppConst.NewUserWelcome.Replace("@nickname", model.NickName) .Replace("@userinfourl", AppConfig.HomeUrl() + "Qin/UserInfo.aspx?id=" + model.SysNo) .Replace("@pointhelpurl", AppConfig.HomeUrl() + "About/HelpCenter.aspx?memo=POINTANDCREDIT"); m_notice.DR = 0; m_notice.IsRead = 0; m_notice.Title = "欢迎加入上上签"; m_notice.TS = DateTime.Now; m_notice.Type = (int)AppEnum.MessageType.notice; USR_MessageBll.GetInstance().AddMessage(m_notice); scope.Complete(); } return(ret); }
public ReturnValue <PageInfo <USR_MessageMod> > GetMessageByCustomer(int pagesize, int pageindex, int customersysno) { int total = 0; DataTable m_dt = USR_MessageBll.GetInstance().GetMessageByCustomer(customersysno, pagesize, pageindex, AppConst.IntNull, 1, ref total); List <USR_MessageMod> ret = new List <USR_MessageMod>(); PageInfo <USR_MessageMod> rett = new PageInfo <USR_MessageMod>(); if (m_dt == null || m_dt.Rows.Count == 0) { rett.List = ret; rett.Total = total; rett.HasNextPage = false; return(ReturnValue <PageInfo <USR_MessageMod> > .Get200OK(rett)); } for (int i = 0; i < m_dt.Rows.Count; i++) { USR_MessageMod tmp_message = MapUSR_Message(m_dt.Rows[i]); ret.Add(tmp_message); } rett.List = ret; rett.Total = total; if (pagesize * pageindex >= total) { rett.HasNextPage = false; } else { rett.HasNextPage = true; } return(ReturnValue <PageInfo <USR_MessageMod> > .Get200OK(rett)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(USR_CustomerMod model) { int ret = 0; TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { ret = dal.Add(model); USR_MessageMod m_notice = new USR_MessageMod(); m_notice.CustomerSysNo = ret; m_notice.Context = AppConst.NewUserWelcome.Replace("@nickname", model.NickName) .Replace("@userinfourl", AppConfig.HomeUrl() + "Qin/UserInfo.aspx?id="+model.SysNo) .Replace("@pointhelpurl", AppConfig.HomeUrl() + "About/HelpCenter.aspx?memo=POINTANDCREDIT"); m_notice.DR = 0; m_notice.IsRead = 0; m_notice.Title = "欢迎加入上上签"; m_notice.TS = DateTime.Now; m_notice.Type = (int)AppEnum.MessageType.notice; USR_MessageBll.GetInstance().AddMessage(m_notice); scope.Complete(); } return ret; }
/// <summary> /// 增加一条数据 /// </summary> public int Add(USR_MessageMod model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into USR_Message("); strSql.Append("CustomerSysNo,Title,Type,Context,IsRead,DR,TS)"); strSql.Append(" values ("); strSql.Append("@CustomerSysNo,@Title,@Type,@Context,@IsRead,@DR,@TS)"); strSql.Append(";select @@IDENTITY"); SqlCommand cmd = new SqlCommand(strSql.ToString()); SqlParameter[] parameters = { new SqlParameter("@CustomerSysNo",SqlDbType.Int,4), new SqlParameter("@Title",SqlDbType.NVarChar,200), new SqlParameter("@Type",SqlDbType.TinyInt,1), new SqlParameter("@Context",SqlDbType.VarChar,1000), new SqlParameter("@IsRead",SqlDbType.TinyInt,1), new SqlParameter("@DR",SqlDbType.TinyInt,1), new SqlParameter("@TS",SqlDbType.DateTime), }; if (model.CustomerSysNo != AppConst.IntNull) parameters[0].Value = model.CustomerSysNo; else parameters[0].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[0]); if (model.Title != AppConst.StringNull) parameters[1].Value = model.Title; else parameters[1].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[1]); if (model.Type != AppConst.IntNull) parameters[2].Value = model.Type; else parameters[2].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[2]); if (model.Context != AppConst.StringNull) parameters[3].Value = model.Context; else parameters[3].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[3]); if (model.IsRead != AppConst.IntNull) parameters[4].Value = model.IsRead; else parameters[4].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[4]); if (model.DR != AppConst.IntNull) parameters[5].Value = model.DR; else parameters[5].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[5]); if (model.TS != AppConst.DateTimeNull) parameters[6].Value = model.TS; else parameters[6].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[6]); return SqlHelper.ExecuteNonQuery(cmd,parameters); }
public void AddMessage(USR_MessageMod model) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { Add(model); USR_CustomerBll.GetInstance().AddUnReadInfo(model.CustomerSysNo); scope.Complete(); } }
/// <summary> /// 得到一个对象实体 /// </summary> public USR_MessageMod GetModel(int SysNo) { StringBuilder strSql = new StringBuilder(); strSql.Append("select SysNo, CustomerSysNo, Title, Type, Context, IsRead, DR, TS from USR_Message"); strSql.Append(" where SysNo=@SysNo "); SqlParameter[] parameters = { new SqlParameter("@SysNo", SqlDbType.Int, 4) }; parameters[0].Value = SysNo; USR_MessageMod model = new USR_MessageMod(); DataSet ds = SqlHelper.ExecuteDataSet(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["SysNo"].ToString() != "") { model.SysNo = int.Parse(ds.Tables[0].Rows[0]["SysNo"].ToString()); } if (ds.Tables[0].Rows[0]["CustomerSysNo"].ToString() != "") { model.CustomerSysNo = int.Parse(ds.Tables[0].Rows[0]["CustomerSysNo"].ToString()); } model.Title = ds.Tables[0].Rows[0]["Title"].ToString(); if (ds.Tables[0].Rows[0]["Type"].ToString() != "") { model.Type = int.Parse(ds.Tables[0].Rows[0]["Type"].ToString()); } model.Context = ds.Tables[0].Rows[0]["Context"].ToString(); if (ds.Tables[0].Rows[0]["IsRead"].ToString() != "") { model.IsRead = int.Parse(ds.Tables[0].Rows[0]["IsRead"].ToString()); } if (ds.Tables[0].Rows[0]["DR"].ToString() != "") { model.DR = int.Parse(ds.Tables[0].Rows[0]["DR"].ToString()); } if (ds.Tables[0].Rows[0]["TS"].ToString() != "") { model.TS = DateTime.Parse(ds.Tables[0].Rows[0]["TS"].ToString()); } return(model); } else { return(null); } }
public USR_MessageMod MapUSR_Message(DataRow input) { USR_MessageMod ret = new USR_MessageMod(); ret.Title = input["Title"].ToString(); ret.Context = input["Context"].ToString(); if (input["SysNo"].ToString() != "") { ret.SysNo = int.Parse(input["SysNo"].ToString()); } if (input["CustomerSysNo"].ToString() != "") { ret.CustomerSysNo = int.Parse(input["CustomerSysNo"].ToString()); } if (input["IsRead"].ToString() != "") { ret.IsRead = int.Parse(input["IsRead"].ToString()); } if (input["DR"].ToString() != "") { ret.DR = int.Parse(input["DR"].ToString()); } if (input["Type"].ToString() != "") { ret.Type = int.Parse(input["Type"].ToString()); } if (input["TS"].ToString() != "") { ret.TS = DateTime.Parse(input["TS"].ToString()); } else { ret.TS = AppConst.DateTimeNull; } return(ret); }
/// <summary> /// 增加一条数据 /// </summary> public void Add(USR_MessageMod model) { dal.Add(model); }
/// <summary> /// 更新一条数据 /// </summary> public void Update(USR_MessageMod model) { dal.Update(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(USR_MessageMod model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into USR_Message("); strSql.Append("CustomerSysNo,Title,Type,Context,IsRead,DR,TS)"); strSql.Append(" values ("); strSql.Append("@CustomerSysNo,@Title,@Type,@Context,@IsRead,@DR,@TS)"); strSql.Append(";select @@IDENTITY"); SqlCommand cmd = new SqlCommand(strSql.ToString()); SqlParameter[] parameters = { new SqlParameter("@CustomerSysNo", SqlDbType.Int, 4), new SqlParameter("@Title", SqlDbType.NVarChar, 200), new SqlParameter("@Type", SqlDbType.TinyInt, 1), new SqlParameter("@Context", SqlDbType.VarChar, 1000), new SqlParameter("@IsRead", SqlDbType.TinyInt, 1), new SqlParameter("@DR", SqlDbType.TinyInt, 1), new SqlParameter("@TS", SqlDbType.DateTime), }; if (model.CustomerSysNo != AppConst.IntNull) { parameters[0].Value = model.CustomerSysNo; } else { parameters[0].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[0]); if (model.Title != AppConst.StringNull) { parameters[1].Value = model.Title; } else { parameters[1].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[1]); if (model.Type != AppConst.IntNull) { parameters[2].Value = model.Type; } else { parameters[2].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[2]); if (model.Context != AppConst.StringNull) { parameters[3].Value = model.Context; } else { parameters[3].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[3]); if (model.IsRead != AppConst.IntNull) { parameters[4].Value = model.IsRead; } else { parameters[4].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[4]); if (model.DR != AppConst.IntNull) { parameters[5].Value = model.DR; } else { parameters[5].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[5]); if (model.TS != AppConst.DateTimeNull) { parameters[6].Value = model.TS; } else { parameters[6].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[6]); return(SqlHelper.ExecuteNonQuery(cmd, parameters)); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(USR_MessageMod model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update USR_Message set "); strSql.Append("CustomerSysNo=@CustomerSysNo,"); strSql.Append("Title=@Title,"); strSql.Append("Type=@Type,"); strSql.Append("Context=@Context,"); strSql.Append("IsRead=@IsRead,"); strSql.Append("DR=@DR,"); strSql.Append("TS=@TS"); strSql.Append(" where SysNo=@SysNo "); SqlCommand cmd = new SqlCommand(strSql.ToString()); SqlParameter[] parameters = { new SqlParameter("@SysNo",SqlDbType.Int,4), new SqlParameter("@CustomerSysNo",SqlDbType.Int,4), new SqlParameter("@Title",SqlDbType.NVarChar,200), new SqlParameter("@Type",SqlDbType.TinyInt,1), new SqlParameter("@Context",SqlDbType.VarChar,1000), new SqlParameter("@IsRead",SqlDbType.TinyInt,1), new SqlParameter("@DR",SqlDbType.TinyInt,1), new SqlParameter("@TS",SqlDbType.DateTime) }; if (model.SysNo != AppConst.IntNull) parameters[0].Value = model.SysNo; else parameters[0].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[0]); if (model.CustomerSysNo != AppConst.IntNull) parameters[1].Value = model.CustomerSysNo; else parameters[1].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[1]); if (model.Title != AppConst.StringNull) parameters[2].Value = model.Title; else parameters[2].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[2]); if (model.Type != AppConst.IntNull) parameters[3].Value = model.Type; else parameters[3].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[3]); if (model.Context != AppConst.StringNull) parameters[4].Value = model.Context; else parameters[4].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[4]); if (model.IsRead != AppConst.IntNull) parameters[5].Value = model.IsRead; else parameters[5].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[5]); if (model.DR != AppConst.IntNull) parameters[6].Value = model.DR; else parameters[6].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[6]); if (model.TS != AppConst.DateTimeNull) parameters[7].Value = model.TS; else parameters[7].Value = System.DBNull.Value; cmd.Parameters.Add(parameters[7]); return SqlHelper.ExecuteNonQuery(cmd, parameters); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(USR_MessageMod model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update USR_Message set "); strSql.Append("CustomerSysNo=@CustomerSysNo,"); strSql.Append("Title=@Title,"); strSql.Append("Type=@Type,"); strSql.Append("Context=@Context,"); strSql.Append("IsRead=@IsRead,"); strSql.Append("DR=@DR,"); strSql.Append("TS=@TS"); strSql.Append(" where SysNo=@SysNo "); SqlCommand cmd = new SqlCommand(strSql.ToString()); SqlParameter[] parameters = { new SqlParameter("@SysNo", SqlDbType.Int, 4), new SqlParameter("@CustomerSysNo", SqlDbType.Int, 4), new SqlParameter("@Title", SqlDbType.NVarChar, 200), new SqlParameter("@Type", SqlDbType.TinyInt, 1), new SqlParameter("@Context", SqlDbType.VarChar, 1000), new SqlParameter("@IsRead", SqlDbType.TinyInt, 1), new SqlParameter("@DR", SqlDbType.TinyInt, 1), new SqlParameter("@TS", SqlDbType.DateTime) }; if (model.SysNo != AppConst.IntNull) { parameters[0].Value = model.SysNo; } else { parameters[0].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[0]); if (model.CustomerSysNo != AppConst.IntNull) { parameters[1].Value = model.CustomerSysNo; } else { parameters[1].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[1]); if (model.Title != AppConst.StringNull) { parameters[2].Value = model.Title; } else { parameters[2].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[2]); if (model.Type != AppConst.IntNull) { parameters[3].Value = model.Type; } else { parameters[3].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[3]); if (model.Context != AppConst.StringNull) { parameters[4].Value = model.Context; } else { parameters[4].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[4]); if (model.IsRead != AppConst.IntNull) { parameters[5].Value = model.IsRead; } else { parameters[5].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[5]); if (model.DR != AppConst.IntNull) { parameters[6].Value = model.DR; } else { parameters[6].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[6]); if (model.TS != AppConst.DateTimeNull) { parameters[7].Value = model.TS; } else { parameters[7].Value = System.DBNull.Value; } cmd.Parameters.Add(parameters[7]); return(SqlHelper.ExecuteNonQuery(cmd, parameters)); }
/// <summary> /// 任务实体 /// </summary> /// <param name="lastExecuteTime"></param> public override void Execute(DateTime?lastExecuteTime) { try { LogService.Info("任务开始", LogInfoCategory); DataTable m_dt = QA_QuestionBll.GetInstance().GetToEndList(); if (m_dt != null && m_dt.Rows.Count > 0) { int total = 0; for (int i = 0; i < m_dt.Rows.Count; i++) { int sysno = int.Parse(m_dt.Rows[i]["sysno"].ToString()); DataTable m_answer = QA_AnswerBll.GetInstance().GetListByQuest(1, 10000, sysno, ref total); m_answer.Columns.Add("commcount"); m_answer.Columns.Add("score"); int totalcomm = 0; int totallenth = 0; int totallove = 0; int[,] tmpresult = new int[3, 2]; for (int j = 0; j < m_answer.Rows.Count; j++) { totallenth += m_answer.Rows[j]["Context"].ToString().Length; totallove += int.Parse(m_answer.Rows[j]["Love"].ToString()); DataTable m_comm = QA_CommentBll.GetInstance().GetListByAnswer(int.Parse(m_answer.Rows[j]["SysNo"].ToString())); totalcomm += m_comm.Rows.Count; m_answer.Rows[j]["commcount"] = m_comm.Rows.Count.ToString(); m_answer.Rows[j]["score"] = 0; } for (int j = 0; j < m_answer.Rows.Count; j++) { double tmp = Convert.ToDouble(m_answer.Rows[j]["Context"].ToString().Length *m_answer.Rows.Count) / Convert.ToDouble(totallenth); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 10; } tmp = Convert.ToDouble(m_answer.Rows[j]["Love"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totallove); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 5; } tmp = Convert.ToDouble(m_answer.Rows[j]["commcount"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totalcomm); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 3; } } TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { m_answer.DefaultView.Sort = "award asc, score desc"; DataTable dtTemp = m_answer.DefaultView.ToTable(); if (dtTemp.Rows.Count == 1) { QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString()))); } else { int awardremain = int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())); int award1 = awardremain * int.Parse(m_dt.Rows[0]["score"].ToString()) / (int.Parse(m_dt.Rows[0]["score"].ToString()) + int.Parse(m_dt.Rows[1]["score"].ToString())); int award2 = awardremain - award1; QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award1); QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[1]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award2); } USR_MessageMod m_notice = new USR_MessageMod(); m_notice.CustomerSysNo = int.Parse(m_dt.Rows[i]["CustomerSysNo"].ToString()); m_notice.Title = AppConst.AutoSendAward.Replace("@url", Container.ConfigService.GetAppSetting <string>("HomeUrl", "") + "Quest/Question.aspx?id=" + m_dt.Rows[i]["SysNo"].ToString()) .Replace("@question", m_dt.Rows[i]["Title"].ToString()); m_notice.DR = 0; m_notice.IsRead = 0; m_notice.Context = ""; m_notice.TS = DateTime.Now; m_notice.Type = (int)AppEnum.MessageType.notice; USR_MessageBll.GetInstance().AddMessage(m_notice); scope.Complete(); //EventLog.WriteEntry("Hi,I'm wiseman"); } } } LogService.Info("任务结束", LogInfoCategory); } catch (Exception ex) { LogService.Error("RewardTask 任务失败", LogInfoCategory); LogService.Error(ex, LogInfoCategory); } finally { this.NextExecuteTime = DateTime.Now.AddHours(1); } }
/// <summary> /// 任务实体 /// </summary> /// <param name="lastExecuteTime"></param> public override void Execute(DateTime? lastExecuteTime) { try { LogService.Info("任务开始", LogInfoCategory); DataTable m_dt = QA_QuestionBll.GetInstance().GetToEndList(); if (m_dt != null && m_dt.Rows.Count > 0) { int total = 0; for (int i = 0; i < m_dt.Rows.Count; i++) { int sysno = int.Parse(m_dt.Rows[i]["sysno"].ToString()); DataTable m_answer = QA_AnswerBll.GetInstance().GetListByQuest(1, 10000, sysno, ref total); m_answer.Columns.Add("commcount"); m_answer.Columns.Add("score"); int totalcomm = 0; int totallenth = 0; int totallove = 0; int[,] tmpresult = new int[3, 2]; for (int j = 0; j < m_answer.Rows.Count; j++) { totallenth += m_answer.Rows[j]["Context"].ToString().Length; totallove += int.Parse(m_answer.Rows[j]["Love"].ToString()); DataTable m_comm = QA_CommentBll.GetInstance().GetListByAnswer(int.Parse(m_answer.Rows[j]["SysNo"].ToString())); totalcomm += m_comm.Rows.Count; m_answer.Rows[j]["commcount"] = m_comm.Rows.Count.ToString(); m_answer.Rows[j]["score"] = 0; } for (int j = 0; j < m_answer.Rows.Count; j++) { double tmp = Convert.ToDouble(m_answer.Rows[j]["Context"].ToString().Length * m_answer.Rows.Count) / Convert.ToDouble(totallenth); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 10; } tmp = Convert.ToDouble(m_answer.Rows[j]["Love"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totallove); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 5; } tmp = Convert.ToDouble(m_answer.Rows[j]["commcount"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totalcomm); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 3; } } TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { m_answer.DefaultView.Sort = "award asc, score desc"; DataTable dtTemp = m_answer.DefaultView.ToTable(); if (dtTemp.Rows.Count == 1) { QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString()))); } else { int awardremain = int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())); int award1 = awardremain * int.Parse(m_dt.Rows[0]["score"].ToString()) / (int.Parse(m_dt.Rows[0]["score"].ToString()) + int.Parse(m_dt.Rows[1]["score"].ToString())); int award2 = awardremain - award1; QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award1); QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[1]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award2); } USR_MessageMod m_notice = new USR_MessageMod(); m_notice.CustomerSysNo = int.Parse(m_dt.Rows[i]["CustomerSysNo"].ToString()); m_notice.Title = AppConst.AutoSendAward.Replace("@url", AppConfig.HomeUrl() + "Quest/Question.aspx?id=" + m_dt.Rows[i]["SysNo"].ToString()) .Replace("@question", m_dt.Rows[i]["Title"].ToString()); m_notice.DR = 0; m_notice.IsRead = 0; m_notice.Context = ""; m_notice.TS = DateTime.Now; m_notice.Type = (int)AppEnum.MessageType.notice; USR_MessageBll.GetInstance().AddMessage(m_notice); scope.Complete(); //EventLog.WriteEntry("Hi,I'm wiseman"); } } } LogService.Info("任务结束", LogInfoCategory); } catch (Exception ex) { LogService.Error("RewardTask 任务失败", LogInfoCategory); LogService.Error(ex, LogInfoCategory); } finally { this.NextExecuteTime = DateTime.Now.AddHours(1); } }
public USR_MessageMod MapUSR_Message(DataRow input) { USR_MessageMod ret = new USR_MessageMod(); ret.Title = input["Title"].ToString(); ret.Context = input["Context"].ToString(); if (input["SysNo"].ToString() != "") { ret.SysNo = int.Parse(input["SysNo"].ToString()); } if (input["CustomerSysNo"].ToString() != "") { ret.CustomerSysNo = int.Parse(input["CustomerSysNo"].ToString()); } if (input["IsRead"].ToString() != "") { ret.IsRead = int.Parse(input["IsRead"].ToString()); } if (input["DR"].ToString() != "") { ret.DR = int.Parse(input["DR"].ToString()); } if (input["Type"].ToString() != "") { ret.Type = int.Parse(input["Type"].ToString()); } if (input["TS"].ToString() != "") { ret.TS = DateTime.Parse(input["TS"].ToString()); } else { ret.TS = AppConst.DateTimeNull; } return ret; }
/// <summary> /// 得到一个对象实体 /// </summary> public USR_MessageMod GetModel(int SysNo) { StringBuilder strSql = new StringBuilder(); strSql.Append("select SysNo, CustomerSysNo, Title, Type, Context, IsRead, DR, TS from USR_Message"); strSql.Append(" where SysNo=@SysNo "); SqlParameter[] parameters = { new SqlParameter("@SysNo", SqlDbType.Int,4 ) }; parameters[0].Value = SysNo; USR_MessageMod model = new USR_MessageMod(); DataSet ds = SqlHelper.ExecuteDataSet(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["SysNo"].ToString() != "") { model.SysNo = int.Parse(ds.Tables[0].Rows[0]["SysNo"].ToString()); } if (ds.Tables[0].Rows[0]["CustomerSysNo"].ToString() != "") { model.CustomerSysNo = int.Parse(ds.Tables[0].Rows[0]["CustomerSysNo"].ToString()); } model.Title = ds.Tables[0].Rows[0]["Title"].ToString(); if (ds.Tables[0].Rows[0]["Type"].ToString() != "") { model.Type = int.Parse(ds.Tables[0].Rows[0]["Type"].ToString()); } model.Context = ds.Tables[0].Rows[0]["Context"].ToString(); if (ds.Tables[0].Rows[0]["IsRead"].ToString() != "") { model.IsRead = int.Parse(ds.Tables[0].Rows[0]["IsRead"].ToString()); } if (ds.Tables[0].Rows[0]["DR"].ToString() != "") { model.DR = int.Parse(ds.Tables[0].Rows[0]["DR"].ToString()); } if (ds.Tables[0].Rows[0]["TS"].ToString() != "") { model.TS = DateTime.Parse(ds.Tables[0].Rows[0]["TS"].ToString()); } return model; } else { return null; } }