예제 #1
0
 public static void SetContextId(EbControlContainer FormObj, string contextId)
 {
     try
     {
         FormObj.ContextId = contextId;
         foreach (EbControl control in FormObj.Controls)
         {
             if (control is EbControlContainer)
             {
                 EbControlContainer.SetContextId(control as EbControlContainer, contextId);
             }
             else
             {
                 control.ContextId = contextId;
             }
         }
     }
     catch (Exception e)
     {
         if (FormObj == null)
         {
             throw new NullReferenceException();
         }
         else
         {
             throw e;
         }
     }
 }
예제 #2
0
        //Get all proprty value which
        public static string[] GetKeys(object formObj)
        {
            EbControlContainer _formObj = formObj as EbControlContainer;
            List <string>      templist = new List <string>();

            EbControl[] controls = _formObj.Controls.FlattenAllEbControls();// get all objects in the form

            foreach (EbControl control in controls)
            {
                PropertyInfo[] props = control.GetType().GetProperties();
                foreach (PropertyInfo prop in props)
                {
                    if (prop.IsDefined(typeof(PropertyEditor)) && prop.GetCustomAttribute <PropertyEditor>().PropertyEditorType == (int)PropertyEditorType.MultiLanguageKeySelector)
                    {
                        string val = control.GetType().GetProperty(prop.Name).GetValue(control, null) as String;
                        if (!val.IsNullOrEmpty() && !templist.Contains(val))
                        {
                            templist.Add(val);
                        }
                        ;
                    }
                }
            }
            return(templist.ToArray());
        }
예제 #3
0
 private void GetCtrlNamesOfTableRec(string tableName, ref string cols)
 {
     foreach (EbControl control in Controls)
     {
         if (control is EbControlContainer)
         {
             EbControlContainer Cont = control as EbControlContainer;
             Cont.TableName = Cont.TableName.IsNullOrEmpty() ? TableName : Cont.TableName;
             if (Cont.TableName == tableName)
             {
                 string _1stLvlColNames = Cont.Get1stLvlColNames();
                 if (!_1stLvlColNames.IsNullOrEmpty())
                 {
                     cols += string.Concat(_1stLvlColNames, ", ");
                 }
             }
             Cont.GetCtrlNamesOfTableRec(tableName, ref cols);
         }
     }
 }
