/// <summary> /// 登录验证 /// </summary> /// <param name="userID">用户ID</param> /// <param name="pwd">密码</param> /// <returns></returns> public UserInfo checkUserID(string userID, string pwd) { UserInfo info = null; string strSql = "select id, userID, powergroupID, password, " + "(case state when 1 then '使用' when 0 then '禁止' end) as state, name, " + "(case sex when 1 then '男' when 2 then '女' end) as sex, card, tel, address, date " + "from UserInfo " + "where userID=@userID and password=@pwd"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@userID", userID), new SqlParameter("@pwd", pwd) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <UserInfo> list = DynamicBuilder <UserInfo> .ConvertToList(dr); if (list != null && list.Count > 0) { info = list[0]; } return(info); }
/// <summary> /// 搜索投放信息 /// </summary> /// <param name="cinema"></param> /// <param name="begin"></param> /// <param name="end"></param> /// <returns></returns> public IList <AdvListItem> getList(string cinema, string begin, string end) { string strSql = "select a.id, a.cinemaID, (select z.name from Cinema z where z.id=a.cinemaID) as cinemaName, " + "b.version, c.begintime, c.endtime, a.orderID, a.contractID, b.name as contractName " + "from PutinInfo a, ContractInfo b, OrderInfo c where a.contractID=b.contractID and b.contractID=c.contractID "; string where = ""; if (cinema.Trim() != "") { where += "a.cinemaID='" + cinema + "'"; } if (begin.Trim() != "" && end.Trim() != "") { if (where != "") { where += " and "; } where += "(c.endtime>='" + begin + "' and c.begintime<='" + end + "')"; } if (where != "") { strSql += "and " + where; } IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <AdvListItem> list = DynamicBuilder <AdvListItem> .ConvertToList(dr); return(list); }
/// <summary> /// 公共搜索 /// </summary> /// <param name="coreFrameworkEntity"></param> /// <param name="count"></param> /// <param name="selectFields"></param> /// <param name="orderBy"></param> /// <returns></returns> private List <TEntity> CommonSearch(CoreFrameworkEntity coreFrameworkEntity, int?count = null, string selectFields = null, string orderBy = null) { coreFrameworkEntity.Where = string.IsNullOrEmpty(coreFrameworkEntity.Where) ? "1=1" : coreFrameworkEntity.Where; //条件 selectFields = string.IsNullOrEmpty(selectFields) ? "*" : selectFields; //查询字段 orderBy = string.IsNullOrEmpty(orderBy) ? "" : "order by " + orderBy; //排序 string topStr = count.HasValue == false ? "" : (" top " + count); //Top StringBuilder cmdText = new StringBuilder(); cmdText.Append("select"); cmdText.Append(" "); cmdText.Append(topStr); cmdText.Append(" "); cmdText.Append(selectFields); cmdText.Append(" "); cmdText.Append("from"); cmdText.Append(" "); cmdText.Append(TableName); cmdText.Append(" "); cmdText.Append("where"); cmdText.Append(" "); cmdText.Append(coreFrameworkEntity.Where); cmdText.Append(" "); cmdText.Append(orderBy); IDataReader sdr = SqlConvertHelper.GetInstallSqlHelper(OrgCode).ExecuteReader(cmdText.ToString(), coreFrameworkEntity.ParaList); return(DynamicBuilder <TEntity> .GetList(sdr, columnAttrList)); }
/// <summary> /// 分页查询操作(SQL Server 存储过程 SplitPage 返回 T) /// </summary> /// <typeparam name="T">T</typeparam> /// <param name="sql">T-SQL 数据库操作命令字符串</param> /// <param name="currentPage">当前页码</param> /// <param name="pageSize">页面大小</param> /// <param name="pageCount">总页数</param> public List <T> SplitPage <T>(string condition, int currentPage, int pageSize, out int recordCount, out int pageCount) { StringBuilder sql = base.GetQuerySQL <T>(); if (!string.IsNullOrEmpty(condition)) { sql.AppendFormat("WHERE {0}", condition); } SqlCommand command = this.CreateProcedureCommand("SplitPage") as SqlCommand; command.Parameters["@ExecSql"].Value = sql.ToString(); command.Parameters["@CurrentPage"].Value = currentPage; command.Parameters["@PageSize"].Value = pageSize; // 先执行 ExecuteNonQuery 方法以获取传出参数 ExecuteNonQuery(command); recordCount = Convert.ToInt32(((IDataParameter)command.Parameters["@RecordCount"]).Value); pageCount = Convert.ToInt32(((IDataParameter)command.Parameters["@PageCount"]).Value); //存储过程SplitPage生成的记录放在第二个记录集里面 IDataReader dataReader = ExecuteReader(command); dataReader.NextResult(); return(DynamicBuilder <T> .DataReader2Entity(dataReader)); }
/// <summary> /// 获取用户列表 /// </summary> /// <param name="userID">用户名</param> /// <param name="beginDate">开始日期</param> /// <param name="endDate">结束日期</param> /// <returns></returns> public IList <UserInfo> getList(string userID, string beginDate, string endDate) { string strSql = "select id, userID, powergroupID, password, " + "(case state when 1 then '使用' when 0 then '禁止' end) as state, name, " + "(case sex when 1 then '男' when 2 then '女' end) as sex, card, tel, address, date " + "from UserInfo "; string where = ""; if (userID.Trim() != "") { where += " userID like '%" + userID + "%' "; } if (beginDate.Trim() != "" && endDate.Trim() != "") { if (userID.Trim() != "") { where += "or "; } where += " date between '" + beginDate + "' and '" + endDate + "'"; } if (!string.IsNullOrEmpty(where)) { strSql += "where" + where; } IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <UserInfo> list = DynamicBuilder <UserInfo> .ConvertToList(dr); return(list); }
public TResult ReadObj <TResult>(ref DynamicBuilder <TResult> builder, DbDataReader dr, Type objType) { TResult obj = default(TResult); bool isTuple = IsTuple(objType); bool isEnum = objType.IsEnum; if (isTuple) { int columnIndex = -1; obj = (TResult)GetValueTuple(objType, dr, ref columnIndex); } else if (IsValueType(objType) || isEnum) { obj = (TResult)GetValueType(objType, dr); } else if (objType.Namespace != null && objType.Namespace.StartsWith("Newtonsoft")) { obj = (TResult)GetJToken(dr); } else { if (builder == null) { builder = DynamicBuilder <TResult> .CreateBuilder(dr); } obj = builder.Build(dr); } return(obj); }
/// <summary> /// ExecuteReader /// <para>eg:string _sql = "select * from dbo.Person where PName=@pname";</para> /// <para>List _products = SqlHelper.ExecuteReader(_sql, new DbParameter[1] { new SqlParameter("@pname", "YanZhiwei") });</para> /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameters">参数</param> /// <returns>集合</returns> public List <T> ExecuteReader <T>(string sql, DbParameter[] parameters) where T : class { try { CheckedSqlParamter(sql); List <T> _result = new List <T>(); using (SqlConnection sqlcon = new SqlConnection(connectionString)) { using (SqlCommand sqlcmd = new SqlCommand(sql, sqlcon)) { if (parameters != null) { sqlcmd.Parameters.AddRange(parameters); } sqlcon.Open(); using (IDataReader reader = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection)) { DynamicBuilder.Build _buildFrom = DynamicBuilder.CreateBuilder(reader, typeof(T), DataBaseType.SqlServer); while (reader.Read()) { _result.Add((T)_buildFrom(reader)); } } } } return(_result); } catch (SqlException ex) { throw CreateFrameworkException(sql, parameters, ex); } }
/// <summary> /// 获取影院列表 /// </summary> /// <returns></returns> public IList <Cinema> getList(string name, string area) { string strSql = "select id, name, " + "areaID, (select z.name from AreaInfo z where z.id=areaID) as area, " + "roomNum, person, tel, address from Cinema "; if (name.Trim() != "" || area.Trim() != "") { strSql += "where "; } if (name.Trim() != "") { strSql += "name like '%" + name + "%' "; } if (area.Trim() != "") { if (name.Trim() != "") { strSql += "and "; } strSql += "areaID=" + area; } IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <Cinema> list = DynamicBuilder <Cinema> .ConvertToList(dr); return(list); }
private static Expression Subrtract1AndConvertToInt32(Expression e) { var subtract1 = DynamicBuilder.BuildOperator(ExpressionType.Subtract, e, Expression.Constant(1)); var convertToInt32 = DynamicBuilder.BuildConvert(subtract1, typeof(int)); return(convertToInt32); }
/// <summary> /// 获取客户资料列表 /// </summary> /// <param name="en"></param> /// <returns></returns> public IList <CustomerInfo> getList(CustomerInfo en, string userID) { string strSql = "select a.id, a.name, " + "a.channelTypeID, (select z.name from ChannelType z where z.id=a.channelTypeID) as channelType, " + "a.person, a.tel, a.officeTel, a.email, a.fex, a.address, " + "a.salesmanID, (select z.name from UserInfo z where z.id=a.salesmanID) as salesman, a.memo, a.mDate, " + "a.stateID, (select z.state from CustomerState z where z.id=a.stateID) as state " + "from CustomerInfo a, ContractBinding b where a.salesmanID=b.personID and b.userID=@id "; if (en.name.Trim() != "") { strSql += " and a.name like '%" + en.name + "%' "; } if (en.channelTypeID != 0) { strSql += " and a.channelTypeID=" + en.channelTypeID + " "; } if (en.salesmanID != 0) { strSql += " and a.salesmanID=" + en.salesmanID + " "; } SqlParameter[] param = new SqlParameter[] { new SqlParameter("@id", userID) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <CustomerInfo> list = DynamicBuilder <CustomerInfo> .ConvertToList(dr); return(list); }
/// <summary> /// 根据编号获取信息 /// </summary> /// <param name="id">编号</param> /// <returns></returns> public OrderInfo getOrderInfo(string id) { string strSql = "select a.id, a.contractID, b.name as contractName, a.orderID, " + "(select z.target from ADCostTarget z where z.id=a.costTargetID) as costTargetName, a.costTargetID, " + "b.customerID, (select z.name from CustomerInfo z where x.id=b.customerID) as customerName, " + "a.roomNum, a.begintime, a.endtime, a.memo, " + "(select z.target from MakeCostTarget z where z.id=a.makeTargetID) as makeTargetName, a.makeTargetID, " + "playReport, reportTime, mdate from OrderInfo a, ContractInfo b where a.contractID=b.contractID and a.id=@id"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@id", id) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <OrderInfo> list = DynamicBuilder <OrderInfo> .ConvertToList(dr); if (list != null && list.Count > 0) { return(list[0]); } else { return(null); } }
/// <summary> /// 搜索各种到账类型列表 /// </summary> /// <returns></returns> public IList <PayList> getList(string contractID, string channel, string begin, string end, string person, int type, string userID) { string strSql = "select a.contractID, a.money, count(b.money) as total into #ddd " + "from ContractInfo a join ContractBinding c on a.personID=c.personID left join CustomerPay b on a.contractID=b.contractID where c.userID=@id "; if (contractID.Trim() != "") { strSql += " and a.contractID='" + contractID + "' "; } if (channel.Trim() != "") { strSql += " and a.channelID='" + channel + "' "; } if (person.Trim() != "") { strSql += " and a.personID='" + person + "' "; } if (begin.Trim() != "" && end.Trim() != "") { strSql += " and a.mDate between '" + begin + "' and '" + end + "' "; } strSql += " group by a.contractID, a.money "; strSql += "select a.contractID, a.name, a.money, " + "a.channelID, (select z.name from Channel z where z.id=a.channelID) as channelName, " + "a.personID, (select z.name from UserInfo z where z.id=a.personID) as personName, " + "b.money as payMoney, null as payPercent, b.date " + "from ContractInfo a, CustomerPay b, #ddd c where a.contractID=b.contractID and a.contractID=c.contractID "; switch (type) { case 0: strSql += " and c.total=0 "; break; case 1: strSql += " and c.money<>c.total "; break; case 2: strSql += " and c.money=c.total "; break; } strSql += " drop table #ddd "; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@id", userID) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <PayList> list = DynamicBuilder <PayList> .ConvertToList(dr); return(list); }
/// <summary> /// 搜索结算列表 /// </summary> /// <returns></returns> public IList <MakeCost> getList(string id, string contractID, string channel, string state, string begin, string end) { string strSql = "select a.id, a.orderID, b.contractID, c.name, " + "(select z.name from Channel z where z.id=c.channelID) as channelName, " + "c.version, c.money as contractMoney, " + "a.money, (select z.name from AccountState z where z.id=a.state) as state, a.date from ADCostAccount a, OrderInfo b, ContractInfo c where a.orderID=b.orderID and b.contractID=c.contractID "; string where = ""; if (id.Trim() != "") { where += "a.orderID like '%" + id + "%'"; } if (contractID.Trim() != "") { if (where != "") { where += " and "; } where += "c.contractID like '%" + contractID + "%'"; } if (channel.Trim() != "") { if (where != "") { where += " and "; } where += "c.channelID=" + channel; } if (state.Trim() != "") { if (where != "") { where += " and "; } where += "a.state=" + state; } if (begin.Trim() != "" && end.Trim() != "") { if (where != "") { where += " and "; } where += "date between '" + begin + "' and '" + end + "'"; } if (where != "") { strSql += "and " + where; } IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <MakeCost> list = DynamicBuilder <MakeCost> .ConvertToList(dr); return(list); }
/// <summary> /// 根据合同编号获取合同信息 /// </summary> /// <param name="id">编号</param> /// <returns></returns> public ContractInfo getEntity(string id) { string strSql = "select id, contractID, name, customerID, (select z.name from CustomerInfo z where z.id=customerID) as customerName, " + "version, price, roomNum, makeCost, backMoney, money, " + "type, (select z.name from ContractType z where z.id=type) as typeName, " + "channelID, (select z.name from Channel z where z.id=channelID) as channelName, " + "begintime, endtime, ZQ, personID, (select z.name from UserInfo z where z.id=personID) as personName, " + "memo, mDate, billState, (select z.name from BillState z where z.id=billState) as billStateName, " + "state, (select z.name from ContractState z where z.id=state) as stateName, editTime from ContractInfo " + "where contractID=@id"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@id", id) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <ContractInfo> list = DynamicBuilder <ContractInfo> .ConvertToList(dr); if (list != null && list.Count > 0) { return(list[0]); } else { return(null); } }
public object ReadObj(DynamicBuilder builder, DbDataReader dr, Type objType) { object obj = null; bool isTuple = IsTuple(objType); bool isEnum = objType.IsEnum; if (isTuple) { int columnIndex = -1; obj = GetValueTuple(objType, dr, ref columnIndex); } else if (IsValueType(objType) || isEnum) { obj = GetValueType(objType, dr); } else if (objType.Namespace != null && objType.Namespace.StartsWith("Newtonsoft")) { obj = GetJToken(dr); } else { obj = builder.Build(dr); } return(obj); }
/// <summary> /// 查询单条记录 /// </summary> /// <param name="ExpWhere">lamda表达式</param> /// <param name="SqlOrderBy">取值排序字段,如:Id Asc,CreateTime Desc</param> /// <param name="UseReadonlySource">是否实用只读数据源,true-是,false-否</param> /// <returns></returns> public static T Get(Expression <Func <T, bool> > ExpWhere, string SqlOrderBy, bool UseReadonlySource = true) { ResolveExpress re = new ResolveExpress(); re.ResolveExpression(re, ExpWhere); string SqlWhere = "1=1" + re.SqlWhere; object[] SqlParams = re.SqlParams.ToArray(); string SqlText = SqlGenerator.SQLBUILDER_Get(DB.ORM_TabInfo, SqlWhere, SqlOrderBy); Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, UseReadonlySource); Data.Common.DataTable dt = db.ExecTextDataTable(SqlText, SqlParams); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; DynamicBuilder <T> DyBuilder = DynamicBuilder <T> .CreateBuilder(dr); T Model = DyBuilder.Build(dr); ModelBase <T> TempModel = Model as ModelBase <T>; TempModel.ModifiedColumns.Clear(); return(Model); } else { return(new T()); } }
public void MissingTheMemberNameFromTheMethodResultsInARuntimeBinderException(string anonymous) { var argumentStore = Substitute.For<IArgumentStore>(); dynamic sut = new DynamicBuilder<SampleType>(new MethodSyntaxParser(argumentStore), argumentStore); var exception = Assert.Throws<RuntimeBinderException>(() => sut.With(anonymous)); Assert.True(exception.Message.EndsWith("does not contain a definition for 'With'")); }
public void CallingAMethodThatDoesNotBeginWithTheWordWithResultsInARuntimeBinderException(string anonymous) { var argumentStore = Substitute.For<IArgumentStore>(); dynamic sut = new DynamicBuilder<SampleType>(new MethodSyntaxParser(argumentStore), argumentStore); var exception = Assert.Throws<RuntimeBinderException>(() => sut.And(anonymous)); Assert.True(exception.Message.EndsWith("does not contain a definition for 'And'")); }
public void MissingTheMemberNameFromTheMethodResultsInARuntimeBinderException(string anonymous) { var argumentStore = Substitute.For <IArgumentStore>(); dynamic sut = new DynamicBuilder <SampleType>(new MethodSyntaxParser(argumentStore), argumentStore); var exception = Assert.Throws <RuntimeBinderException>(() => sut.With(anonymous)); Assert.True(exception.Message.EndsWith("does not contain a definition for 'With'")); }
/// <summary> /// 获取权限组列表 /// </summary> /// <returns></returns> public IList <PowerGroup> getList() { string strSql = "select id, name, memo from PowerGroup"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <PowerGroup> list = DynamicBuilder <PowerGroup> .ConvertToList(dr); return(list); }
/// <summary> /// 获取模块列表 /// </summary> /// <returns></returns> public IList <Module> getList() { string strSql = "select id, name, [check] from SystemModule"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <Module> list = DynamicBuilder <Module> .ConvertToList(dr); return(list); }
public void CallingAMethodThatDoesNotBeginWithTheWordWithResultsInARuntimeBinderException(string anonymous) { var argumentStore = Substitute.For <IArgumentStore>(); dynamic sut = new DynamicBuilder <SampleType>(new MethodSyntaxParser(argumentStore), argumentStore); var exception = Assert.Throws <RuntimeBinderException>(() => sut.And(anonymous)); Assert.True(exception.Message.EndsWith("does not contain a definition for 'And'")); }
/// <summary> /// 获取对象列表 /// </summary> /// <returns></returns> public IList <ADCostTarget> getList() { string strSql = "select id, target, memo from ADCostTarget"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <ADCostTarget> list = DynamicBuilder <ADCostTarget> .ConvertToList(dr); return(list); }
/// <summary> /// Get执行 /// </summary> /// <param name="coreFrameworkEntity"></param> /// <returns></returns> private TEntity GetExecute(CoreFrameworkEntity coreFrameworkEntity) { //拼接SQL语句 string cmdText = "select * from " + TableName + " where " + coreFrameworkEntity.Where; IDataReader sdr = SqlConvertHelper.GetInstallSqlHelper(OrgCode).ExecuteReader(cmdText, coreFrameworkEntity.ParaList); List <TEntity> list = DynamicBuilder <TEntity> .GetList(sdr, columnAttrList); return(list.Count > 0 ? list.First() : default(TEntity)); }
/// <summary> /// 获取发票状态列表 /// </summary> /// <returns></returns> public IList <BillState> getList() { string strSql = "select id, name from BillState"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <BillState> list = DynamicBuilder <BillState> .ConvertToList(dr); return(list); }
/// <summary> /// 搜索订单列表 /// </summary> /// <returns></returns> public IList <OrderInfo> getList(string orderID, string contractID, string begin, string end, string person, string adTarget, string makeTarget, string userID) { string strSql = "select a.id, a.contractID, b.name as contractName, a.orderID, " + "(select z.target from ADCostTarget z where z.id=a.costTargetID) as costTargetName, a.costTargetID, " + "b.customerID, (select z.name from CustomerInfo z where z.id=b.customerID) as customerName, " + "a.roomNum, a.begintime, a.endtime, a.memo, " + "(select z.target from MakeCostTarget z where z.id=a.makeTargetID) as makeTargetName, a.makeTargetID, " + "a.playReport, a.reportTime, a.mdate " + "from OrderInfo a, ContractInfo b, ContractBindingn c where a.contractID=b.contractID and b.personID=c.personID and c.userID=@id "; string where = ""; if (orderID.Trim() != "") { where += "and a.orderID like '%" + orderID + "%' "; } if (contractID.Trim() != "") { where += "and a.contractID like '%" + contractID + "%' "; } if (begin.Trim() != "" && end.Trim() != "") { where += "and (a.endtime>='" + begin + "' and a.begintime<='" + end + "') "; } if (person.Trim() != "") { where += "and b.personID='" + person + "' "; } if (adTarget.Trim() != "") { where += "and a.costTargetID='" + adTarget + "' "; } if (makeTarget.Trim() != "") { where += "and a.makeTargetID='" + makeTarget + "' "; } if (where != "") { strSql += where; } SqlParameter[] param = new SqlParameter[] { new SqlParameter("@id", userID) }; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql, param); IList <OrderInfo> list = DynamicBuilder <OrderInfo> .ConvertToList(dr); return(list); }
internal IList <CustomText> GetTexts() { using (SqlCommand cmd = GetCmd("SELECT * FROM dbo.OfferCustomTexts")) using (SqlDataReader dr = cmd.ExecuteReader()) { var builder = DynamicBuilder <CustomText> .CreateBuilder(dr); return(builder.BuildMany(dr)); } }
/// <summary> /// 获取用户权限列表 /// </summary> /// <returns></returns> public IList <UserGroup> getList() { string strSql = "select a.userID, a.name as userName, a.powergroupID as groupID, b.name as groupName " + "from UserInfo a, PowerGroup b where a.powergroupID=b.id"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <UserGroup> list = DynamicBuilder <UserGroup> .ConvertToList(dr); return(list); }
public static DynamicBuilder <T> Dynamically <T>(T template) { var builder = new DynamicBuilder <T>(); if (!object.Equals(template, default(T))) { builder.OverwriteWithTemplate(template); } return(builder); }
/// <summary> /// 获取影院列表 /// </summary> /// <returns></returns> public IList <Cinema> getList() { string strSql = "select id, name, " + "areaID, (select z.name from AreaInfo z where z.id=areaID) as area, " + "roomNum, person, tel, address from Cinema"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <Cinema> list = DynamicBuilder <Cinema> .ConvertToList(dr); return(list); }
/// <summary> /// 获取影厅列表 /// </summary> /// <returns></returns> public IList <CinemaRoom> getList() { string strSql = "select id, cinemaID, (select z.name from Cinema z where z.id=cinemaID) as cinema, " + "room, typeID, (select z.type from CinemaRoomType z where z.id=typeID) as type, " + "memo from CinemaRoom"; IDataReader dr = SqlHelper.ExecuteReader(BaseHelper.DBConnStr, CommandType.Text, strSql); IList <CinemaRoom> list = DynamicBuilder <CinemaRoom> .ConvertToList(dr); return(list); }
public void TestDynamicBuilder() { dynamic obj = new DynamicBuilder(); obj.Value = 1; obj.GetMessage = new Func <string>(() => "Value = " + obj.Value); // verify Assert.AreEqual("Value = 1", obj.GetMessage()); // verify that we still work after updating member obj.Value = 5; Assert.AreEqual("Value = 5", obj.GetMessage()); }