Ejemplo n.º 1
0
        protected void OverrideLookupCodes()
        {
            if (!String.IsNullOrEmpty(this.LookupCodes))
            {
                char[]   splitchar1 = { ',' };
                string[] lkpCodeArr = this.LookupCodes.Split(splitchar1);

                List <ICaisisInputControl> cicList = PageUtil.GetCaisisInputControlsInContainer(this);

                foreach (ICaisisInputControl con in cicList)
                {
                    if (con is ICaisisLookupControl)
                    {
                        foreach (string s in lkpCodeArr)
                        {
                            // [0] is TableName, [1] is FieldName, [2] is LookupCodeName: i.e. Procedures.ProcName.ProcName
                            char[]   splitchar2 = { '.' };
                            string[] parsed     = s.Trim().Split(splitchar2);

                            if (parsed.Length > 2 && parsed[0].Equals(con.Table) && parsed[1].Equals(con.Field))
                            {
                                ICaisisLookupControl lkpControl = (ICaisisLookupControl)con;
                                lkpControl.LookupCode = parsed[2];
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void CustomizeControl(ICaisisInputControl control, string tablename, string fieldname)
        {
            if (Caisis.BOL.BusinessObject.HasLabel(tablename, fieldname))
            {
                string label = Caisis.BOL.BusinessObject.GetLabel(tablename, fieldname);

                if (string.IsNullOrEmpty(label) && !fieldname.Contains("Date"))
                {
                    control.FieldLabel = fieldname;
                }
                else
                {
                    control.FieldLabel = Caisis.BOL.BusinessObject.GetLabel(tablename, fieldname);
                }
            }

            // description
            if (Caisis.BOL.BusinessObject.HasDescription(tablename, fieldname))
            {
                control.HelpDescription = Caisis.BOL.BusinessObject.GetDescription(tablename, fieldname);
            }

            // required
            control.Required = Caisis.BOL.BusinessObject.IsRequired(tablename, fieldname);

            Action <string, Action <string> > setProp =
                (att, setter) =>
            {
                if (Caisis.BOL.BusinessObject.HasMetadataFieldAttribute(tablename, fieldname, att))
                {
                    setter(Caisis.BOL.BusinessObject.GetMetadataFieldAttribute(tablename, fieldname, att));
                }
            };

            // javascript
            Action <string, string> handleJs =
                (att, eventName) =>
            {
                setProp(att, s => CICHelper.HandleJsEventAttribute(control as WebControl, eventName, s));
            };

            if (control is WebControl)
            {
                handleJs("jsOnBlur", "onblur");
                handleJs("jsOnClick", "onclick");
                handleJs("jsOnSelectedIndexChanged", "onselectedindexchanged");
                setProp("FieldWidth", s => (control as WebControl).Style.Add("width", s + "px"));
            }

            // lookup controls
            if (control is ICaisisLookupControl)
            {
                ICaisisLookupControl c = control as ICaisisLookupControl;

                setProp("LookupDistinct", s => c.LookupDistinct             = s);
                setProp("LookupCode", s => c.LookupCode                     = s);
                setProp("CascadeValuesBasedOn", s => c.CascadeValuesBasedOn = s);
                setProp("CascadeFormatString", s => c.CascadeFormatString   = s);
            }

            // text box MaxLength
            if (control is TextBox)
            {
                setProp("MaxLength",
                        s =>
                {
                    int maxLength = 0;
                    if (int.TryParse(s, out maxLength))
                    {
                        (control as TextBox).MaxLength = maxLength;
                    }
                });
            }

            Func <string, bool> isSet =
                s =>
            {
                string val = "";
                bool   parsed;
                setProp(s, x => val = x);
                return(bool.TryParse(val, out parsed) && parsed);
            };

            // CaisisTextBox
            if (control is CaisisTextBox)
            {
                CaisisTextBox tb = control as CaisisTextBox;

                tb.ShowCalendar   = isSet("ShowCalendar");
                tb.CalcDate       = isSet("CalcDate");
                tb.ShowNumberPad  = isSet("ShowNumberPad");
                tb.ReadOnly       = isSet("ReadOnly");
                tb.ShowTextEditor = isSet("ShowTextEditor");
                tb.ShowICDWizard  = isSet("ShowICDWizard");
            }

            // CaisisTextArea
            if (control is CaisisTextArea)
            {
                (control as CaisisTextArea).ShowTextEditor = isSet("ShowTextEditor");
            }

            // CaisisHidden
            if (control is CaisisHidden)
            {
                CaisisHidden h = control as CaisisHidden;

                h.DisplayCalculatedDate = isSet("DisplayCalculatedDate");
                h.DisplayHiddenValue    = isSet("DisplayHiddenValue");
                h.ShowICDWizard         = isSet("ShowICDWizard");
            }
        }