예제 #1
0
        public virtual DataTable QueryCallsEventLog(CustomerCallsEventLogFilter filter, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            pagingEntity.SortField     = filter.PagingInfo.SortBy;
            pagingEntity.MaximumRows   = filter.PagingInfo.PageSize;
            pagingEntity.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize;


            CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("QueryCallsEventLog");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "SysNo DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "a.Customer_CallingSysNo",
                    DbType.Int32,
                    "@CallsEventsSysNo ",
                    QueryConditionOperatorType.Equal,
                    filter.CallsEventsSysNo);

                cmd.CommandText = sqlBuilder.BuildQuerySql();
                EnumColumnList enunlist = new EnumColumnList();
                enunlist.Add(3, typeof(CallsEventsStatus));
                enunlist.Add(7, typeof(CustomerCallReason));
                CodeNamePairColumnList cpList = new CodeNamePairColumnList();
                cpList.Add(2, "Customer", "RecordOrigion");
                DataTable dt = cmd.ExecuteDataTable(enunlist, cpList);
                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }
예제 #2
0
        public QueryResult QueryCallsEventLog(CustomerCallsEventLogFilter query)
        {
            int totalCount;
            var dataTable = ObjectFactory <ICallingLogQueryDA> .Instance.QueryCallsEventLog(query, out totalCount);

            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                if (dataTable.Rows[i]["ReasonCodeSysNo"] != DBNull.Value)
                {
                    int reasonCodeSysNo = (int)dataTable.Rows[i]["ReasonCodeSysNo"];
                    dataTable.Rows[i]["ReasonCodePath"] = ObjectFactory <CallsEventsAppService> .Instance.GetReasonCodePath(reasonCodeSysNo, query.CompanyCode);
                }
            }
            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
예제 #3
0
        private void dataGridLogList_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            CustomerCallsEventLogFilter filter = new CustomerCallsEventLogFilter();

            filter.CompanyCode      = CPApplication.Current.CompanyCode;
            filter.CallsEventsSysNo = viewModel.SysNo;
            filter.PagingInfo       = new PagingInfo()
            {
                PageSize  = e.PageSize,
                PageIndex = e.PageIndex,
                SortBy    = e.SortField
            };
            new CustomerCallingFacade(CPApplication.Current.CurrentPage).QueryCallsEventLog(filter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                dataGridLogList.ItemsSource = args.Result.Rows;
                dataGridLogList.TotalCount  = args.Result.TotalCount;
            });
        }
예제 #4
0
        public void QueryCallsEventLog(CustomerCallsEventLogFilter filter, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            string relativeUrl = string.Format("/CustomerService/CallsEvents/QueryCallsEventLog");

            restClient.QueryDynamicData(relativeUrl, filter, callback);
        }