Ejemplo n.º 1
0
        /// <summary>
        /// 新增对象
        /// </summary>
        /// <param name="trans">事物</param>
        /// <returns></returns>
        public MFReturnValue <object> Create(SqlTransaction trans, T entity)
        {
            SqlParameter[] paramArray = ValueParas(entity);
            paramArray[0].Direction = ParameterDirection.Output;

            paramArray[paramArray.Length - 2].Direction = ParameterDirection.Output;
            paramArray[paramArray.Length - 1].Direction = ParameterDirection.ReturnValue;

            if (trans.IsNullOrEmpty())
            {
                MFSqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "{0}_Create".FormatWith(this.TableName), paramArray);
            }
            else
            {
                MFSqlHelper.ExecuteNonQuery(trans, CommandType.StoredProcedure, "{0}_Create".FormatWith(this.TableName), paramArray);
            }

            int nReturnCode = paramArray[paramArray.Length - 1].Value.ToInt();

            MFReturnValue <object> val = new MFReturnValue <object>();

            if (nReturnCode < 0)
            {
                val.HasError = true;
            }
            else
            {
                val.HasError           = false;
                val.OutputValues["Id"] = paramArray[0].Value.ToInt();
            }
            val.Message    = paramArray[paramArray.Length - 2].Value.ObjectToString();
            val.ReturnCode = nReturnCode;
            return(val);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 删除指定编号的对象
        /// </summary>
        /// <param name="id">编号</param>
        /// <param name="trans">事物</param>
        /// <returns></returns>
        public MFReturnValue <object> Delete(int?id, SqlTransaction trans)
        {
            MFReturnValue <object> val = new MFReturnValue <object>();

            int nId;

            if (id.HasValue)
            {
                nId = id.Value;
            }
            else
            {
                val.HasError = true;
                val.Message  = "无效主键";
                return(val);
            }

            SqlParameter[] paramArray = new SqlParameter[] {
                new SqlParameter("@Id", nId),
                new SqlParameter("@RetMsg", SqlDbType.NVarChar, 255),
                new SqlParameter("@ReturnValue", SqlDbType.Int)
            };

            paramArray[paramArray.Length - 2].Direction = ParameterDirection.Output;
            paramArray[paramArray.Length - 1].Direction = ParameterDirection.ReturnValue;

            if (trans.IsNullOrEmpty())
            {
                MFSqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "{0}_Delete".FormatWith(this.TableName), paramArray);
            }
            else
            {
                MFSqlHelper.ExecuteNonQuery(trans, CommandType.StoredProcedure, "{0}_Delete".FormatWith(this.TableName), paramArray);
            }

            int nReturnCode = paramArray[paramArray.Length - 1].Value.ToInt();

            if (nReturnCode < 0)
            {
                val.HasError = true;
            }
            else
            {
                val.HasError = false;
            }
            val.Message    = paramArray[paramArray.Length - 2].Value.ObjectToString();
            val.ReturnCode = nReturnCode;
            return(val);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 删除 在事务中
        /// </summary>
        /// <param name="id"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public virtual MFReturnValue <object> Delete(int?id, SqlTransaction transaction)
        {
            MFReturnValue <object> retValue = new MFReturnValue <object>();
            int nId;

            if (id.HasValue)
            {
                nId = id.Value;
            }
            else
            {
                retValue.HasError = true;
                retValue.Message  = "无效的主键";
                return(retValue);
            }

            SqlParameter[] parameterArr = new SqlParameter[] {
                new SqlParameter("@Id", nId),
                new SqlParameter("@RetMsg", SqlDbType.NVarChar, 255),
                new SqlParameter("@ReturnValue", SqlDbType.Int)
            };

            parameterArr[parameterArr.Length - 2].Direction = ParameterDirection.Output;
            parameterArr[parameterArr.Length - 1].Direction = ParameterDirection.ReturnValue;

            if (transaction.IsNullOrEmpty())
            {
                MFSqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, string.Format("{0}_Delete", this.TableName), parameterArr);
            }
            else
            {
                MFSqlHelper.ExecuteNonQuery(transaction, CommandType.StoredProcedure, String.Format("{0}_Delete", this.TableName), parameterArr);
            }
            int returnCode = parameterArr[parameterArr.Length - 1].Value.ToInt();

            if (returnCode < 0)
            {
                retValue.HasError = true;
            }
            else
            {
                retValue.HasError = false;
            }
            return(retValue);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 创建对象,存在事务中
        /// </summary>
        /// <param name="transaction"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual MFReturnValue <object> Create(SqlTransaction transaction, T entity)
        {
            //设置参数
            SqlParameter[] parameterArray = ValueParas(entity);
            //第一个参数是id,所以传入的参数是无效的,类似out
            parameterArray[0].Direction = ParameterDirection.Output;
            //倒数第二个参数(RetMsg),闯入的参数是无效的,类似 out
            parameterArray[parameterArray.Length - 2].Direction = ParameterDirection.Output;
            //最后一个参数是存储过程的返回值
            parameterArray[parameterArray.Length - 1].Direction = ParameterDirection.ReturnValue;

            //执行没有事务的查询
            if (transaction.IsNullOrEmpty())
            {
                MFSqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, string.Format("{0}_Create", this.TableName), parameterArray);
            }
            //执行有事务的查询
            else
            {
                MFSqlHelper.ExecuteNonQuery(transaction, CommandType.StoredProcedure, string.Format("{0}_Create", this.TableName), parameterArray);
            }
            //获取存储过程返回值
            int returnCode = parameterArray[parameterArray.Length - 1].Value.ToInt();
            //设置返回值
            MFReturnValue <object> val = new MFReturnValue <object>();

            if (returnCode < 0)
            {
                val.HasError = true;
            }
            else
            {
                val.HasError           = false;
                val.OutputValues["Id"] = parameterArray[0].Value.ToInt();
            }
            val.Message    = parameterArray[parameterArray.Length - 2].Value.ObjectToString();
            val.ReturnCode = returnCode;
            return(val);
        }