protected void btnContinue_Click(object sender, EventArgs e)
		{
            Business.TermType termType = (Kindred.Knect.ITAT.Business.TermType)Enum.Parse(typeof(Kindred.Knect.ITAT.Business.TermType), ddlTermType.SelectedValue);

            switch (_termEdit.TermHandler)
            {
                case BaseTermEditPage.TermHandler.BasicTerm:
                    //Note - similar code checks are made at the 'BaseTermEditPage' SetContextDataAndReturn call
                    if (_template.BasicTermExists(txtTermName.Text))
                        RegisterAlert(string.Format("The term name '{0}' is already being used.   You must select a different term name.", txtTermName.Text));

                    //20070810_DEG Bug #131 Add code here to check for 'first quote'
                    char cFirst = '\"';
                    if (_template.BasicTerm_FirstChar_Exists(txtTermName.Text, cFirst))
                        RegisterAlert(string.Format("The term name (up to the first character - ' {0} ')  '{1}' is already being used.   You must select a different term name.", cFirst, Business.Term.NameAtFirstChar(txtTermName.Text, cFirst)));

                    if (_template.ComplexListTermNameInUse(txtTermName.Text, null))
                        RegisterAlert(string.Format("The term name '{0}' is already being used in the Complex List.   You must select a different term name.", txtTermName.Text));

                    if (!Business.Term.ValidName(txtTermName.Text))
                        RegisterAlert(string.Format("\"{0}\" is not a valid term name.", txtTermName.Text));

                    if (this.AlertCount > 0)
                        return;

                    //Check to see if the selected term type is an External Term.
                    if (termType == Business.TermType.External)
                    {
                        Business.ExternalTerm externalTerm = new Business.ExternalTerm(false, _itatSystem.FindExternalInterfaceConfig(ddlTermType.SelectedItem.Text), this.Template as Business.ManagedItem, this.Template, false);   //note: if "this.Template" is a Template and not a ManagedItem, "this.Template as ManagedItem" equals null.
                        externalTerm.Name = txtTermName.Text;
                        externalTerm.TermType = Business.TermType.External;
                        _template.BasicTerms.Add(externalTerm);
                    }
                    else
                    {
                        Business.Term newTerm = Helper.CreateTerm(termType, false, _template.IsManagedItem, _template, false);
                        newTerm.Name = txtTermName.Text;
                        _template.BasicTerms.Add(newTerm);
                    }
                    _template.Refresh();

                    _termEdit.TermIndex = _template.BasicTerms.Count - 1;  //item just added
                    break;

                case BaseTermEditPage.TermHandler.ComplexList:
                    throw new Exception(string.Format("TermHandler '{0}' is not handled", _termEdit.TermHandler.ToString()));

                case BaseTermEditPage.TermHandler.ComplexListField:
                    Business.ComplexList complexList = _template.ComplexLists[_termEdit.TermIndex] as ComplexList;
                    //Trim leading and trailing spaces from the name to assist in locating the name within the rendering text.
                    string fieldName = txtTermName.Text.Trim();
                    if (complexList.FindField(fieldName) != null)
                        RegisterAlert(string.Format("The field name '{0}' is already being used.   You must select a different field name.", txtTermName.Text));

                    if (this.AlertCount > 0)
                        return;

                    Business.ComplexListField complexListField = new ComplexListField(complexList);

                    complexListField.FilterTerm = Helper.CreateTerm(termType, false, _template.IsManagedItem, _template, true);
                    complexListField.Name = fieldName;

                    complexList.Fields.Add(complexListField);
                    complexList.AddFieldToCurrentItems(complexListField.ID, false, complexListField.FilterTerm);
                    _termEdit.ComplexListFieldIndex = complexList.Fields.Count - 1;  //item just added
                    break;

                case BaseTermEditPage.TermHandler.ComplexListItem:
                    throw new Exception(string.Format("TermHandler '{0}' is not handled", _termEdit.TermHandler.ToString()));

            }
            Context.Items[Common.Names._CNTXT_Template] = _template;
            Context.Items[Common.Names._CNTXT_TermEdit] = _termEdit;

            SetTermGroupInContext();
            Server.Transfer(Helper.TemplateTermEditPage(termType));
        }
 protected string GetFieldValue(ComplexListField field)
 {
     string result = "";
     switch (field.FilterTerm.TermType)
     { 
         case TermType.Text:
             result = Request.Form[Helper.ControlID(field.Name, field.FilterTerm.TermType)];
             break;
         case TermType.PickList:
             result = Request.Form[Helper.ControlID(field.Name, field.FilterTerm.TermType)];
             break;
         case TermType.Date:
             result = Request.Form[Helper.ControlID(field.Name, field.FilterTerm.TermType)];
             break;
     }
     return result;
 }
