private bool ConditionMet(TextTerm sourceTextTerm)
		{
			switch (sourceTextTerm.Format)
			{
				case TextTermFormat.Number:
				case TextTermFormat.Currency:
					{
						decimal termValue;
						decimal value1;
						decimal value2;
						if (!decimal.TryParse(sourceTextTerm.UnformattedValue, out termValue))
							return false;
						if (!decimal.TryParse(_value1, out value1))
							value1 = decimal.MinValue;
						if (!decimal.TryParse(_value2, out value2))
							value2 = decimal.MaxValue;
						switch (_oper)
						{
							case XMLNames._TermDependencyOperator_Equals:
								return termValue == value1;
							case XMLNames._TermDependencyOperator_NotEqual:
								return termValue != value1;
							case XMLNames._TermDependencyOperator_GreaterThan:
								return termValue > value1;
							case XMLNames._TermDependencyOperator_LessThan:
								return termValue < value1;
							case XMLNames._TermDependencyOperator_NoLessThan:
								return termValue >= value1;
							case XMLNames._TermDependencyOperator_NoMoreThan:
								return termValue <= value1;
							case XMLNames._TermDependencyOperator_Between:
								return ((termValue >= value1) && (termValue <= value2));
							default:
								return false;
						}
					}

				case TextTermFormat.Plain:
				case TextTermFormat.SSN:
				case TextTermFormat.Phone:
				case TextTermFormat.PhonePlusExtension:
				default:
					{
						string termValue = sourceTextTerm.UnformattedValue;
						if (string.IsNullOrEmpty(termValue))
							return false;
						switch (_oper)
						{
							case XMLNames._TermDependencyOperator_Equals:
								return termValue.CompareTo(_value1) == 0;
							case XMLNames._TermDependencyOperator_NotEqual:
								return termValue.CompareTo(_value1) != 0;
							case XMLNames._TermDependencyOperator_StartsWith:
								return termValue.StartsWith(_value1);
							case XMLNames._TermDependencyOperator_EndsWith:
								return termValue.EndsWith(_value1);
							case XMLNames._TermDependencyOperator_Between:
								return ((termValue.CompareTo(_value1) >= 0) && (termValue.CompareTo(_value2) <= 0));
							default:
								return false;
						}
					}
			}
		}
Ejemplo n.º 2
0
        public override Term Copy()
        {
            TextTerm textTerm = new TextTerm(SystemTerm, _template, IsFilter);
            CopyBase(textTerm, _template);

            textTerm._value = _value;
            textTerm._format = _format;
            textTerm._min = _min;
            textTerm._max = _max;
            textTerm._showCents = _showCents;
            textTerm._useTextNumberFormat = _useTextNumberFormat;

            return textTerm;
        }
Ejemplo n.º 3
0
		//Generate the Terms collection (of Term) based on an xml document
        //Called by BasicTerms.Create, once from ITATSystem.LoadFromDatabase
 		public static List<Term> Create(XmlNode termsNode, ManagedItem managedItem, Template template)
		{
			List<Term> rtn = new List<Term>(termsNode.ChildNodes.Count);
            int order = 0;
			foreach (XmlNode termNode in termsNode)
			{
				Term t = null;
				switch (termNode.Name.ToString())
				{
					case XMLNames._E_Text:
                        t = new TextTerm(termNode, template, false);
						break;
					case XMLNames._E_Date:
                        t = new DateTerm(termNode, template, false);
						break;
					case XMLNames._E_MSO:
                        t = new MSOTerm(termNode, template, false);
						break;
					case XMLNames._E_Link:
                        t = new LinkTerm(termNode, template, false);
						break;
					case XMLNames._E_Facility:
                        t = new FacilityTerm(termNode, template, false);
						break;
					case XMLNames._E_Renewal:
                        t = new RenewalTerm(termNode, managedItem != null, template, false);
						break;
					case XMLNames._E_PickList:
                        t = new PickListTerm(termNode, template, false);
						break;
					case XMLNames._E_External:
                        t = new ExternalTerm(termNode, managedItem, template, false);
						break;
                    case XMLNames._E_PlaceHolderAttachments:
                        t = new PlaceHolderAttachments(termNode, template, false);
                        break;
                    case XMLNames._E_PlaceHolderComments:
                        t = new PlaceHolderComments(termNode, template, false);
                        break;
                    default:
						throw new XmlException(string.Format("Tried to create undefined term type {0}", termNode.Name.ToString()));
				}
                t.Order = order++;
                rtn.Add(t);
			}
            //If this is not a load of the ITATSystem terms, then ensure that the collection includes the Attachments and Comments terms.
            if (template != null)
            {
                List<Term> placeholderTerms = FindTermsOfType(rtn, (TermType.PlaceHolderAttachments | TermType.PlaceHolderComments));
                if (placeholderTerms == null || (placeholderTerms != null && placeholderTerms.Count == 0))
                {
                    //If this is the first time these are being added, then this should be under Basic Security.
                    Term t = new PlaceHolderAttachments(false, template, false);
                    t.TermGroupID = template.BasicSecurityTermGroupID;
                    t.Order = order++;
                    rtn.Add(t);

                    t = new PlaceHolderComments(false, template, false);
                    t.TermGroupID = template.BasicSecurityTermGroupID;
                    t.Order = order++;
                    rtn.Add(t);
                }
                else if (placeholderTerms.Count != 2)
                {
                    throw new Exception(string.Format("Encountered a PlaceHolder term count of {0:D} when 2 were expected", placeholderTerms.Count));
                }
            }
			return rtn;
		}
Ejemplo n.º 4
0
		private static TextBox CreateTextSearchControl(TextTerm textTerm, bool canEditProfile, SecurityHelper securityHelper)
		{
			TextBox txt = new TextBox();
			txt.ID = ControlID(textTerm.Name);
			switch (textTerm.Format)
			{
				case TextTermFormat.Plain:
					txt.Width = Unit.Percentage(100.0);
					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;
		}