Ejemplo n.º 1
0
        public void Query(PostIncomeQueryVM query, int pageSize, int pageIndex, string sortField, Action <PostIncomeQueryResultVM> callback)
        {
            PostIncomeQueryFilter queryFilter = query.ConvertVM <PostIncomeQueryVM, PostIncomeQueryFilter>();

            queryFilter.PagingInfo = new PagingInfo()
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                SortBy    = sortField
            };
            queryFilter.CompanyCode = CPApplication.Current.CompanyCode;
            string relativeUrl = "/InvoiceService/PostIncome/Query";

            restClient.QueryDynamicData(relativeUrl, queryFilter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                var result        = new PostIncomeQueryResultVM();
                result.ResultList = DynamicConverter <PostIncomeVM> .ConvertToVMList(args.Result.Rows);
                result.TotalCount = args.Result.TotalCount;

                callback(result);
            });
        }
Ejemplo n.º 2
0
        public void ExportExcelFile(PostIncomeQueryVM queryVM, ColumnSet[] columnSet)
        {
            PostIncomeQueryFilter queryFilter = queryVM.ConvertVM <PostIncomeQueryVM, PostIncomeQueryFilter>();

            queryFilter.PagingInfo = new PagingInfo
            {
                PageSize  = ECCentral.Portal.Basic.ConstValue.MaxRowCountLimit,
                PageIndex = 0,
                SortBy    = "a.SysNo desc"
            };
            queryFilter.CompanyCode = CPApplication.Current.CompanyCode;
            string relativeUrl = "/InvoiceService/PostIncome/Export";

            restClient.ExportFile(relativeUrl, queryFilter, columnSet);
        }