Example #3
0
        internal static Panel CreateDateComplexListFieldControl(ComplexListField field)
        {

            Panel pnl = new Panel();
            pnl.ID = ControlID(field.Name) + "_pnl";

            //write textbox to contain date					
            TextBox txtDate = new TextBox();   //pnl.Controls[0]
            txtDate.Style["width"] = "114px";
            txtDate.Style["height"] = "18px";
            txtDate.Style["padding-top"] = "0";
            txtDate.MaxLength = 12;
            txtDate.ID = ControlID(field.Name);
            txtDate.Attributes["onfocus"] = "javascript:this.select();";
            pnl.Controls.Add(txtDate);

            //write "button" image and click event that will display calendar IFRAME
            Image imgDate = new Image();    //pnl.Controls[1]
            imgDate.Style["cursor"] = "hand";
            imgDate.ID = ControlID(field.Name) + "_img";
            imgDate.ImageUrl = "/Global/bin/Calendar/calendar.gif";
            imgDate.Height = Unit.Parse("19px");
            imgDate.Width = Unit.Parse("34px");
            imgDate.ImageAlign = ImageAlign.Top;
            imgDate.BorderWidth = Unit.Parse("0px");
            imgDate.Attributes["onclick"] = string.Format("window.event.cancelBubble=true; ShowCalendar(document.all.CalFrame, window.frames.CalFrame, null, document.getElementById('{0}'), null, -600, 3600);", txtDate.ClientID);
            pnl.Controls.Add(imgDate);

            return pnl;
        }
Example #4
0
 internal static TextBox CreateTextComplexListFieldControl(ComplexListField field)
 {
     TextBox txt = new TextBox();
     txt.ID = ControlID(field.Name);
     switch (((TextTerm)field.FilterTerm).Format)
     {
         case TextTermFormat.Plain:
             txt.Width = Unit.Percentage(100);
             break;
         case TextTermFormat.Number:
             txt.Width = Unit.Pixel(120);
             break;
         case TextTermFormat.Currency:
             txt.Width = Unit.Pixel(120);
             break;
         case TextTermFormat.SSN:
             txt.Width = Unit.Pixel(120);
             break;
         case TextTermFormat.Phone:
             txt.Width = Unit.Pixel(120);
             break;
         case TextTermFormat.PhonePlusExtension:
             txt.Width = Unit.Pixel(200);
             break;
         default:
             break;
     }
     return txt;
 }
