public string[] GetCurrencyList(string prefixText, int count, string contextKey)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            // AutoCompleteParameter is a ValueObject DTO that used in AutoComplete only
            CurrencyAutoCompleteParameter parameter = serializer.Deserialize <CurrencyAutoCompleteParameter>(contextKey);

            // Retreive Query Object from Spring
            IDbCurrencyQuery dbCurrencyQuery = (IDbCurrencyQuery)ContextRegistry.GetContext().GetObject("DbCurrencyQuery");

            IList <VOUCurrencySetup> currencyList = dbCurrencyQuery.GetCurrencyListItem(prefixText, parameter);

            List <string> items = new List <string>();

            foreach (VOUCurrencySetup c in currencyList)
            {
                CurrencyAutoCompleteParameter currency = new CurrencyAutoCompleteParameter();
                currency.CurrencyID = c.CurrencyID.Value;
                currency.Symbol     = c.Symbol;
                currency.Desc       = c.Description;
                string item = AutoCompleteExtender.CreateAutoCompleteItem(String.Format("[{0}]-{1}", c.Symbol, c.Description), serializer.Serialize(currency));
                items.Add(item);
            }

            return(items.ToArray());
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            ctlCurrencyTextAutoComplete.BehaviorID = String.Format("CurrencyAutoCompleteEx{0}", ctlCurrency.ClientID);
            SetAutoCompleteEvent();

            CurrencyAutoCompleteParameter parameter = new CurrencyAutoCompleteParameter();

            parameter.LanguageID  = UserAccount.CurrentLanguageID;
            parameter.IsExpense   = IsExpense;
            parameter.IsAdvanceFR = IsAdvanceFR;

            JavaScriptSerializer serializer = new JavaScriptSerializer();

            ctlCurrencyTextAutoComplete.ContextKey    = serializer.Serialize(parameter);
            ctlCurrencyTextAutoComplete.UseContextKey = true;
        }
Beispiel #3
0
        public IList <VOUCurrencySetup> GetCurrencyListItem(string prefix, CurrencyAutoCompleteParameter param)
        {
            StringBuilder         sqlBuilder            = new StringBuilder();
            QueryParameterBuilder queryParameterBuilder = new QueryParameterBuilder();

            sqlBuilder.Append(" select DbCurrency.Symbol as Symbol, DbCurrencyLang.Description as Description ");
            sqlBuilder.Append(" ,DbCurrency.CurrencyID as CurrencyID ");
            sqlBuilder.Append(" from DbCurrency ");
            sqlBuilder.Append(" inner join DbCurrencyLang ");
            sqlBuilder.Append(" on DbCurrency.CurrencyID = DbCurrencyLang.CurrencyID ");
            sqlBuilder.Append(" and LanguageID = :languageID ");
            sqlBuilder.Append(" Where DbCurrency.Active = 1 AND DbCurrencyLang.Active = 1  ");   //เพิ่มเพื่อเอา Currency ที่มี Status เป็น True ครับ

            if (!string.IsNullOrEmpty(prefix))
            {
                sqlBuilder.Append(" and DbCurrency.Symbol like :Prefix ");
                queryParameterBuilder.AddParameterData("Prefix", typeof(string), String.Format("%{0}%", prefix));
            }
            if (!param.IsExpense)
            {
                sqlBuilder.Append(" and DbCurrency.Comment = '*' ");
            }
            if (param.IsAdvanceFR)
            {
                sqlBuilder.Append("and DbCurrency.Symbol not in ('THB')");
            }

            sqlBuilder.Append(" order by DbCurrency.Symbol ");
            ISQLQuery query = GetCurrentSession().CreateSQLQuery(sqlBuilder.ToString());

            queryParameterBuilder.AddParameterData("languageID", typeof(short), param.LanguageID);
            queryParameterBuilder.FillParameters(query);
            query.AddScalar("Symbol", NHibernateUtil.String)
            .AddScalar("Description", NHibernateUtil.String)
            .AddScalar("CurrencyID", NHibernateUtil.Int16);

            return(query.SetResultTransformer(Transformers.AliasToBean(typeof(VOUCurrencySetup))).List <VOUCurrencySetup>());
        }