Пример #1
0
        public static object SolverWeightedSumsFactory(IList args)
        {
            var periodInDays = Convert.ToDouble(args[0]);
            var startTime    = OPs.FromExcelDate(Convert.ToDouble(args[1]));
            var endTime      = OPs.FromExcelDate(Convert.ToDouble(args[2]));

            return(new WeightedSums.Factory(startTime, endTime, TimeSpan.FromDays(periodInDays)));
        }
Пример #2
0
 public static object DAY(object date)
 {
     if (W.Common.Utils.IsEmpty(date))
     {
         return(DBNull.Value);
     }
     return(OPs.FromExcelDate(OPs.xl2dbl(date)).Day);
 }
Пример #3
0
        public static object SolverTimedTabulation(IList args)
        {
            var items  = Utils.ToIList(args[0]) ?? new object[0];
            var timeA  = Convert.ToDouble(args[1]);
            var timeB  = Convert.ToDouble(args[2]);
            var nParts = Convert.ToInt32(args[3]);
            var what   = (args.Count > 4) ? Convert.ToString(args[4]) : null;
            var f      = new WeightedSums.Factory(OPs.FromExcelDate(timeA), OPs.FromExcelDate(timeB), nParts);
            var sums   = f.NewSums();

            sums.Add(items);
            var data = sums.Get(what ?? "AVGS");
            // prepare result array
            var res = new object[data.Length];

            for (int i = 0; i < data.Length; i++)
            {
                res[i] = double.IsNaN(data[i]) ? null : (object)data[i];
            }
            return(res);
        }