예제 #1
0
        public ISQLQuery FindByReceiptTypeCriteria(FnReceiptTypeResult receiptType, string sortExpression, bool isCount, short languageId)
        {
            StringBuilder sqlBuilder = new StringBuilder();

            if (!isCount)
            {
                sqlBuilder.Append("select r.ReceiptTypeID as ReceiptTypeID,r.ReceiptTypeCode as ReceiptTypeCode,r.RecFlag as RecFlag,a.AccID as AccID,a.AccNo as AccNo,al.AccountName as AccName,r.Active as Active ");
                sqlBuilder.Append("from FnReceiptType as r ");
                sqlBuilder.Append("left join FnReceiptTypeLang as rl on r.ReceiptTypeID = rl.ReceiptTypeID and rl.LanguageID =:LanguageID ");
                sqlBuilder.Append("left join GlAccount as a on a.AccID = r.AccID ");
                sqlBuilder.Append("left join GlAccountLang as al on a.AccID = al.AccID and al.LanguageID =:LanguageID ");
                if (string.IsNullOrEmpty(sortExpression))
                {
                    sqlBuilder.AppendLine("ORDER BY ReceiptTypeID,ReceiptTypeCode,RecFlag,AccNo,AccName,Active");
                }
                else
                {
                    sqlBuilder.AppendLine(string.Format(" ORDER BY {0}", sortExpression));
                }
            }
            else
            {
                sqlBuilder.Append("select count(r.ReceiptTypeID) as ReceiptTypeCount from FnReceiptType r ");
            }

            ISQLQuery query;

            if (!isCount)
            {
                query = GetCurrentSession().CreateSQLQuery(sqlBuilder.ToString());
                QueryParameterBuilder queryParameterBuilder = new QueryParameterBuilder();
                queryParameterBuilder.AddParameterData("LanguageID", typeof(Int16), languageId);
                queryParameterBuilder.FillParameters(query);
                query.AddScalar("ReceiptTypeID", NHibernateUtil.Int16);
                query.AddScalar("AccID", NHibernateUtil.Int16);
                query.AddScalar("ReceiptTypeCode", NHibernateUtil.String);
                query.AddScalar("RecFlag", NHibernateUtil.String);
                query.AddScalar("AccNo", NHibernateUtil.String);
                query.AddScalar("AccName", NHibernateUtil.String);
                query.AddScalar("Active", NHibernateUtil.Boolean);


                query.SetResultTransformer(Transformers.AliasToBean(typeof(FnReceiptTypeResult)));

                //IList<SS.SU.DTO.ValueObject.RoleLang> list = query.SetResultTransformer(Transformers.AliasToBean(typeof(SS.SU.DTO.ValueObject.RoleLang)))
                //    .List<SS.SU.DTO.ValueObject.RoleLang>();
            }
            else
            {
                query = GetCurrentSession().CreateSQLQuery(sqlBuilder.ToString());
                query.AddScalar("ReceiptTypeCount", NHibernateUtil.Int32);
                query.UniqueResult();
            }
            return(query);
        }
예제 #2
0
 public int CountByReceiptTypeCriteria(FnReceiptTypeResult receiptType)
 {
     return(NHibernateQueryHelper.CountByCriteria(FnQueryProvider.FnReceiptTypeQuery, "FindByReceiptTypeCriteria", new object[] { receiptType, string.Empty, true, Convert.ToInt16(0) }));
 }
예제 #3
0
 public IList <FnReceiptTypeResult> GetReceiptTypeList(FnReceiptTypeResult receiptType, short languageId, int firstResult, int maxResult, string sortExpression)
 {
     return(NHibernateQueryHelper.FindPagingByCriteria <FnReceiptTypeResult>(FnQueryProvider.FnReceiptTypeQuery, "FindByReceiptTypeCriteria", new object[] { receiptType, sortExpression, false, languageId }, firstResult, maxResult, sortExpression));
 }