예제 #1
0
        public static void LoadCombo(ref ComboBox ddList, string TextField, bool SwitchLocale, bool BlankLine, string BlankLineText, string ParentFilter, string WhereClause, string[] OrderBy)
        {
            string[] textField = { TextField };
            //LoadCombo(ref ddList, textField, "{0}", SwitchLocale, BlankLine, BlankLineText, ParentFilter, WhereClause, OrderBy);

            ddList.DataSource = null;
            ddList.Items.Clear();

            #region 轉換 orderby:方便 SQL Server 做 sorting,中文字排序可參考:https://dotblogs.com.tw/jamesfu/2013/06/04/collation
            //if (SwitchLocale && TextField[0] == OrderBy[0] && OrderBy.Length == 1)
            if (SwitchLocale && TextField == OrderBy[0] && OrderBy.Length == 1)
            {
                OrderBy[0] = CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage2.Key ?
                             "TxNumber" :
                             CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage1.Key ?
                             "TxNumber" :
                             "TxNumber";
            }
            var orderby = String.Join(",", OrderBy.Select(x => "[" + x + "]"));
            #endregion

            using (var ctx = new RT2020.EF6.RT2020Entities())
            {
                var list = ctx.StocktakeHeader_HHT.SqlQuery(
                    String.Format(
                        "Select * from StocktakeHeader_HHT Where {0} Order By {1}",
                        String.IsNullOrEmpty(WhereClause) ? "1 = 1" : WhereClause,
                        orderby
                        ))
                           .AsNoTracking()
                           .ToList();

                #region BlankLine? 加個 blank item,置頂
                if (BlankLine)
                {
                    list.Insert(0, new EF6.StocktakeHeader_HHT()
                    {
                        HeaderId = Guid.Empty,
                        TxNumber = BlankLineText,
                        HHTId    = "",
                    });
                }
                #endregion

                ddList.DataSource    = list;
                ddList.ValueMember   = "HeaderId";
                ddList.DisplayMember = !SwitchLocale ? TextField :
                                       CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage2.Key ?
                                       "TxNumber" : CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage1.Key ?
                                       "TxNumber" :
                                       "TxNumber";
            }
            if (ddList.Items.Count > 0)
            {
                ddList.SelectedIndex = 0;
            }
        }
예제 #2
0
        private void FillShopList()
        {
            string sql = "NatureId  IN (SELECT NatureId FROM WorkplaceNature WHERE NatureCode='3')";

            using (var ctx = new RT2020.EF6.RT2020Entities())
            {
                var list = ctx.Workplace.SqlQuery(
                    string.Format("Select * from Workplace Where {0} Order By WorkplaceCode", sql))
                           .AsNoTracking()
                           .ToList();

                foreach (var wp in list)
                {
                    ListViewItem listItem = this.lvShopList.Items.Add(wp.WorkplaceId.ToString());
                    listItem.SubItems.Add(wp.WorkplaceCode);
                    listItem.SubItems.Add(string.Empty);
                }
            }
        }
        private void FillShopList()
        {
            using (var ctx = new RT2020.EF6.RT2020Entities())
            {
                var list = ctx.Workplace
                           .SqlQuery("Select * from Workplace Where NatureId IN (SELECT NatureId FROM WorkplaceNature WHERE NatureCode='3') Order By WorkplaceCode")
                           .AsNoTracking()
                           .ToList();

                //string sql = "NatureId  IN (SELECT NatureId FROM WorkplaceNature WHERE NatureCode='3')";
                //WorkplaceCollection wpList = RT2020.DAL.Workplace.LoadCollection(sql, new string[] { "WorkplaceCode" }, true);
                foreach (var wp in list)
                {
                    ListViewItem listItem = this.lvShopList.Items.Add(wp.WorkplaceId.ToString());
                    listItem.SubItems.Add(wp.WorkplaceCode);
                    listItem.SubItems.Add(string.Empty);
                }
            }
        }
