public void WhereBuilderValidity_Affect_QueryValidity() { var translator = new SqlTranslator(); translator.AddTable(typeof(Car)); translator.AddTable(typeof(CarMaker)); var whereBuilderFactory = new WhereBuilderFactory(() => new Comparator()); var whereIsValid = CountryCondition(whereBuilderFactory) .TryBuild(translator, out _); Assert.False(whereIsValid, "The where clause needs to be invalid"); var basicQuery = GetBuilder().From <Car>() .Set(car => car.Mileage, "@value"); Assert.True(basicQuery.TryBuild(out _), "The basic query should be valid"); var isValid = basicQuery .WhereFactory(CountryCondition) // Fail condition, country is not joined .TryBuild(out var query); Assert.False(isValid, "An invalid where should cause an otherwise valid query to be invalid"); }
/// <summary> /// 根据条件查询结算详情 /// </summary> /// <param name="id">开发者ID</param> /// <param name="date">结算日期</param> /// <returns></returns> public DataSet FindPagedListByDeveloperModel(int id, string date) { var whereBuilder = WhereBuilderFactory.Create(); if (id > 0) { whereBuilder.Append(string.Format("DeveloperId={0}", id)); } if (!string.IsNullOrEmpty(date)) { whereBuilder.Append(string.Format("SettlementDay ='{0}'", date)); } return(_repository.FindPagedModel(whereBuilder.ToWhereString())); }
/// <summary> /// 查询所有数据(分页) /// </summary> /// <param name="orderBy">排序条件</param> /// <param name="settlementDayFrom">账单开始日期</param> /// <param name="settlementDayTo">账单结束日期</param> /// <param name="pageIndex">当前页索引(从0开始)</param> /// <param name="pageSize">分页大小</param> /// <returns></returns> public IPagedList <CoSettlementDeveloperAppDetails> FindAll(string orderBy = "Id DESC", string settlementDayFrom = "", string settlementDayTo = "", int pageIndex = 0, int pageSize = 20) { var whereBuilder = WhereBuilderFactory.Create(); if (!string.IsNullOrEmpty(settlementDayFrom)) { whereBuilder.Append(string.Format("SettlementDay>='{0}'", settlementDayFrom)); } if (!string.IsNullOrEmpty(settlementDayTo)) { whereBuilder.Append(string.Format("SettlementDay<='{0}'", settlementDayTo)); } return(_repository.FindPagedList(whereBuilder.ToWhereString(), orderBy, pageIndex, pageSize)); }
/// <summary> /// 根据开发者姓名查询 /// </summary> /// <param name="developerName">开发者姓名</param> /// <param name="orderBy">排序条件</param> /// <param name="settlementDayFrom">账单开始日期</param> /// <param name="settlementDayTo">账单结束日期</param> /// <param name="pageIndex">当前页索引(从0开始)</param> /// <param name="pageSize">分页大小</param> /// <returns></returns> public IPagedList <CoSettlementDeveloperOverview> FindPagedListByDeveloperName(string developerName, string orderBy = "Id DESC", string settlementDayFrom = "", string settlementDayTo = "", int pageIndex = 0, int pageSize = 20) { var whereBuilder = WhereBuilderFactory.Create(); if (!string.IsNullOrEmpty(developerName)) { whereBuilder.Append(string.Format("DeveloperName='{0}'", developerName.Replace("'", "''"))); } if (!string.IsNullOrEmpty(settlementDayFrom)) { whereBuilder.Append(string.Format("SettlementDay>='{0}'", settlementDayFrom)); } if (!string.IsNullOrEmpty(settlementDayTo)) { whereBuilder.Append(string.Format("SettlementDay<='{0}'", settlementDayTo)); } return(_repository.FindPagedList(whereBuilder.ToWhereString(), orderBy, pageIndex, pageSize)); }
/// <summary> /// 查询所有数据(分页) /// </summary> /// <param name="developerId">开发者ID</param> /// <param name="developerName">开发者名称</param> /// <param name="appId">应用ID</param> /// <param name="appName">应用名称</param> /// <param name="payModeId">支付方式ID</param> /// <param name="payModeName">支付方式名称</param> /// <param name="orderBy">排序条件</param> /// <param name="settlementDayFrom">账单开始日期</param> /// <param name="settlementDayTo">账单结束日期</param> /// <param name="pageIndex">当前页索引(从0开始)</param> /// <param name="pageSize">分页大小</param> /// <returns></returns> public IPagedList <CoSettlementDeveloperAppDetails> FindAll(int developerId = 0, string developerName = "", int appId = 0, string appName = "", int payModeId = 0, string payModeName = "", string orderBy = "Id DESC", string settlementDayFrom = "", string settlementDayTo = "", int pageIndex = 0, int pageSize = 20) { var whereBuilder = WhereBuilderFactory.Create(); if (developerId > 0) { whereBuilder.Append(string.Format("DeveloperId>{0}", developerId)); } if (!string.IsNullOrEmpty(developerName)) { whereBuilder.Append(string.Format("DeveloperName LIKE '%{0}%'", developerName.Replace("'", "''"))); } if (appId > 0) { whereBuilder.Append(string.Format("AppId>{0}", appId)); } if (!string.IsNullOrEmpty(appName)) { whereBuilder.Append(string.Format("AppName LIKE '%{0}%'", appName.Replace("'", "''"))); } if (payModeId > 0) { whereBuilder.Append(string.Format("PayModeId>{0}", payModeId)); } if (!string.IsNullOrEmpty(payModeName)) { whereBuilder.Append(string.Format("PayModeName LIKE '%{0}%'", payModeName.Replace("'", "''"))); } if (!string.IsNullOrEmpty(settlementDayFrom)) { whereBuilder.Append(string.Format("SettlementDay>='{0}'", settlementDayFrom)); } if (!string.IsNullOrEmpty(settlementDayTo)) { whereBuilder.Append(string.Format("SettlementDay<='{0}'", settlementDayTo)); } return(_repository.FindPagedList(whereBuilder.ToWhereString(), orderBy, pageIndex, pageSize)); }