public List<Procurementcontract> RetrieveProcurementcontractsPaging(ProcurementcontractSearch info,int pageIndex, int pageSize,out int count)
 {
     return Management.RetrieveProcurementcontractsPaging(info,pageIndex,pageSize,out count);
 }
        public List<Procurementcontract> RetrieveProcurementcontractsPaging(ProcurementcontractSearch info,int pageIndex, int pageSize,out int count)
        {
            try
            {
                StringBuilder sqlCommand = new StringBuilder(@" SELECT ""PROCUREMENTCONTRACT"".""CONTRACTID"",""PROCUREMENTCONTRACT"".""CONTENT"",""PROCUREMENTCONTRACT"".""CREATEDDATE"",
                 ""PROCUREMENTCONTRACT"".""CONTRACTDATE"",""PROCUREMENTCONTRACT"".""SUPPLIER"",""SUPPLIERNAME"",
                     ""PROCUREMENTCONTRACT"".""OPERATOR"",""PROCUREMENTCONTRACT"".""SUBCOMPANY""
                    ,""PROCUREMENTCONTRACT"".""CREATOR"",""PROCUREMENTCONTRACT"".""PSID""
                    ,""SUBCOMPANYINFO"".""SUBCOMPANYNAME""
                     FROM ""PROCUREMENTCONTRACT"" ,""ASSETSUPPLIER"",SUBCOMPANYINFO
                     WHERE PROCUREMENTCONTRACT.SUPPLIER=ASSETSUPPLIER.SUPPLIERID
                     AND SUBCOMPANYINFO.SUBCOMPANYID=PROCUREMENTCONTRACT.SUBCOMPANY");
                if (!string.IsNullOrEmpty(info.Contractid))
                {
                    this.Database.AddInParameter(":Contractid",DbType.AnsiString,"%"+info.Contractid+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""CONTRACTID"" LIKE :Contractid");
                }
                if (!string.IsNullOrEmpty(info.Content))
                {
                    this.Database.AddInParameter(":Content", "%"+info.Content+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""CONTENT"" LIKE :Content");
                }
                if (info.StartContractdate.HasValue)
                {
                    this.Database.AddInParameter(":StartContractdate",info.StartContractdate.Value.Date);
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""CONTRACTDATE"" >= :StartContractdate");
                }
                if (info.EndContractdate.HasValue)
                {
                    this.Database.AddInParameter(":EndContractdate",info.EndContractdate.Value.Date.AddDays(1).AddSeconds(-1));
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""CONTRACTDATE"" <= :EndContractdate");
                }
                if (!string.IsNullOrEmpty(info.Supplier))
                {
                    this.Database.AddInParameter(":Supplier", "%"+info.Supplier+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""SUPPLIER"" LIKE :Supplier");
                }
                if (!string.IsNullOrEmpty(info.Operator))
                {
                    this.Database.AddInParameter(":Operator", "%"+info.Operator+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""OPERATOR"" LIKE :Operator");
                }
                if (!string.IsNullOrEmpty(info.Subcompany))
                {
                    this.Database.AddInParameter(":Subcompany",DbType.AnsiString,"%"+info.Subcompany+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""SUBCOMPANY"" LIKE :Subcompany");
                }
                if (!string.IsNullOrEmpty(info.Creator))
                {
                    this.Database.AddInParameter(":Creator", "%"+info.Creator+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""CREATOR"" LIKE :Creator");
                }
                if (!string.IsNullOrEmpty(info.Psid))
                {
                    this.Database.AddInParameter(":Psid",DbType.AnsiString,"%"+info.Psid+"%");
                    sqlCommand.AppendLine(@" AND ""PROCUREMENTCONTRACT"".""PSID"" LIKE :Psid");
                }

                sqlCommand.AppendLine(@"  ORDER BY ""PROCUREMENTCONTRACT"".""CONTRACTID"" DESC");
                return this.ExecuteReaderPaging<Procurementcontract>(sqlCommand.ToString(), pageIndex, pageSize, out count);
            }
            finally
            {
                this.Database.ClearParameter();
            }
        }