public OverlayCalendar(OverlaySettings settings) { _settings = settings; }
static int Main(string[] args) { if (args.Length < 1) { Usage(); return 1; } var settings = new OverlaySettings(); var q = new Queue<string>(args); while (q.Count > 0) { var arg = q.Dequeue(); if (string.IsNullOrWhiteSpace(arg)) continue; if (arg[0] == '/') { if (arg == "/?") { Usage(); return 0; } if (arg.StartsWith("/font:")) settings.FontFamily = arg.Substring("/font:".Length); else if (arg.StartsWith("/culture:")) settings.Culture = arg.Substring("/culture:".Length); else if (arg.StartsWith("/workdays:")) { var t = arg.Substring("/workdays:".Length); int x; if(int.TryParse(t, out x)) settings.WorkDays = x; } else if(arg.StartsWith("/offset:")) { var t = arg.Substring("/offset:".Length); int x; if (int.TryParse(t, out x)) settings.VerticalOffset = x; } else if (arg.StartsWith("/year:")) { var t = arg.Substring("/year:".Length); settings.WholeYear = true; int x; if (int.TryParse(t, out x)) settings.Year = x; } else if (arg.StartsWith("/month:")) { var t = arg.Substring("/month:".Length); if (t == "*") settings.Month = null; else { int x; if (int.TryParse(t, out x)) settings.Month = x; } } else if (arg.StartsWith("/out:")) { var t = arg.Substring("/out:".Length); settings.OutputFileName = t; } else { Log.Warning("Unknown flag: {0}", arg); } } else { if (settings.Filename == null) settings.Filename = arg; } } var overlay = new OverlayCalendar(settings); try { return overlay.Apply(); } catch (Exception ex) { Log.Error(ex); return 255; } }