Ejemplo n.º 1
0
        /// <summary>
        /// Only support the ComboBox control from WinForm/Visual WebGUI
        /// </summary>
        /// <param name="ddList">the ComboBox control from WinForm/Visual WebGUI</param>
        /// <param name="TextField">e.g. new string[]{"FieldName1", "FieldName2", ...}</param>
        /// <param name="TextFormatString">e.g. "{0} - {1}"</param>
        /// <param name="SwitchLocale">Can be localized, if the FieldName has locale suffix, e.g. '_chs'</param>
        /// <param name="BlankLine">add blank label text to ComboBox or not</param>
        /// <param name="BlankLineText">the blank label text</param>
        /// <param name="ParentFilter">e.g. "ForeignFieldName = 'value'"</param>
        /// <param name="WhereClause">Where Clause for SQL Statement. e.g. "FieldName = 'SomeCondition'"</param>
        /// <param name="OrderBy">Sorting order, string array, e.g. {"FieldName1", "FiledName2"}</param>
        public static void LoadCombo(ref ComboBox ddList, string [] TextField, string TextFormatString, bool SwitchLocale, bool BlankLine, string BlankLineText, string ParentFilter, string WhereClause, string[] OrderBy)
        {
            if (SwitchLocale)
            {
                TextField = GetSwitchLocale(TextField);
            }
            ddList.Items.Clear();

            StaffSecurityCollection source;

            if (OrderBy == null || OrderBy.Length == 0)
            {
                OrderBy = TextField;
            }

            if (WhereClause.Length > 0)
            {
                source = StaffSecurity.LoadCollection(WhereClause, OrderBy, true);
            }
            else
            {
                source = StaffSecurity.LoadCollection(OrderBy, true);
            }

            Common.ComboList sourceList = new Common.ComboList();

            if (BlankLine)
            {
                sourceList.Add(new Common.ComboItem(BlankLineText, Guid.Empty));
            }

            foreach (StaffSecurity item in source)
            {
                bool filter = false;
                if (ParentFilter.Trim() != String.Empty)
                {
                    filter = true;
                    if (item.StaffId != Guid.Empty)
                    {
                        filter = IgnorThis(item, ParentFilter);
                    }
                }
                if (!(filter))
                {
                    string code = GetFormatedText(item, TextField, TextFormatString);
                    sourceList.Add(new Common.ComboItem(code, item.SecurityId));
                }
            }

            ddList.DataSource    = sourceList;
            ddList.DisplayMember = "Code";
            ddList.ValueMember   = "Id";

            if (ddList.Items.Count > 0)
            {
                ddList.SelectedIndex = 0;
            }
        }
Ejemplo n.º 2
0
 private static string GetFormatedText(StaffSecurity target, string [] textField, string textFormatString)
 {
     for (int i = 0; i < textField.Length; i++)
     {
         PropertyInfo pi = target.GetType().GetProperty(textField[i]);
         textFormatString = textFormatString.Replace("{" + i.ToString() + "}", pi != null ? pi.GetValue(target, null).ToString() : string.Empty);
     }
     return(textFormatString);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Loads a collection of StaffSecurity objects from the database.
        /// </summary>
        /// <returns>A collection containing all of the StaffSecurity objects in the database.</returns>
        public static StaffSecurityCollection LoadCollection(string spName, SqlParameter[] parms)
        {
            StaffSecurityCollection result = new StaffSecurityCollection();

            using (SqlDataReader reader = SqlHelper.Default.ExecuteReader(spName, parms))
            {
                while (reader.Read())
                {
                    StaffSecurity tmp = new StaffSecurity();
                    tmp.LoadFromReader(reader);
                    result.Add(tmp);
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Loads a StaffSecurity object from the database using the given where clause
 /// </summary>
 /// <param name="whereClause">The filter expression for the query</param>
 /// <returns>A StaffSecurity object</returns>
 public static StaffSecurity LoadWhere(string whereClause)
 {
     SqlParameter[] parameterValues = new SqlParameter[] { new SqlParameter("@WhereClause", whereClause) };
     using (SqlDataReader reader = SqlHelper.Default.ExecuteReader("spStaffSecurity_SelAll", parameterValues))
     {
         if (reader.Read())
         {
             StaffSecurity result = new StaffSecurity();
             result.LoadFromReader(reader);
             return(result);
         }
         else
         {
             return(null);
         }
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Loads a StaffSecurity object from the database using the given SecurityId
 /// </summary>
 /// <param name="securityId">The primary key value</param>
 /// <returns>A StaffSecurity object</returns>
 public static StaffSecurity Load(Guid securityId)
 {
     SqlParameter[] parameterValues = new SqlParameter[] { new SqlParameter("@SecurityId", securityId) };
     using (SqlDataReader reader = SqlHelper.Default.ExecuteReader("spStaffSecurity_SelRec", parameterValues))
     {
         if (reader.Read())
         {
             StaffSecurity result = new StaffSecurity();
             result.LoadFromReader(reader);
             return(result);
         }
         else
         {
             return(null);
         }
     }
 }
Ejemplo n.º 6
0
        private static bool IgnorThis(StaffSecurity target, string parentFilter)
        {
            bool result = true;

            parentFilter = parentFilter.Replace(" ", "");                       // remove spaces
            parentFilter = parentFilter.Replace("'", "");                       // remove '
            string [] parsed = parentFilter.Split('=');                         // parse

            if (target.StaffId == Guid.Empty)
            {
                PropertyInfo pi          = target.GetType().GetProperty(parsed[0]);
                string       filterField = (string)pi.GetValue(target, null);
                if (filterField.ToLower() == parsed[1].ToLower())
                {
                    result = false;
                }
            }
            else
            {
                StaffSecurity parentTemplate = StaffSecurity.Load(target.StaffId);
                result = IgnorThis(parentTemplate, parentFilter);
            }
            return(result);
        }