using System;
using System.Data;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using DSWeb.MvcShipping.Models.OpFenDetail;
using Microsoft.Practices.EnterpriseLibrary.Data;
namespace DSWeb.MvcShipping.DAL.MsOpFenDetail
{
public class MsOpFenDetailDAL
{
static Database db = DatabaseFactory.CreateDatabase();
///
/// 分页获取数据列表
///
static public List 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.GID desc");
}
strSql.Append(")AS Row, T.* from op_ctn_fendetail 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 SetData(strSql);
}
///
/// 根据id获取实例
///
///
///
static public OpFenDetail GetData(string GID)
{
//动软代码
StringBuilder strSql = new StringBuilder();
strSql.Append("select top 1 GID,COILNO,SIZE,COLOUR,NWKGS,GWKGS,NLENGTH,TGKGS,FXNO,XMODEL,LIKGS,FXMARK,IOMARK,FXCOLNO,OPERUSER,OPERTIME from op_ctn_fendetail ");
strSql.Append(" where GID=@GID ");
SqlParameter[] parameters = {
new SqlParameter("@GID", SqlDbType.VarChar,50) };
parameters[0].Value = GID;
//公共代码
return SetData(strSql).FirstOrDefault();
}
///
/// 获取记录总数
///
static public int GetRecordCount(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM op_ctn_fendetail ");//只改表名
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return Convert.ToInt32(db.ExecuteScalar(CommandType.Text, strSql.ToString()));
}
///
/// 执行sql
///
///
///
private static List SetData(StringBuilder strSql)
{
#region 公共代码
var headList = new List();
using (IDataReader row = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (row.Read())
{
OpFenDetail model = new OpFenDetail();
#region 动软代码
if (row["GID"] != null)
{
model.GID = row["GID"].ToString();
}
if (row["COILNO"] != null)
{
model.COILNO = row["COILNO"].ToString();
}
if (row["SIZE"] != null)
{
model.SIZE = row["SIZE"].ToString();
}
if (row["COLOUR"] != null)
{
model.COLOUR = row["COLOUR"].ToString();
}
if (row["NWKGS"] != null && row["NWKGS"].ToString() != "")
{
model.NWKGS = decimal.Parse(row["NWKGS"].ToString());
}
if (row["GWKGS"] != null && row["GWKGS"].ToString() != "")
{
model.GWKGS = decimal.Parse(row["GWKGS"].ToString());
}
if (row["NLENGTH"] != null && row["NLENGTH"].ToString() != "")
{
model.NLENGTH = int.Parse(row["NLENGTH"].ToString());
}
if (row["TGKGS"] != null && row["TGKGS"].ToString() != "")
{
model.TGKGS = decimal.Parse(row["TGKGS"].ToString());
}
if (row["FXNO"] != null)
{
model.FXNO = row["FXNO"].ToString();
}
if (row["XMODEL"] != null)
{
model.XMODEL = row["XMODEL"].ToString();
}
if (row["LIKGS"] != null && row["LIKGS"].ToString() != "")
{
model.LIKGS = decimal.Parse(row["LIKGS"].ToString());
}
if (row["FXMARK"] != null && row["FXMARK"].ToString() != "")
{
model.FXMARK = int.Parse(row["FXMARK"].ToString());
}
if (row["IOMARK"] != null && row["IOMARK"].ToString() != "")
{
model.IOMARK = int.Parse(row["IOMARK"].ToString());
}
if (row["FXCOLNO"] != null)
{
model.FXCOLNO = row["FXCOLNO"].ToString();
}
if (row["OPERUSER"] != null)
{
model.OPERUSER = row["OPERUSER"].ToString();
}
if (row["OPERTIME"] != null)
{
model.OPERTIME = Convert.ToDateTime(row["OPERTIME"].ToString());
}
#endregion
headList.Add(model);
}
row.Close();
}
return headList;
#endregion
}
///
/// 增加一条数据
///
static public int Add(OpFenDetail model)
{
//动软代码
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into op_ctn_fendetail(");
strSql.Append("GID,COILNO,SIZE,COLOUR,NWKGS,GWKGS,NLENGTH,TGKGS,FXNO,XMODEL,LIKGS,FXMARK,IOMARK,FXCOLNO,OPERUSER,OPERTIME)");
strSql.Append(" values (");
strSql.Append("@GID,@COILNO,@SIZE,@COLOUR,@NWKGS,@GWKGS,@NLENGTH,@TGKGS,@FXNO,@XMODEL,@LIKGS,@FXMARK,@IOMARK,@FXCOLNO,@OPERUSER,@OPERTIME)");
SqlParameter[] parameters = {
new SqlParameter("@GID", SqlDbType.VarChar,50),
new SqlParameter("@COILNO", SqlDbType.VarChar,10),
new SqlParameter("@SIZE", SqlDbType.VarChar,50),
new SqlParameter("@COLOUR", SqlDbType.VarChar,50),
new SqlParameter("@NWKGS", SqlDbType.Decimal,9),
new SqlParameter("@GWKGS", SqlDbType.Decimal,9),
new SqlParameter("@NLENGTH", SqlDbType.Int,4),
new SqlParameter("@TGKGS", SqlDbType.Decimal,9),
new SqlParameter("@FXNO", SqlDbType.VarChar,50),
new SqlParameter("@XMODEL", SqlDbType.VarChar,50),
new SqlParameter("@LIKGS", SqlDbType.Decimal,9),
new SqlParameter("@FXMARK", SqlDbType.Int,4),
new SqlParameter("@IOMARK", SqlDbType.Int,4),
new SqlParameter("@FXCOLNO", SqlDbType.VarChar,50),
new SqlParameter("@OPERUSER", SqlDbType.VarChar,50),
new SqlParameter("@OPERTIME", SqlDbType.DateTime)
};
parameters[0].Value = model.GID;
parameters[1].Value = model.COILNO;
parameters[2].Value = model.SIZE;
parameters[3].Value = model.COLOUR;
parameters[4].Value = model.NWKGS;
parameters[5].Value = model.GWKGS;
parameters[6].Value = model.NLENGTH;
parameters[7].Value = model.TGKGS;
parameters[8].Value = model.FXNO;
parameters[9].Value = model.XMODEL;
parameters[10].Value = model.LIKGS;
parameters[11].Value = model.FXMARK;
parameters[12].Value = model.IOMARK;
parameters[13].Value = model.FXCOLNO;
parameters[14].Value = model.OPERUSER;
parameters[15].Value = model.OPERTIME;
//公共代码
SqlCommand com = new SqlCommand();
com.CommandText = strSql.ToString();
com.Parameters.AddRange(parameters);
return db.ExecuteNonQuery(com);
}
///
/// 更新一条数据
///
static public int Update(OpFenDetail model)
{
//动软代码
StringBuilder strSql = new StringBuilder();
strSql.Append("update op_ctn_fendetail set ");
strSql.Append("COILNO=@COILNO,");
strSql.Append("SIZE=@SIZE,");
strSql.Append("COLOUR=@COLOUR,");
strSql.Append("NWKGS=@NWKGS,");
strSql.Append("GWKGS=@GWKGS,");
strSql.Append("NLENGTH=@NLENGTH,");
strSql.Append("TGKGS=@TGKGS,");
strSql.Append("FXNO=@FXNO,");
strSql.Append("XMODEL=@XMODEL,");
strSql.Append("LIKGS=@LIKGS,");
strSql.Append("FXMARK=@FXMARK,");
strSql.Append("IOMARK=@IOMARK,");
strSql.Append("FXCOLNO=@FXCOLNO,");
strSql.Append("OPERUSER=@OPERUSER,");
strSql.Append("OPERTIME=@OPERTIME");
strSql.Append(" where GID=@GID ");
SqlParameter[] parameters = {
new SqlParameter("@COILNO", SqlDbType.VarChar,10),
new SqlParameter("@SIZE", SqlDbType.VarChar,50),
new SqlParameter("@COLOUR", SqlDbType.VarChar,50),
new SqlParameter("@NWKGS", SqlDbType.Decimal,9),
new SqlParameter("@GWKGS", SqlDbType.Decimal,9),
new SqlParameter("@NLENGTH", SqlDbType.Int,4),
new SqlParameter("@TGKGS", SqlDbType.Decimal,9),
new SqlParameter("@FXNO", SqlDbType.VarChar,50),
new SqlParameter("@XMODEL", SqlDbType.VarChar,50),
new SqlParameter("@LIKGS", SqlDbType.Decimal,9),
new SqlParameter("@FXMARK", SqlDbType.Int,4),
new SqlParameter("@IOMARK", SqlDbType.Int,4),
new SqlParameter("@FXCOLNO", SqlDbType.VarChar,50),
new SqlParameter("@OPERUSER", SqlDbType.VarChar,50),
new SqlParameter("@OPERTIME", SqlDbType.DateTime),
new SqlParameter("@GID", SqlDbType.VarChar,50)};
parameters[0].Value = model.COILNO;
parameters[1].Value = model.SIZE;
parameters[2].Value = model.COLOUR;
parameters[3].Value = model.NWKGS;
parameters[4].Value = model.GWKGS;
parameters[5].Value = model.NLENGTH;
parameters[6].Value = model.TGKGS;
parameters[7].Value = model.FXNO;
parameters[8].Value = model.XMODEL;
parameters[9].Value = model.LIKGS;
parameters[10].Value = model.FXMARK;
parameters[11].Value = model.IOMARK;
parameters[12].Value = model.FXCOLNO;
parameters[13].Value = model.OPERUSER;
parameters[14].Value = model.OPERTIME;
parameters[15].Value = model.GID;
//公共代码
SqlCommand com = new SqlCommand();
com.CommandText = strSql.ToString();
com.Parameters.AddRange(parameters);
return db.ExecuteNonQuery(com);
}
#region 扩展方法
///
/// 根据业务编号跟新导出标记
///
///
///
static public int UpdatebyBsno(string fxcolno)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update op_ctn_fendetail set IOMARK = 1");
strSql.Append(" where FXCOLNO=@FXCOLNO ");
SqlParameter[] parameters = {new SqlParameter("@FXCOLNO", SqlDbType.VarChar,50) };
parameters[0].Value = fxcolno;
//公共代码
SqlCommand com = new SqlCommand();
com.CommandText = strSql.ToString();
com.Parameters.AddRange(parameters);
return db.ExecuteNonQuery(com);
}
#endregion
}
}