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; } } } }
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; }
//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; }
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; }