Example #5
0
        internal static Panel CreatePickListComplexListFieldControl(ComplexListField field)
        {
            Panel pnl = new Panel();
            pnl.ID = ControlID(field.Name);
            PickListTerm pickListTerm = (PickListTerm)field.FilterTerm;
            if (pickListTerm.PickListItems.Count == 1)    //1 picklist item: single check box
            {
                CheckBox chk = new CheckBox();
                chk.BorderStyle = BorderStyle.None;
                chk.ID = pnl.ID + "_lst";    // ????
                chk.CssClass = Common.Names._STYLE_CSSCLASS_EDIT;
                chk.Text = pickListTerm.PickListItems[0].Value;
                pnl.Controls.Add(chk);
            }
            else
            {
                if (pickListTerm.MultiSelect ?? false)  // multi-select picklist: MultiSelectGrid control
                {
                    pnl.Height = Unit.Pixel(4 + 20 * Math.Min(4, pickListTerm.PickListItems.Count));
                    pnl.Width = Unit.Percentage(100.0);

                    MultiSelectGrid grd = new MultiSelectGrid();
                    grd.ID = pnl.ID + "_lst";
                    grd.CheckboxColumn = 0;
                    grd.DataSource = pickListTerm.PickListItems;
                    grd.BoundColumns = "Value";
                    //grd.DataKeyNames = new string[] { "Value" };
                    grd.Container = pnl.ID;
                    grd.HeaderContainer = "";
                    grd.AutoGenerateColumns = false;
                    grd.RowHighlighting = false;
                    grd.EnableClickEvent = false;
                    grd.EnableDoubleClickEvent = false;
                    grd.EnableHeaderClick = false;
                    grd.ShowHeader = false;
                    grd.ColumnWidths = "100%";
                    grd.DataBind();
                    pnl.Controls.Add(grd);
                }
                else
                {
                    if (pickListTerm.PickListItems.Count == 2)   //2 item single-select picklist: RadioButtonList
                    {
                        RadioButtonList rdolst = new RadioButtonList();
                        rdolst.ID = pnl.ID + "_lst";
                        rdolst.CellPadding = 0;
                        rdolst.CellSpacing = 0;
                        rdolst.RepeatDirection = RepeatDirection.Vertical;
                        AddListItems(rdolst, pickListTerm.PickListItems);
                        pnl.Controls.Add(rdolst);
                    }
                    else          // 3 or more item single-select list: DropDrownList
                    {
                        DropDownList ddl = new DropDownList();
                        ddl.ID = pnl.ID + "_lst";
                        ddl.Width = Unit.Percentage(100.0);
                        ddl.Items.Add(new ListItem("(Select One)", ""));
                        AddListItems(ddl, pickListTerm.PickListItems);
                        pnl.Controls.Add(ddl);
                    }
                }
            }
            return pnl;
        }
        public ComplexList(XmlNode node, Template template, bool isFilter)
            : base(node, template, isFilter)
		{
			TermType = TermType.ComplexList;
			NameRequired = true;

			_columnCount = Utility.XMLHelper.GetAttributeInt(node, XMLNames._A_ColumnCount);
			_showOnItemSummary = Utility.XMLHelper.GetAttributeBool(node, XMLNames._A_ShowOnItemSummary);

			_fields = new List<ComplexListField>();
			XmlNodeList nodeFields = node.SelectNodes(Utility.XMLHelper.GetXPath(false, XMLNames._E_Fields, XMLNames._E_Field));
			if (nodeFields != null)
			{
				foreach (XmlNode nodeField in nodeFields)
				{
					ComplexListField field = new ComplexListField(nodeField, this);
					_fields.Add(field);
				}
			}

			_items = new List<ComplexListItem>();
			XmlNodeList nodeItems = node.SelectNodes(Utility.XMLHelper.GetXPath(false, XMLNames._E_Items, XMLNames._E_Item));
			if (nodeItems != null)
			{
				foreach (XmlNode nodeItem in nodeItems)
				{
					ComplexListItem item = new ComplexListItem(nodeItem, this);
					//Set the BigText value stored within each itemValue - for use by the interface
					foreach (ComplexListItemValue itemValue in item.ItemValues)
					{
                        if (!itemValue.FieldIDDefined)
                        {
                            itemValue.BigText = FindField(itemValue.FieldName).BigText ?? false;
                            itemValue.RemoveBlank = FindField(itemValue.FieldName).RemoveBlank ?? false;
                        }
                        else
                        {
                            itemValue.BigText = FindField(itemValue.FieldID).BigText ?? false;
                            itemValue.RemoveBlank = FindField(itemValue.FieldID).RemoveBlank ?? false;
                        }
					}
					_items.Add(item);
				}
			}

            foreach (ComplexListItem item in _items)
            {
                foreach (ComplexListItemValue itemValue in item.ItemValues)
                {
                    if (!itemValue.FieldIDDefined)
                    {
                        itemValue.FieldID = FindField(itemValue.FieldName).ID;
                    }
                }
            }

            XmlNode nodeRendering = node.SelectSingleNode(XMLNames._E_Rendering);
            if (nodeRendering != null)
            {
                _rendering = Utility.XMLHelper.GetText(nodeRendering);
                _rendering = ComplexListField.EmbedFieldNames(this, _rendering);
            }

            XmlNode nodeStandardHeader = node.SelectSingleNode(XMLNames._E_StandardHeader);
            if (nodeStandardHeader != null)
            {
                _standardHeader = Utility.XMLHelper.GetText(nodeStandardHeader);
                _standardHeader = ComplexListField.EmbedFieldNames(this, _standardHeader);
            }

            XmlNode nodeAlternateHeader = node.SelectSingleNode(XMLNames._E_AlternateHeader);
            if (nodeAlternateHeader != null)
            {
                _alternateHeader = Utility.XMLHelper.GetText(nodeAlternateHeader);
                _alternateHeader = ComplexListField.EmbedFieldNames(this, _alternateHeader);
            }
		}