public TimesheetModule(IRootPathProvider pathProvider)
        {
            ConfigureTimesheetModules(pathProvider);

            Get["/"] = p => View["index.html"];

            Get["/ShowTimesheet"] = parameters =>
            {
                var workingHours = GenerateWorkingHours(timesheetLog);

                var m      = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);
                var output = new ViewOutput {
                    Weeks = workingHours, Month = m, LogFileUrl = timesheetLog
                };
                return(View["TimesheetIndex.cshtml", output]);
            };

            Post["/logurl"] = parameters =>
            {
                var workingHours = GenerateWorkingHours(timesheetLog);

                var m      = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);
                var output = new ViewOutput {
                    Weeks = workingHours, Month = m, LogFileUrl = timesheetLog
                };
                return(View["TimesheetIndex.cshtml", output]);
            };

            Post["/update_spreadsheet"] = parameters =>
            {
                var uploadedFiles = UploadFile(pathProvider);

                var    spreadsheet = uploadedFiles.FirstOrDefault() ?? string.Empty;
                string fileName    = GenerateSpreadheet(spreadsheet);

                if (fileName != string.Empty)
                {
                    return(BuildFileDownloadResponse(pathProvider, fileName));
                }
                else
                {
                    return("Invalid file");
                }
            };
        }
        public TimesheetModule(IRootPathProvider pathProvider)
        {
            ConfigureTimesheetModules(pathProvider);

            Get["/"] = p => View["index.html"];

            Get["/ShowTimesheet"] = parameters =>
            {
                var workingHours = GenerateWorkingHours(timesheetLog);

                var m = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);
                var output = new ViewOutput { Weeks = workingHours, Month = m, LogFileUrl = timesheetLog };
                return View["TimesheetIndex.cshtml", output];
            };

            Post["/logurl"] = parameters =>
            {
                var workingHours = GenerateWorkingHours(timesheetLog);

                var m = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);
                var output = new ViewOutput { Weeks = workingHours, Month = m, LogFileUrl = timesheetLog };
                return View["TimesheetIndex.cshtml", output];
            };

            Post["/update_spreadsheet"] = parameters =>
            {
                var uploadedFiles = UploadFile(pathProvider);

                var spreadsheet = uploadedFiles.FirstOrDefault() ?? string.Empty;
                string fileName = GenerateSpreadheet(spreadsheet);

                if (fileName != string.Empty)
                    return BuildFileDownloadResponse(pathProvider, fileName);
                else
                    return "Invalid file";
            };
        }