Ejemplo n.º 3
0
        public virtual QueryResult QueryPostIncome(PostIncomeQueryFilter request)
        {
            int totalCount = 0;
            var dataTable  = ObjectFactory <IPostIncomeQueryDA> .Instance.Query(request, out totalCount);

            foreach (DataRow row in dataTable.Rows.AsParallel())
            {
                if (!row.IsNull("CreateDate"))
                {
                    row["CreateDate"] = Convert.ToDateTime(row["CreateDate"]).ToShortDateString();
                    //((DateTime)row["CreateDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("ModifyDate"))
                {
                    row["ModifyDate"] = Convert.ToDateTime(row["ModifyDate"]).ToShortDateString();
                    //((DateTime)row["ModifyDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("IncomeDate"))
                {
                    row["IncomeDate"] = Convert.ToDateTime(row["IncomeDate"]).ToShortDateString();
                    //((DateTime)row["IncomeDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("ConfirmDate"))
                {
                    if (row["ConfirmStatus"].ToString() == "1")
                    {
                        row["ConfirmDate"] = Convert.ToDateTime(row["ConfirmDate"]).ToShortDateString();
                        //((DateTime)row["ConfirmDate"]).ToString().Substring(0, 10);
                    }
                    else
                    {
                        row["ConfirmDate"] = DBNull.Value;
                    }
                }
            }

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Ejemplo n.º 4
0
        public virtual QueryResult ExportPostIncome(PostIncomeQueryFilter request)
        {
            int totalCount = 0;
            var dataTable  = ObjectFactory <IPostIncomeQueryDA> .Instance.Query(request, out totalCount);

            dataTable.Columns.Add("HandleStatusDesc");
            foreach (DataRow row in dataTable.Rows.AsParallel())
            {
                if (!row.IsNull("IncomeAmt"))
                {
                    row["IncomeAmt"] = ((decimal)row["IncomeAmt"]).ToString(InvoiceConst.StringFormat.DecimalFormat);
                }
                if (!row.IsNull("OrderTime"))
                {
                    row["OrderTime"] = ((DateTime)row["OrderTime"]).ToString(InvoiceConst.StringFormat.LongDateFormat);
                }
                if (!row.IsNull("OutTime"))
                {
                    row["OutTime"] = ((DateTime)row["OutTime"]).ToString(InvoiceConst.StringFormat.LongDateFormat);
                }
                if (!row.IsNull("CreateDate"))
                {
                    row["CreateDate"] = ((DateTime)row["CreateDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("ModifyDate"))
                {
                    row["ModifyDate"] = ((DateTime)row["ModifyDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("IncomeDate"))
                {
                    row["IncomeDate"] = ((DateTime)row["IncomeDate"]).ToString().Substring(0, 10);
                }
                if (!row.IsNull("ConfirmDate"))
                {
                    if (row["ConfirmStatus"].ToString() == "1")
                    {
                        row["ConfirmDate"] = ((DateTime)row["ConfirmDate"]).ToString().Substring(0, 10);
                    }
                    else
                    {
                        row["ConfirmDate"] = DBNull.Value;
                    }
                }
                if (!row.IsNull("ConfirmedSOSysNoList"))
                {
                    row["ConfirmedSOSysNoList"] = row["ConfirmedSOSysNoList"].ToString().TrimEnd('.');
                }

                if (row["HandleStatus"].ToString() == "1")
                {
                    row["HandleStatusDesc"] = PostIncomeHandleStatus.Handled.ToDisplayText();
                }
                else
                {
                    if (row["ConfirmStatus"].ToString() == "1")
                    {
                        row["HandleStatusDesc"] = PostIncomeHandleStatusUI.UnHandled.ToDisplayText();
                    }
                    else
                    {
                        row["HandleStatusDesc"] = PostIncomeHandleStatusUI.UnConfirmed.ToDisplayText();
                    }
                }
            }
            return(new QueryResult()
            {
                Data = dataTable
                ,
                TotalCount = totalCount
            });
        }
Ejemplo n.º 5
0
        public DataTable Query(PostIncomeQueryFilter query, out int totalCount)
        {
            DataTable        result     = null;
            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            if (query.PagingInfo != null)
            {
                MapSortField(query.PagingInfo);

                pagingInfo.MaximumRows   = query.PagingInfo.PageSize;
                pagingInfo.StartRowIndex = query.PagingInfo.PageIndex * query.PagingInfo.PageSize;
                pagingInfo.SortField     = query.PagingInfo.SortBy;
            }
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryPostIncomeList");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       dataCommand.CommandText, dataCommand, pagingInfo, "a.SysNo desc"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SOSysNo",
                                                             DbType.Int32, "@SOSysNo", QueryConditionOperatorType.Equal, query.SOSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.IncomeAmt",
                                                             DbType.Decimal, "@IncomeAmt", QueryConditionOperatorType.Equal, query.IncomeAmt);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateDate",
                                                             DbType.Date, "@CreateDateFrom", QueryConditionOperatorType.MoreThanOrEqual, query.CreateDateFrom);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateDate",
                                                             DbType.Date, "@CreateDateTo", QueryConditionOperatorType.LessThan, query.CreateDateTo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.IncomeDate",
                                                             DbType.Date, "@IncomeDateFrom", QueryConditionOperatorType.MoreThanOrEqual, query.IncomeDateFrom);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.IncomeDate",
                                                             DbType.Date, "@IncomeDateTo", QueryConditionOperatorType.LessThan, query.IncomeDateTo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.PayBank",
                                                             DbType.String, "@PayBank", QueryConditionOperatorType.Like, query.PayBank);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.IncomeBank",
                                                             DbType.String, "@IncomeBank", QueryConditionOperatorType.Like, query.IncomeBank);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.DisplayName",
                                                             DbType.String, "@CreateUser", QueryConditionOperatorType.Like, query.CreateUser);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "e.DisplayName",
                                                             DbType.String, "@AuditUser", QueryConditionOperatorType.Like, query.AuditUser);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.PayUser",
                                                             DbType.String, "@PayUser", QueryConditionOperatorType.Like, query.PayUser);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CompanyCode",
                                                             DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, query.CompanyCode);

                if (!string.IsNullOrEmpty(query.ConfirmedSOSysNoList))
                {
                    sqlBuilder.ConditionConstructor.AddSubQueryCondition(QueryConditionRelationType.AND, "a.SysNo",
                                                                         QueryConditionOperatorType.In, string.Format(@"SELECT a.PostIncomeSysNo FROM
                    [OverseaInvoiceReceiptManagement].[dbo].[PostIncomeConfirm] a WITH(NOLOCK)
                    WHERE a.ConfirmedSoSysNo IN ({0}) AND a.Status <> 'C'"    , query.ConfirmedSOSysNoList.Replace('.', ',')));
                }
                if (query.HandleStatus != null)
                {
                    switch (query.HandleStatus.Value)
                    {
                    case PostIncomeHandleStatusUI.UnConfirmed:
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ConfirmStatus",
                                                                     DbType.Int32, "@ConfirmStatus", QueryConditionOperatorType.NotEqual, PostIncomeStatus.Confirmed);
                        break;

                    case PostIncomeHandleStatusUI.UnHandled:
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.HandleStatus",
                                                                     DbType.Int32, "@HandleStatus", QueryConditionOperatorType.Equal, PostIncomeHandleStatus.WaitingHandle);
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ConfirmStatus",
                                                                     DbType.Int32, "@ConfirmStatus", QueryConditionOperatorType.Equal, PostIncomeStatus.Confirmed);
                        break;

                    case PostIncomeHandleStatusUI.Handled:
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.HandleStatus",
                                                                     DbType.Int32, "@HandleStatus", QueryConditionOperatorType.Equal, PostIncomeHandleStatus.Handled);
                        break;

                    default:
                        break;
                    }
                }
                dataCommand.CommandText = sqlBuilder.BuildQuerySql();

                EnumColumnList enumColumns = new EnumColumnList();
                enumColumns.Add("HandleStatus", typeof(PostIncomeHandleStatus));
                enumColumns.Add("ConfirmStatus", typeof(PostIncomeStatus));

                result     = dataCommand.ExecuteDataTable(enumColumns);
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
            }
            return(result);
        }