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))); }
public static object DAY(object date) { if (W.Common.Utils.IsEmpty(date)) { return(DBNull.Value); } return(OPs.FromExcelDate(OPs.xl2dbl(date)).Day); }
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); }