Ejemplo n.º 1
0
        /// <summary>
        /// The Result.
        /// </summary>
        /// <param name="figures">The figures<see cref="IFigures"/>.</param>
        /// <param name="onlyView">The onlyView<see cref="bool"/>.</param>
        /// <returns>The <see cref="IFigure"/>.</returns>
        private static IFigure Result(IFigures figures, bool onlyView = true)
        {
            IRubrics summaryRubrics = figures.Treatment.SummaryRubrics;

            if (summaryRubrics.Count > 0)
            {
                object[] result = summaryRubrics.AsValues().AsParallel().SelectMany(s =>
                                                                                    new object[]
                {
                    (!string.IsNullOrEmpty(s.RubricName)) ?
                    (s.SummaryOperand == AggregateOperand.Sum) ?
                    Convert.ChangeType(figures

                                       .Sum

                                           (j => (j[s.SummaryOrdinal] is DateTime) ?
                                           ((DateTime)j[s.SummaryOrdinal]).ToOADate() :
                                           Convert.ToDouble(j[s.FieldId])), typeof(object)) :
                    (s.SummaryOperand == AggregateOperand.Min) ?
                    Convert.ChangeType(figures

                                       .Min

                                           (j => (j[s.SummaryOrdinal] is DateTime) ?
                                           ((DateTime)j[s.SummaryOrdinal]).ToOADate() :
                                           Convert.ToDouble(j[s.FieldId])), typeof(object)) :
                    (s.SummaryOperand == AggregateOperand.Max) ?
                    Convert.ChangeType(figures

                                       .Max

                                           (j => (j[s.SummaryOrdinal] is DateTime) ?
                                           ((DateTime)j[s.SummaryOrdinal]).ToOADate() :
                                           Convert.ToDouble(j[s.FieldId])), typeof(object)) :
                    (s.SummaryOperand == AggregateOperand.Avg) ?
                    Convert.ChangeType(figures

                                       .Average

                                           (j => (j[s.SummaryOrdinal] is DateTime) ?
                                           ((DateTime)j[s.SummaryOrdinal]).ToOADate() :
                                           Convert.ToDouble(j[s.FieldId])), typeof(object)) :
                    (s.SummaryOperand == AggregateOperand.Bis) ?
                    Convert.ChangeType(figures.Select(j => (j[s.FieldId] != DBNull.Value) ? j[s.FieldId].ToString() : "")

                                       .Aggregate((x, y) => x + " " + y), typeof(object)) : null : null
                }
                                                                                    ).ToArray();

                figures.Summary.ValueArray = result;

                return(figures.Summary);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
 public DataReader(IFigures resultset)
 {
     m_resultset = resultset.Rubrics;
     x_size      = resultset.Rubrics.Count;
     m_values    = resultset.Select(p =>
                                    new object[] { p.SerialCode }
                                    .Concat(p.ValueArray).ToArray()).ToArray();
     y_size = m_values.Length;
 }
Ejemplo n.º 3
0
 public DataReader(FigureCard[] resultset)
 {
     if (resultset.Length > 0)
     {
         m_resultset = resultset.First().Figures.Rubrics;
         x_size      = m_resultset.Count;
         m_values    = resultset.Select(p =>
                                        new object[] { p.SerialCode }
                                        .Concat(p.ValueArray).ToArray()).ToArray();
         y_size = m_values.Length;
     }
 }
Ejemplo n.º 4
0
 private void Dispose(bool disposing)
 {
     if (disposing)
     {
         try
         {
             m_values    = null;
             m_resultset = null;
             this.Close();
         }
         catch (Exception e)
         {
             throw new SystemException("An exception of type " + e.GetType() +
                                       " was encountered while closing the TemplateDataReader.");
         }
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Link"/> class.
 /// </summary>
 /// <param name="origin">The origin<see cref="IFigures"/>.</param>
 /// <param name="target">The target<see cref="IFigures"/>.</param>
 /// <param name="keyRubrics">The keyRubrics<see cref="IRubrics"/>.</param>
 public Link(IFigures origin, IFigures target, IRubrics keyRubrics) : this(origin, target)
 {
     foreach (IUnique rubric in keyRubrics)
     {
         var originRubric = origin.Rubrics[rubric];
         var targetRubric = target.Rubrics[rubric];
         if (originRubric != null && targetRubric != null)
         {
             OriginKeys.Add(originRubric);
             TargetKeys.Add(targetRubric);
         }
         else
         {
             throw new IndexOutOfRangeException("Rubric not found");
         }
         OriginKeys.Update();
         TargetKeys.Update();
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MathRubrics"/> class.
 /// </summary>
 /// <param name="rubrics">The rubrics<see cref="IRubrics"/>.</param>
 public MathRubrics(IRubrics rubrics)
 {
     Rubrics = rubrics;
     Data    = rubrics.Figures;
 }