﻿using System.Collections.Generic;
using OfficeOpenXml.FormulaParsing.ExpressionGraph;

namespace OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;

public class Eomonth : ExcelFunction {
  public override CompileResult Execute(
      IEnumerable<FunctionArgument> arguments,
      ParsingContext context) {
    ValidateArguments(arguments, 2);
    var date = System.DateTime.FromOADate(ArgToDecimal(arguments, 0));
    var monthsToAdd = ArgToInt(arguments, 1);
    var resultDate = new System.DateTime(date.Year, date.Month, 1)
        .AddMonths(monthsToAdd + 1)
        .AddDays(-1);
    return CreateResult(resultDate.ToOADate(), DataType.Date);
  }
}
