CompetitionAPI_dotnet/Competition.Mysql/DAL/pow_user_tool.cs

471 lines
20 KiB
C#

/** 版本信息模板在安装目录下,可自行修改。
* pow_user_tool.cs
*
* 功 能: N/A
* 类 名: pow_user_tool
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2022/8/3 18:03:30 N/A 初版
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*┌──────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:动软卓越(北京)科技有限公司              │
*└──────────────────────────────────┘
*/
using System;
using System.Data;
using System.Text;
using MySql.Data.MySqlClient;
using Maticsoft.DBUtility;
using System.Collections.Generic;
namespace Competition.Mysql.DAL
{
/// <summary>
/// 数据访问类:pow_user_tool
/// </summary>
public partial class pow_user_tool
{
public pow_user_tool()
{ }
#region BasicMethod
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string UserToolId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from pow_user_tool");
strSql.Append(" where UserToolId=@UserToolId ");
MySqlParameter[] parameters = {
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32) };
parameters[0].Value = UserToolId;
return DbHelperMySQL.Exists(strSql.ToString(), parameters);
}
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(Competition.Mysql.Model.pow_user_tool model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into pow_user_tool(");
strSql.Append("UserToolId,UserId,ExamId,Purpose,ToolName,ToolType,IsSelect,IsScore,Quantity)");
strSql.Append(" values (");
strSql.Append("@UserToolId,@UserId,@ExamId,@Purpose,@ToolName,@ToolType,@IsSelect,@IsScore,@Quantity)");
MySqlParameter[] parameters = {
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32),
new MySqlParameter("@UserId", MySqlDbType.VarChar,32),
new MySqlParameter("@ExamId", MySqlDbType.VarChar,32),
new MySqlParameter("@Purpose", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolName", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolType", MySqlDbType.VarChar,255),
new MySqlParameter("@IsSelect", MySqlDbType.VarChar,255),
new MySqlParameter("@IsScore", MySqlDbType.VarChar,255),
new MySqlParameter("@Quantity", MySqlDbType.Int32)};
parameters[0].Value = model.UserToolId;
parameters[1].Value = model.UserId;
parameters[2].Value = model.ExamId;
parameters[3].Value = model.Purpose;
parameters[4].Value = model.ToolName;
parameters[5].Value = model.ToolType;
parameters[6].Value = model.IsSelect;
parameters[7].Value = model.IsScore;
parameters[8].Value = model.Quantity;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(Competition.Mysql.Model.pow_user_tool model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update pow_user_tool set ");
strSql.Append("UserId=@UserId,");
strSql.Append("ExamId=@ExamId,");
strSql.Append("Purpose=@Purpose,");
strSql.Append("ToolName=@ToolName,");
strSql.Append("ToolType=@ToolType,");
strSql.Append("IsSelect=@IsSelect,");
strSql.Append("IsScore=@IsScore,");
strSql.Append("Quantity=@Quantity");
strSql.Append(" where UserToolId=@UserToolId ");
MySqlParameter[] parameters = {
new MySqlParameter("@UserId", MySqlDbType.VarChar,32),
new MySqlParameter("@ExamId", MySqlDbType.VarChar,32),
new MySqlParameter("@Purpose", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolName", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolType", MySqlDbType.VarChar,255),
new MySqlParameter("@IsSelect", MySqlDbType.VarChar,255),
new MySqlParameter("@IsScore", MySqlDbType.VarChar,255),
new MySqlParameter("@Quantity", MySqlDbType.Int32),
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32)};
parameters[0].Value = model.UserId;
parameters[1].Value = model.ExamId;
parameters[2].Value = model.Purpose;
parameters[3].Value = model.ToolName;
parameters[4].Value = model.ToolType;
parameters[5].Value = model.IsSelect;
parameters[6].Value = model.IsScore;
parameters[7].Value = model.Quantity;
parameters[8].Value = model.UserToolId;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(string UserToolId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pow_user_tool ");
strSql.Append(" where UserToolId=@UserToolId ");
MySqlParameter[] parameters = {
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32) };
parameters[0].Value = UserToolId;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 批量删除数据
/// </summary>
public bool DeleteList(string UserToolIdlist)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pow_user_tool ");
strSql.Append(" where UserToolId in (" + UserToolIdlist + ") ");
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public Competition.Mysql.Model.pow_user_tool GetModel(string UserToolId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserToolId,UserId,ExamId,Purpose,ToolName,ToolType,IsSelect,IsScore,Quantity from pow_user_tool ");
strSql.Append(" where UserToolId=@UserToolId ");
MySqlParameter[] parameters = {
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32) };
parameters[0].Value = UserToolId;
Competition.Mysql.Model.pow_user_tool model = new Competition.Mysql.Model.pow_user_tool();
DataSet ds = DbHelperMySQL.Query(strSql.ToString(), parameters);
if (ds.Tables[0].Rows.Count > 0)
{
return DataRowToModel(ds.Tables[0].Rows[0]);
}
else
{
return null;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public Competition.Mysql.Model.pow_user_tool DataRowToModel(DataRow row)
{
Competition.Mysql.Model.pow_user_tool model = new Competition.Mysql.Model.pow_user_tool();
if (row != null)
{
if (row["UserToolId"] != null)
{
model.UserToolId = row["UserToolId"].ToString();
}
if (row["UserId"] != null)
{
model.UserId = row["UserId"].ToString();
}
if (row["ExamId"] != null)
{
model.ExamId = row["ExamId"].ToString();
}
if (row["Purpose"] != null)
{
model.Purpose = row["Purpose"].ToString();
}
if (row["ToolName"] != null)
{
model.ToolName = row["ToolName"].ToString();
}
if (row["ToolType"] != null)
{
model.ToolType = row["ToolType"].ToString();
}
if (row["IsSelect"] != null)
{
model.IsSelect = row["IsSelect"].ToString();
}
if (row["IsScore"] != null)
{
model.IsScore = row["IsScore"].ToString();
}
if (row["Quantity"] != null && row["Quantity"].ToString() != "")
{
model.Quantity = int.Parse(row["Quantity"].ToString());
}
}
return model;
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserToolId,UserId,ExamId,Purpose,ToolName,ToolType,IsSelect,IsScore,Quantity ");
strSql.Append(" FROM pow_user_tool ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperMySQL.Query(strSql.ToString());
}
/// <summary>
/// 获取记录总数
/// </summary>
public int GetRecordCount(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM pow_user_tool ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
object obj = DbHelperMySQL.GetSingle(strSql.ToString());
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by T.UserToolId desc");
}
strSql.Append(")AS Row, T.* from pow_user_tool T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return DbHelperMySQL.Query(strSql.ToString());
}
/*
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetList(int PageSize,int PageIndex,string strWhere)
{
MySqlParameter[] parameters = {
new MySqlParameter("@tblName", MySqlDbType.VarChar, 255),
new MySqlParameter("@fldName", MySqlDbType.VarChar, 255),
new MySqlParameter("@PageSize", MySqlDbType.Int32),
new MySqlParameter("@PageIndex", MySqlDbType.Int32),
new MySqlParameter("@IsReCount", MySqlDbType.Bit),
new MySqlParameter("@OrderType", MySqlDbType.Bit),
new MySqlParameter("@strWhere", MySqlDbType.VarChar,1000),
};
parameters[0].Value = "pow_user_tool";
parameters[1].Value = "UserToolId";
parameters[2].Value = PageSize;
parameters[3].Value = PageIndex;
parameters[4].Value = 0;
parameters[5].Value = 0;
parameters[6].Value = strWhere;
return DbHelperMySQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
}*/
#endregion BasicMethod
#region ExtensionMethod
/// <summary>
/// 使用事务批量操作新增、修改
/// </summary>
/// <returns></returns>
public int OperationAddUpdateData(List<Competition.Mysql.Model.pow_user_tool> add_tool_list, List<Competition.Mysql.Model.pow_user_tool> update_tool_list, Competition.Mysql.Model.pow_achievement_details details, string achievement_id, decimal total_score)
{
List<CommandInfo> com = new List<CommandInfo>();
foreach (var item in add_tool_list)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into pow_user_tool(");
strSql.Append("UserToolId,UserId,ExamId,Purpose,ToolName,ToolType,IsSelect,IsScore,Quantity)");
strSql.Append(" values (");
strSql.Append("@UserToolId,@UserId,@ExamId,@Purpose,@ToolName,@ToolType,@IsSelect,@IsScore,@Quantity)");
MySqlParameter[] parameters = {
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32),
new MySqlParameter("@UserId", MySqlDbType.VarChar,32),
new MySqlParameter("@ExamId", MySqlDbType.VarChar,32),
new MySqlParameter("@Purpose", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolName", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolType", MySqlDbType.VarChar,255),
new MySqlParameter("@IsSelect", MySqlDbType.VarChar,255),
new MySqlParameter("@IsScore", MySqlDbType.VarChar,255),
new MySqlParameter("@Quantity", MySqlDbType.Int32)};
parameters[0].Value = item.UserToolId;
parameters[1].Value = item.UserId;
parameters[2].Value = item.ExamId;
parameters[3].Value = item.Purpose;
parameters[4].Value = item.ToolName;
parameters[5].Value = item.ToolType;
parameters[6].Value = item.IsSelect;
parameters[7].Value = item.IsScore;
parameters[8].Value = item.Quantity;
com.Add(new CommandInfo(strSql.ToString(), parameters));
}
foreach (var item in update_tool_list)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update pow_user_tool set ");
strSql.Append("UserId=@UserId,");
strSql.Append("ExamId=@ExamId,");
strSql.Append("Purpose=@Purpose,");
strSql.Append("ToolName=@ToolName,");
strSql.Append("ToolType=@ToolType,");
strSql.Append("IsSelect=@IsSelect,");
strSql.Append("IsScore=@IsScore,");
strSql.Append("Quantity=@Quantity");
strSql.Append(" where UserToolId=@UserToolId ");
MySqlParameter[] parameters = {
new MySqlParameter("@UserId", MySqlDbType.VarChar,32),
new MySqlParameter("@ExamId", MySqlDbType.VarChar,32),
new MySqlParameter("@Purpose", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolName", MySqlDbType.VarChar,255),
new MySqlParameter("@ToolType", MySqlDbType.VarChar,255),
new MySqlParameter("@IsSelect", MySqlDbType.VarChar,255),
new MySqlParameter("@IsScore", MySqlDbType.VarChar,255),
new MySqlParameter("@Quantity", MySqlDbType.Int32),
new MySqlParameter("@UserToolId", MySqlDbType.VarChar,32)};
parameters[0].Value = item.UserId;
parameters[1].Value = item.ExamId;
parameters[2].Value = item.Purpose;
parameters[3].Value = item.ToolName;
parameters[4].Value = item.ToolType;
parameters[5].Value = item.IsSelect;
parameters[6].Value = item.IsScore;
parameters[7].Value = item.Quantity;
parameters[8].Value = item.UserToolId;
com.Add(new CommandInfo(strSql.ToString(), parameters));
}
if (details != null)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into pow_achievement_details(");
strSql.Append("DetailsId,AchievementId,ItemName,ItemizedScore,CreateTime,Type,TotalScore,FaultDesc,ScoreType,Remark1,Remark2,Remark3,Remark4,Remark5)");
strSql.Append(" values (");
strSql.Append("@DetailsId,@AchievementId,@ItemName,@ItemizedScore,@CreateTime,@Type,@TotalScore,@FaultDesc,@ScoreType,@Remark1,@Remark2,@Remark3,@Remark4,@Remark5)");
MySqlParameter[] parameters = {
new MySqlParameter("@DetailsId", MySqlDbType.VarChar,32),
new MySqlParameter("@AchievementId", MySqlDbType.VarChar,32),
new MySqlParameter("@ItemName", MySqlDbType.VarChar,1000),
new MySqlParameter("@ItemizedScore", MySqlDbType.Float,11),
new MySqlParameter("@CreateTime", MySqlDbType.DateTime),
new MySqlParameter("@Type", MySqlDbType.VarChar,255),
new MySqlParameter("@TotalScore", MySqlDbType.Float,11),
new MySqlParameter("@FaultDesc", MySqlDbType.VarChar,500),
new MySqlParameter("@ScoreType", MySqlDbType.VarChar,255),
new MySqlParameter("@Remark1", MySqlDbType.VarChar,255),
new MySqlParameter("@Remark2", MySqlDbType.VarChar,255),
new MySqlParameter("@Remark3", MySqlDbType.VarChar,255),
new MySqlParameter("@Remark4", MySqlDbType.VarChar,255),
new MySqlParameter("@Remark5", MySqlDbType.VarChar,255)};
parameters[0].Value = details.DetailsId;
parameters[1].Value = details.AchievementId;
parameters[2].Value = details.ItemName;
parameters[3].Value = details.ItemizedScore;
parameters[4].Value = details.CreateTime;
parameters[5].Value = details.Type;
parameters[6].Value = details.TotalScore;
parameters[7].Value = details.FaultDesc;
parameters[8].Value = details.ScoreType;
parameters[9].Value = details.Remark1;
parameters[10].Value = details.Remark2;
parameters[11].Value = details.Remark3;
parameters[12].Value = details.Remark4;
parameters[13].Value = details.Remark5;
com.Add(new CommandInfo(strSql.ToString(), parameters));
}
if (!string.IsNullOrEmpty(achievement_id))
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update pow_achievement set ");
strSql.Append("TotalScore=TotalScore+@TotalScore");
strSql.Append(" where AchievementId=@AchievementId ");
MySqlParameter[] parameters = {
new MySqlParameter("@TotalScore", MySqlDbType.Float,11),
new MySqlParameter("@AchievementId", MySqlDbType.VarChar,32)};
parameters[0].Value = total_score;
parameters[1].Value = achievement_id;
com.Add(new CommandInfo(strSql.ToString(), parameters));
}
return DbHelperMySQL.ExecuteSqlTran(com);
}
#endregion ExtensionMethod
}
}