Esempio n. 1
0
        static void Main(string[] args)
        {
            Application application = new Application();

            application.DisplayAlerts = false;
            Workbook scheduleWorkbook = null;
            var      startDate        = DateTime.Now.Date;
            var      endDate          = startDate.AddMonths(1);

            try
            {
                scheduleWorkbook = application.Workbooks.Add();
                var tat = new TatarstanWorkDayCalendar(TimeSpan.FromHours(10),
                                                       TimeSpan.FromHours(18));
                tat.EnsureInitializedAsync().Wait();
                var workTimeCalculator =
                    new WorkTimeCalculator(tat);
                Worksheet scheduleSheet = scheduleWorkbook.ActiveSheet;
                PrintDateRow(scheduleSheet, startDate, endDate);
                var schedule = workTimeCalculator.GetSchedule(startDate, new WorkTime(20, 0, 0));
                PrintSchedule(scheduleSheet, 2, schedule);
                scheduleWorkbook.SaveAs(@"\C:\Users\almaz\OneDrive\Документы\test.xlsx");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            finally
            {
                scheduleWorkbook?.Close(true);
                application.Quit();
                Marshal.ReleaseComObject(application);
            }
        }
Esempio n. 2
0
 static void Main(string[] args)
 {
     try
     {
         var cmd             = string.Join(" ", args);
         var workDayCalendar = new TatarstanWorkDayCalendar(TimeSpan.FromHours(10), TimeSpan.FromHours(18));
         workDayCalendar.EnsureInitializedAsync().Wait();
         var calculatorParser     = new TimeCalculatorParser(workDayCalendar);
         var calculator           = calculatorParser.Parse(cmd);
         var timeExpressionParser = new TimeExpressionParser(new TimeArgumentParser());
         var timeExpr             = timeExpressionParser.Parse(cmd);
         var calcMethodConverter  = new CalcMethodConverter(calculator.GetType());
         var calcMethod           = calcMethodConverter.ConvertToCalcMethod(timeExpr);
         var result       = calcMethod.Invoke(calculator, new[] { timeExpr.LeftOperand, timeExpr.RightOperand });
         var objFormatter = new ObjectFormatter();
         var output       = objFormatter.FormatObject(result);
         Console.WriteLine(output);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }