public virtual IList <TokenCharacteristic> GetTokenCharacteristicDetail(long tokenId) { TokenCharacteristic tokenCharacteristicAlias = null; CanonicalForm canonicalFormAlias = null; HyperCanonicalForm hyperCanonicalFormAlias = null; var result = GetSession().QueryOver(() => tokenCharacteristicAlias) .JoinQueryOver(x => x.CanonicalForms, () => canonicalFormAlias, JoinType.LeftOuterJoin) .JoinQueryOver(x => x.HyperCanonicalForm, () => hyperCanonicalFormAlias, JoinType.LeftOuterJoin) .Fetch(SelectMode.Fetch, x => x.CanonicalForms) .Where(() => tokenCharacteristicAlias.Token.Id == tokenId) .TransformUsing(Transformers.DistinctRootEntity) .List(); return(result); }
protected override long ExecuteWorkImplementation() { var tokenCharacteristic = m_repository.Load <TokenCharacteristic>(m_tokenCharacteristicId); var newCanonicalForm = new CanonicalForm { Type = m_type, Text = m_text, Description = m_description, CanonicalFormFor = new List <TokenCharacteristic> { tokenCharacteristic } }; var id = m_repository.Create(newCanonicalForm); return((long)id); }
public long CreateCanonicalForm(long tokenCharacteristicId, CanonicalFormTypeContract type, string text, string description) { var tokenCharacteristic = m_repository.Load <TokenCharacteristic>(tokenCharacteristicId); var canonicalFormType = Mapper.Map <CanonicalFormType>(type); var newCanonicalForm = new CanonicalForm { Type = canonicalFormType, Text = text, Description = description, CanonicalFormFor = new List <TokenCharacteristic> { tokenCharacteristic } }; var id = m_repository.Create(newCanonicalForm); return((long)id); }
/// <summary> /// Formats rational number to string /// </summary> /// <param name="format">F for normal fraction, C for canonical fraction, W for whole+fractional</param> public string ToString(string format) { if (string.IsNullOrEmpty(format)) { format = "F"; } switch (format.ToUpperInvariant()) { case "F": // normal fraction return(ToString()); case "W": // as whole + fractional part { if (IsNaN) { return("NaN"); } var whole = WholePart; var fraction = FractionPart.CanonicalForm; if (whole.IsZero) { return(fraction.ToString()); } if (fraction.IsZero) { return(whole.ToString()); } return(string.Format(CultureInfo.InvariantCulture, "{0} + {1}", whole, fraction)); } case "C": // in canonical form return(CanonicalForm.ToString()); default: throw new FormatException($"The {format} format string is not supported."); } }