Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 4
0
        /// <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));
        }