/// <summary> /// 判断当前节点是否已存在相同的 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int ExistNum(InquiryProductEntity entity) { ///id=0,判断总数,ID>0判断除自己之外的总数 string sql = @"Select count(1) from dbo.[InquiryProduct] WITH(NOLOCK) "; string where = "where "; if (entity.Id == 0) { where = where + " (ProductName=@ProductName) "; where = where + " (ProductUnitName=@ProductUnitName) "; } else { where = where + " id<>@Id and (ProductName=@ProductName) "; where = where + " id<>@Id and (ProductUnitName=@ProductUnitName) "; } sql = sql + where; DbCommand cmd = db.GetSqlStringCommand(sql); if (entity.Id > 0) { db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id); } db.AddInParameter(cmd, "@ProductName", DbType.String, entity.ProductName); db.AddInParameter(cmd, "@ProductUnitName", DbType.String, entity.ProductUnitName); object identity = db.ExecuteScalar(cmd); if (identity == null || identity == DBNull.Value) { return(0); } return(Convert.ToInt32(identity)); }
/// <summary> /// 读取记录列表。 /// </summary> /// <param name="db">数据库操作对象</param> /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param> public IList <InquiryProductEntity> GetInquiryProductAll(string ordercode) { string where = "where InquiryOrderCode=@InquiryOrderCode "; string sql = @"SELECT [Id],[InquiryOrderCode],[ProductCode],[ClassesId],ClassesName,ProductId,[ProductName],[ProductNum],[ProductUnitName],[Remark] from dbo.[InquiryProduct] WITH(NOLOCK) "+ where; IList <InquiryProductEntity> entityList = new List <InquiryProductEntity>(); DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@InquiryOrderCode", DbType.String, ordercode); using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { InquiryProductEntity entity = new InquiryProductEntity(); entity.Id = StringUtils.GetDbInt(reader["Id"]); entity.InquiryOrderCode = StringUtils.GetDbString(reader["InquiryOrderCode"]); entity.ProductCode = StringUtils.GetDbString(reader["ProductCode"]); entity.ClassesId = StringUtils.GetDbInt(reader["ClassesId"]); entity.ClassesName = StringUtils.GetDbString(reader["ClassesName"]); entity.ProductId = StringUtils.GetDbInt(reader["ProductId"]); entity.ProductName = StringUtils.GetDbString(reader["ProductName"]); entity.ProductNum = StringUtils.GetDbInt(reader["ProductNum"]); entity.ProductUnitName = StringUtils.GetDbString(reader["ProductUnitName"]); entity.Remark = StringUtils.GetDbString(reader["Remark"]); entityList.Add(entity); } } return(entityList); }
/// <summary> /// 根据主键值读取记录。如果数据库不存在这条数据将返回null /// </summary> /// <param name="db">数据库操作对象</param> /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param> public InquiryProductEntity GetInquiryProduct(int id) { string sql = @"SELECT [Id],[InquiryOrderCode],[ProductCode],[ClassesId],[ClassesName],[ProductId],[ProductName],[ProductNum],[ProductUnitName],[Remark] FROM dbo.[InquiryProduct] WITH(NOLOCK) WHERE [Id]=@id" ; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@Id", DbType.Int32, id); InquiryProductEntity entity = new InquiryProductEntity(); using (IDataReader reader = db.ExecuteReader(cmd)) { if (reader.Read()) { entity.Id = StringUtils.GetDbInt(reader["Id"]); entity.InquiryOrderCode = StringUtils.GetDbString(reader["InquiryOrderCode"]); entity.ProductCode = StringUtils.GetDbString(reader["ProductCode"]); entity.ClassesId = StringUtils.GetDbInt(reader["ClassesId"]); entity.ClassesName = StringUtils.GetDbString(reader["ClassesName"]); entity.ProductId = StringUtils.GetDbInt(reader["ProductId"]); entity.ProductName = StringUtils.GetDbString(reader["ProductName"]); entity.ProductNum = StringUtils.GetDbInt(reader["ProductNum"]); entity.ProductUnitName = StringUtils.GetDbString(reader["ProductUnitName"]); entity.Remark = StringUtils.GetDbString(reader["Remark"]); } } return(entity); }
/// <summary> /// 插入一条记录到表InquiryProduct,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0 /// </summary> /// <param name="db">数据库操作对象</param> /// <param name="inquiryProduct">待插入的实体对象</param> public int AddInquiryProduct(InquiryProductEntity entity) { string sql = @"IF NOT EXISTS ( SELECT 1 FROM InquiryProduct WHERE InquiryOrderCode = @InquiryOrderCode AND ProductId = @ProductId ) BEGIN INSERT INTO InquiryProduct ( [InquiryOrderCode] , ProductId , [ProductName] , [ProductNum] , CreateManId, CreateTime ) VALUES ( @InquiryOrderCode , @ProductId , @ProductName , @ProductNum, @CreateManId, getdate() ) ; SELECT SCOPE_IDENTITY() ; INSERT INTO [JcOrderInquiry].[dbo].[InquiryProductSub] ([InquiryOrderCode] ,[InquiryProductId] ,[InquiryProductType] ,[CreateManId] ,[CreateTime]) SELECT @InquiryOrderCode , @ProductId , IsNull(ProductTypeId,1) , @CreateManId, getdate() FROM InquiryOrder WHERE Code=@InquiryOrderCode END ELSE BEGIN SELECT id FROM InquiryProduct WHERE InquiryOrderCode = @InquiryOrderCode AND ProductId = @ProductId END"; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@InquiryOrderCode", DbType.String, entity.InquiryOrderCode); db.AddInParameter(cmd, "@ProductId", DbType.String, entity.ProductId); db.AddInParameter(cmd, "@ProductName", DbType.String, entity.ProductName); db.AddInParameter(cmd, "@ProductNum", DbType.Int32, entity.ProductNum); db.AddInParameter(cmd, "@CreateManId", DbType.Int32, entity.CreateManId); object identity = db.ExecuteScalar(cmd); if (identity == null || identity == DBNull.Value) { return(0); } return(Convert.ToInt32(identity)); }
/// <summary> /// 读取记录列表。 /// </summary> /// <param name="db">数据库操作对象</param> /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param> public IList <InquiryProductEntity> GetInquiryProductList(int pagesize, int pageindex, ref int recordCount) { string sql = @"SELECT [Id],[InquiryOrderCode],[ProductCode],[ClassesId],ProductId,[ProductName],[ProductNum],[ProductUnitName],[Remark] FROM (SELECT ROW_NUMBER() OVER (ORDER BY Id ASC) AS ROWNUMBER, [Id],[InquiryOrderCode],[ProductCode],[ClassesId],ProductId,[ProductName],[ProductNum],[ProductUnitName],[Remark] from dbo.[InquiryProduct] WITH(NOLOCK) WHERE 1=1 ) as temp where rownumber BETWEEN ((@PageIndex - 1) * @PageSize + 1) AND @PageIndex * @PageSize" ; string sql2 = @"Select count(1) from dbo.[InquiryProduct] with (nolock) "; IList <InquiryProductEntity> entityList = new List <InquiryProductEntity>(); DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@PageIndex", DbType.Int32, pageindex); db.AddInParameter(cmd, "@PageSize", DbType.Int32, pagesize); using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { InquiryProductEntity entity = new InquiryProductEntity(); entity.Id = StringUtils.GetDbInt(reader["Id"]); entity.InquiryOrderCode = StringUtils.GetDbString(reader["InquiryOrderCode"]); entity.ProductCode = StringUtils.GetDbString(reader["ProductCode"]); entity.ClassesId = StringUtils.GetDbInt(reader["ClassesId"]); entity.ProductId = StringUtils.GetDbInt(reader["ProductId"]); entity.ProductName = StringUtils.GetDbString(reader["ProductName"]); entity.ProductNum = StringUtils.GetDbInt(reader["ProductNum"]); entity.ProductUnitName = StringUtils.GetDbString(reader["ProductUnitName"]); entity.Remark = StringUtils.GetDbString(reader["Remark"]); entityList.Add(entity); } } cmd = db.GetSqlStringCommand(sql2); using (IDataReader reader = db.ExecuteReader(cmd)) { if (reader.Read()) { recordCount = StringUtils.GetDbInt(reader[0]); } else { recordCount = 0; } } return(entityList); }
/// <summary> /// 根据主键值更新记录的全部字段(注意:该方法不会对自增字段、timestamp类型字段以及主键字段更新!如果要更新主键字段,请使用Update方法)。 /// 如果数据库有数据被更新了则返回True,否则返回False /// </summary> /// <param name="db">数据库操作对象</param> /// <param name="inquiryProduct">待更新的实体对象</param> public int UpdateInquiryProduct(InquiryProductEntity entity) { string sql = @" UPDATE dbo.[InquiryProduct] SET [InquiryOrderCode]=@InquiryOrderCode,[ProductCode]=@ProductCode,[ClassesId]=@ClassesId,[ClassesName]=@ClassesName,[ProductId]=@ProductId,[ProductName]=@ProductName,[ProductNum]=@ProductNum,[ProductUnitName]=@ProductUnitName,[Remark]=@Remark WHERE [Id]=@id"; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id); db.AddInParameter(cmd, "@InquiryOrderCode", DbType.String, entity.InquiryOrderCode); db.AddInParameter(cmd, "@ProductCode", DbType.String, entity.ProductCode); db.AddInParameter(cmd, "@ClassesId", DbType.Int32, entity.ClassesId); db.AddInParameter(cmd, "@ClassesName", DbType.String, entity.ClassesName); db.AddInParameter(cmd, "@ProductId", DbType.String, entity.ProductId); db.AddInParameter(cmd, "@ProductName", DbType.String, entity.ProductName); db.AddInParameter(cmd, "@ProductNum", DbType.Int32, entity.ProductNum); db.AddInParameter(cmd, "@ProductUnitName", DbType.String, entity.ProductUnitName); db.AddInParameter(cmd, "@Remark", DbType.String, entity.Remark); return(db.ExecuteNonQuery(cmd)); }
/// <summary> /// 更新一条InquiryProduct记录。 /// 该方法提供给界面等UI层调用 /// </summary> /// <param name="inquiryProduct">待更新的实体对象</param> /// <param name="columns">要更新的列名,不提供任何列名时默认将更新主键之外的所有列</param> public int UpdateInquiryProduct(InquiryProductEntity inquiryProduct) { return(InquiryProductDA.Instance.UpdateInquiryProduct(inquiryProduct)); }
/// <summary> /// 插入一条记录到表InquiryProduct,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0。 /// 该方法提供给界面等UI层调用 /// </summary> /// <param name="inquiryProduct">要添加的InquiryProduct数据实体对象</param> public int AddInquiryProduct(InquiryProductEntity inquiryProduct) { return(InquiryProductDA.Instance.AddInquiryProduct(inquiryProduct)); }
/// <summary> /// 判断对象是否存在 /// </summary> /// <param name="dicEnum"></param> /// <returns></returns> public bool IsExist(InquiryProductEntity inquiryProduct) { return(InquiryProductDA.Instance.ExistNum(inquiryProduct) > 0); }