Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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.");
            }
        }