예제 #4
0
        //foreach (EbControl control in Controls)
        //{
        //    if (control is EbControlContainer)
        //    {
        //        EbControlContainer Cont = control as EbControlContainer;
        //        if (Cont.TableName.IsNullOrEmpty()|| Cont.TableName.Trim() == string.Empty)
        //        {
        //            Cont.TableName = TableName;
        //        }
        //    }
        //}

        //public virtual string GetSelectQuery(string _parentTblName)
        //{
        //	string ColoumsStr = Get1stLvlColNames();
        //	string qry = string.Empty;
        //	if (ColoumsStr.Length > 0)
        //	{
        //		if (TableName == _parentTblName)
        //			qry = string.Format("SELECT id, {0} FROM {1} WHERE {3} = {2};", ColoumsStr, TableName, TableRowId, "id");
        //		else
        //			qry = string.Format("SELECT id, {0} FROM {1} WHERE {3}={2};", ColoumsStr, TableName, TableRowId, _parentTblName + "_id");

        //	}

        //	foreach (EbControl control in Controls)
        //	{
        //		if (control is EbControlContainer)
        //		{
        //			EbControlContainer _control = (control as EbControlContainer);
        //			if (_control.TableName.IsNullOrEmpty())
        //			{
        //				_control.TableName = TableName;
        //			}
        //			//_control.TableName = _control.TableName.IsNullOrEmpty() ? TableName : _control.TableName;
        //			_control.TableRowId = (_control.TableRowId == 0) ? TableRowId : _control.TableRowId;
        //			qry += _control.GetSelectQuery(_parentTblName);
        //		}
        //	}
        //	return qry;
        //}

        public static string GetControlOpsJS(EbControlContainer ebControlContainer, BuilderType FormTypeEnum)
        {
            string JSCode = "var ControlOps = {}";

            Type[] _typeArray = (ebControlContainer.GetType().GetTypeInfo().Assembly.GetTypes());
            Dictionary <string, string> DictControlOps = new Dictionary <string, string>();

            foreach (Type ctrlType in _typeArray)
            {
                try
                {
                    TypeInfo _typeInfo       = ctrlType.GetTypeInfo();
                    var      _enableInBuider = _typeInfo.GetCustomAttribute <EnableInBuilder>();
                    string   TypeName        = ctrlType.Name.Substring(2, ctrlType.Name.Length - 2);

                    if (_enableInBuider != null && _enableInBuider.BuilderTypes.Contains(FormTypeEnum))
                    {
                        object ctrlObj = Activator.CreateInstance(ctrlType);
                        if (
                            //(!_typeInfo.IsDefined(typeof(HideInToolBox))) && // temp
                            ctrlObj is EbControl)
                        {
                            if (!DictControlOps.ContainsKey(TypeName))
                            {
                                EbControl _ctrlObj = (ctrlObj as EbControl);
                                string    opFnsJs  = string.Empty;
                                opFnsJs += GetOpFnJs("getValue", _ctrlObj.GetValueJSfn, TypeName);
                                opFnsJs += GetOpFnJs("getValueFromDOM", _ctrlObj.GetValueFromDOMJSfn, TypeName);
                                opFnsJs += GetOpFnJs("getDisplayMember", _ctrlObj.GetDisplayMemberJSfn, TypeName);
                                opFnsJs += GetOpFnJs("getDisplayMemberFromDOM", _ctrlObj.GetDisplayMemberFromDOMJSfn, TypeName);
                                opFnsJs += GetOpFnJs("isRequiredOK", _ctrlObj.IsRequiredOKJSfn, TypeName);
                                opFnsJs += GetOpFnJs("isEmpty", _ctrlObj.IsEmptyJSfn, TypeName);
                                opFnsJs += GetOpFnJs("setValue", _ctrlObj.SetValueJSfn, TypeName);
                                opFnsJs += GetOpFnJs("setDisplayMember", _ctrlObj.SetDisplayMemberJSfn, TypeName);
                                opFnsJs += GetOpFnJs("justSetValue", _ctrlObj.JustSetValueJSfn, TypeName);
                                opFnsJs += GetOpFnJs("hide", _ctrlObj.HideJSfn, TypeName);
                                opFnsJs += GetOpFnJs("show", _ctrlObj.ShowJSfn, TypeName);
                                opFnsJs += GetOpFnJs("enable", _ctrlObj.EnableJSfn, TypeName);
                                opFnsJs += GetOpFnJs("disable", _ctrlObj.DisableJSfn, TypeName);
                                opFnsJs += GetOpFnJs("reset", _ctrlObj.ResetJSfn, TypeName);
                                opFnsJs += GetOpFnJs("refresh", _ctrlObj.RefreshJSfn, TypeName);
                                opFnsJs += GetOpFnJs("clear", _ctrlObj.ClearJSfn, TypeName);
                                opFnsJs += GetOpFnJs("addInvalidStyle", _ctrlObj.AddInvalidStyleJSFn, TypeName);
                                opFnsJs += GetOpFnJs("removeInvalidStyle", _ctrlObj.RemoveInvalidStyleJSFn, TypeName);
                                opFnsJs += GetOpFnJs("bindOnChange", _ctrlObj.OnChangeBindJSFn, TypeName);

                                if (_ctrlObj.ObjType == "DGPowerSelectColumn")
                                {
                                    opFnsJs += GetOpFnJs("getColumn", _ctrlObj.GetColumnJSfn, TypeName);
                                }

                                string fn = string.Concat("function ", TypeName, "(jsonObj){ $.extend(this, jsonObj);", opFnsJs, "}");//.RemoveCR();

                                JSCode += string.Concat(@"
                                                        ControlOps.", TypeName, " = ", fn);;

                                DictControlOps.Add(TypeName, "fn placeholder");
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return(JSCode);
        }