/// <summary>
        /// 查询分类属性
        /// </summary>
        /// <param name="model"></param>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <param name="SortField"></param>
        /// <param name="callback"></param>
        public void QueryCategoryExtendWarranty(CategoryExtendWarrantyQueryVM model, int PageSize, int PageIndex, string SortField, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            CategoryExtendWarrantyQueryFilter filter = model.ConvertVM <CategoryExtendWarrantyQueryVM, CategoryExtendWarrantyQueryFilter>();

            if (string.IsNullOrEmpty(model.Cost))
            {
                filter.Cost = -1;
            }
            filter.PagingInfo = new PagingInfo
            {
                PageSize  = PageSize,
                PageIndex = PageIndex,
                SortBy    = SortField
            };


            restClient.QueryDynamicData(GetRelativeUrl, filter,
                                        (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                if (!(args.Result == null || args.Result.Rows == null))
                {
                    foreach (var item in args.Result.Rows)
                    {
                        item.IsChecked = false;
                    }
                }
                callback(obj, args);
            }
                                        );
        }
        public QueryResult QueryCategoryExtendWarranty(CategoryExtendWarrantyQueryFilter request)
        {
            if (request == null)
            {
                throw new BizException(ResouceManager.GetMessageString("IM.CategoryExtendWarranty", "CategoryExtendWarrantyCondtionIsNull"));
            }
            int totalCount;
            var data = ObjectFactory <ICategoryExtendWarrantyQueryDA> .Instance.QueryCategoryExtendWarranty(request, out totalCount);

            var source = new QueryResult {
                Data = data, TotalCount = totalCount
            };

            return(source);
        }
        public DataTable QueryCategoryExtendWarranty(CategoryExtendWarrantyQueryFilter queryCriteria, out int totalCount)
        {
            var dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryCategoryExtendWarranty");
            var pagingInfo  = new PagingInfoEntity
            {
                SortField     = queryCriteria.PagingInfo.SortBy,
                StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize,
                MaximumRows   = queryCriteria.PagingInfo.PageSize
            };

            using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingInfo, "A.SysNo DESC"))
            {
                if (queryCriteria.C1SysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C2.C1SysNo",
                                                                 DbType.Int32, "@C1SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C1SysNo);
                }

                if (queryCriteria.C2SysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C2.SysNo",
                                                                 DbType.Int32, "@C2SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C2SysNo);
                }

                if (queryCriteria.C3SysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C.SysNo",
                                                                 DbType.Int32, "@C3SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C3SysNo);
                }

                if (!string.IsNullOrEmpty(queryCriteria.BrandName))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "B.ManufacturerName + B.BriefName",
                                                                 DbType.String, "@BrandName",
                                                                 QueryConditionOperatorType.Like,
                                                                 queryCriteria.BrandName);
                }

                if (!string.IsNullOrEmpty(queryCriteria.ProductCode))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.ProductCode",
                                                                 DbType.String, "@ProductCode",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.ProductCode);
                }

                if (queryCriteria.Years > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.Years",
                                                                 DbType.Int32, "@Years",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.Years);
                }

                if (queryCriteria.MinUnitPrice > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.MinUnitPrice",
                                                                 DbType.Decimal, "@MinUnitPrice",
                                                                 QueryConditionOperatorType.LessThanOrEqual,
                                                                 queryCriteria.MinUnitPrice);
                }

                if (queryCriteria.MaxUnitPrice > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.MaxUnitPrice",
                                                                 DbType.Decimal, "@MaxUnitPrice",
                                                                 QueryConditionOperatorType.MoreThanOrEqual,
                                                                 queryCriteria.MaxUnitPrice);
                }

                if (queryCriteria.UnitPrice > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.UnitPrice",
                                                                 DbType.Decimal, "@UnitPrice",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.UnitPrice);
                }

                if (queryCriteria.Cost >= 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.Cost",
                                                                 DbType.Decimal, "@Cost",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.Cost);
                }

                if (!queryCriteria.Status.ToString().Equals("0"))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.Status",
                                                                 DbType.String, "@Status",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.Status);
                }

                if (!queryCriteria.IsECSelected.ToString().Equals("0"))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "A.IsECSelected",
                                                                 DbType.String, "@IsECSelected",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.IsECSelected);
                }

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();


                var enumList = new EnumColumnList {
                    { "Status", typeof(CategoryExtendWarrantyStatus) }
                    , { "Years", typeof(CategoryExtendWarrantyYears) }
                    , { "IsECSelected", typeof(BooleanEnum) }
                };

                DataTable dt = dataCommand.ExecuteDataTable(enumList);

                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }
        //行模板详细状态改变触发事件
        private void DataGrid_RowDetailsVisibilityChanged(object sender, DataGridRowDetailsEventArgs e)
        {
            //如果是展开状态将加载数据
            if (e.Row.DetailsVisibility == Visibility.Visible)
            {
                var data = DataGrid.Columns[0].GetCellContent(e.Row).DataContext as DynamicXml;

                #region Gift

                if ((int)data["GiftItemCount"] > 0)
                {
                    //加载礼品
                    var giftDataGird = e.DetailsElement.FindName("DataGridGift") as DataGrid;
                    //如果加载过将不再读取
                    if (giftDataGird.ItemsSource == null)
                    {
                        m_facade.GetValidVenderGifts(data["SysNo"], (o, args) =>
                        {
                            if (!args.FaultsHandle())
                            {
                                var list = args.Result.Rows;
                                foreach (var item in list)
                                {
                                    item["IsCheck"]     = false;
                                    item["MasterSysNo"] = data["SysNo"];
                                }
                                giftDataGird.ItemsSource = list;
                            }
                        });
                    }
                }

                #endregion

                #region ExtendWarranty
                if ((int)data["ExtendWarrantyCount"] > 0)
                {
                    //加载延保产品
                    var extendWarrantyDataGird = e.DetailsElement.FindName("DataGridExtendWarranty") as DataGrid;
                    //如果加载过将不再读取
                    if (extendWarrantyDataGird.ItemsSource == null)
                    {
                        var query = new CategoryExtendWarrantyQueryFilter();
                        query.PagingInfo = new PagingInfo
                        {
                            PageIndex = 0,
                            PageSize  = 10,
                            SortBy    = "A.SysNo"
                        };
                        query.C3SysNo      = (int)data["C3SysNo"];
                        query.MaxUnitPrice = (decimal)data["Price"];
                        query.MinUnitPrice = (decimal)data["Price"];

                        m_facade.GetExtendWarranty(query, (o, args) =>
                        {
                            if (!args.FaultsHandle())
                            {
                                List <ExtendedWarrantyVM> vmlist = new List <ExtendedWarrantyVM>();
                                //将数据转为VMList
                                foreach (var item in args.Result.Rows)
                                {
                                    ExtendedWarrantyVM vm = DynamicConverter <ExtendedWarrantyVM> .ConvertToVM(item);
                                    vm.ServiceYears       = (decimal)item["Years"];
                                    vm.ServiceUnitPrice   = item["UnitPrice"];
                                    vm.ServiceCost        = item["Cost"];
                                    vmlist.Add(vm);
                                }
                                extendWarrantyDataGird.ItemsSource = vmlist;
                            }
                        });
                    }
                }
                #endregion
            }
        }
Example #5
0
 /// <summary>
 /// 延保查询
 /// </summary>
 /// <param name="query">查询条件</param>
 /// <param name="callback">回调函数</param>
 public void GetExtendWarranty(CategoryExtendWarrantyQueryFilter query, EventHandler <RestClientEventArgs <dynamic> > callback)
 {
     restClient.QueryDynamicData("/IMService/CategoryExtendWarranty/QueryCategoryExtendWarranty", query, callback);
 }