예제 #4
0
        private void FillClass1List()
        {
            using (var ctx = new RT2020.EF6.RT2020Entities())
            {
                var Class1List = ctx.ProductClass1.OrderBy(x => x.Class1Code).AsNoTracking().ToList();
                foreach (var Class1 in Class1List)
                {
                    ListViewItem listItem = lvVendorList.Items.Add(Class1.Class1Id.ToString());
                    if (Class1.Class1Code.Length >= 3)
                    {
                        listItem.SubItems.Add(Class1.Class1Code.Substring(0, 3));
                    }
                    else if (Class1.Class1Code.Length > 0 && Class1.Class1Code.Length < 3)
                    {
                        listItem.SubItems.Add(Class1.Class1Code);
                    }

                    listItem.SubItems.Add(string.Empty);
                }
            }
        }
예제 #5
0
        public static void LoadCombo(ref ComboBox ddList, string[] TextField, string TextFormatString, bool SwitchLocale, bool BlankLine, string BlankLineText, string WhereClause, string[] OrderBy)
        {
            //    LoadCombo(ref ddList, TextField, TextFormatString, SwitchLocale, BlankLine, BlankLineText, string.Empty, WhereClause, OrderBy);
            //}

            //public static void LoadCombo(ref ComboBox ddList, string[] TextField, string TextFormatString, bool SwitchLocale, bool BlankLine, string BlankLineText, string ParentFilter, string WhereClause, string[] OrderBy)
            //{
            ddList.DataSource = null;
            ddList.Items.Clear();

            #region 轉換 orderby:方便 SQL Server 做 sorting,中文字排序可參考:https://dotblogs.com.tw/jamesfu/2013/06/04/collation
            if (SwitchLocale && OrderBy.Length > 0)
            {
                for (int i = 0; i < TextField.Length; i++)
                {
                    if (TextField[i] == "TxNumber")
                    {
                        OrderBy[i] = CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage2.Key ?
                                     "TxNumber" : CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage1.Key ?
                                     "TxNumber" :
                                     "TxNumber";
                    }
                }
            }
            var orderby = String.Join(",", OrderBy.Select(x => "[" + x + "]"));
            #endregion

            #region 轉換 TextField language
            if (SwitchLocale && OrderBy.Length > 0)
            {
                for (int i = 0; i < OrderBy.Length; i++)
                {
                    if (OrderBy[i] == "TxNumber")
                    {
                        OrderBy[i] = CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage2.Key ?
                                     "TxNumber" : CookieHelper.CurrentLocaleId == LanguageHelper.AlternateLanguage1.Key ?
                                     "TxNumber" :
                                     "TxNumber";
                    }
                }
            }
            var textField = String.Join(",", TextField.Select(x => "[" + x + "]"));
            #endregion

            using (var ctx = new RT2020.EF6.RT2020Entities())
            {
                var list = ctx.StocktakeHeader_HHT.SqlQuery(
                    String.Format(
                        "Select * from StocktakeHeader_HHT Where {0} Order By {1}",
                        String.IsNullOrEmpty(WhereClause) ? "1 = 1" : WhereClause,
                        orderby
                        ))
                           .AsNoTracking()
                           .ToList();

                #region BlankLine? 加個 blank item,置頂
                if (BlankLine)
                {
                    list.Insert(0, new EF6.StocktakeHeader_HHT()
                    {
                        HeaderId = Guid.Empty,
                        TxNumber = BlankLineText,
                        HHTId    = "",
                    });
                }
                #endregion

                Dictionary <Guid, string> data = new Dictionary <Guid, string>();
                foreach (var item in list)
                {
                    var text = GetFormatedText(item, TextField, TextFormatString);
                    data.Add(item.HeaderId, text);
                }

                ddList.DataSource    = data;
                ddList.ValueMember   = "Value";
                ddList.DisplayMember = "Key";
            }
            if (ddList.Items.Count > 0)
            {
                ddList.SelectedIndex = 0;
            }
        }