private void LoadSchedules(LogStatuses status) { Logger.Log("Loading schedules", status); if (!running) { Logger.Log("Loading schedules aborted. Service is not started.", status); return; } try { StdSchedulerFactory schedulerFactory = new StdSchedulerFactory(); scheduler = schedulerFactory.GetScheduler(); List <BackupScheduleWrapper> jobs = Configuration.GetSchedules(); foreach (BackupScheduleWrapper bj in jobs) { JobDetail job = new JobDetail(bj.ID.ToString(), "group1", typeof(MyJobClass)); try { CronTrigger trigger = new CronTrigger("trigger {0}".FillBlanks(bj.ID), "group1", bj.ID.ToString(), "group1", bj.CronConfig); scheduler.AddJob(job, true); scheduler.ScheduleJob(trigger); Logger.Log(string.Format("Job {0} ({1}) added to schedule", bj.ID, bj.Name), LogStatuses.Message); } catch (Exception ex) { Logger.Log(string.Format("Error adding job {0} ({1}) to schedule: {2}", bj.ID, bj.Name, ex.Message), LogStatuses.Error); } } scheduler.Start(); } catch (Exception oEx) { Logger.Log(string.Format("Error scheduling jobs: {0}", oEx.Message), LogStatuses.Error); } }
internal static void Log(string message, LogStatuses status) { string logFile = string.Format("{0}\\{1}.log", LogDir, DateTime.Now.ToString("yyyy-MM-dd")); try { System.IO.File.AppendAllText(logFile, string.Format("{0}\t{1}\t{2}{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), status, message, Environment.NewLine)); } catch {} }
private void AfterLoading() { var aMLFileBusiness = new XAMLFileBusiness(); bool isError = false; LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = "Export START!", MsgStatus = MessageStatus.None }); // Count by keyword: for (int i = 0; i < files.Count(); i++) { try { var lstCount = aMLFileBusiness.CountActicities(files[i], CreateListActivity(configs)); ActivityReports.Add(new ActivityReport { FileName = files[i], Activities = lstCount.ToList() }); LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = files[i] + " -> Success.", MsgStatus = MessageStatus.OK }); } catch (Exception ex) { LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = files[i] + " -> Error: " + ex.Message, MsgStatus = MessageStatus.Fail }); isError = true; } } // Export to file: try { if (!isError) { var listSummary = aMLFileBusiness.CountSummatyActicities(ActivityReports); switch (exportType) { case ExportType.JSON: if (detailMode) { Export.ToJSON(ActivityReports, exportPath); } Export.ToJSONSummary(listSummary.ToList(), exportPath); break; case ExportType.CSV: if (detailMode) { Export.ToCSV(ActivityReports, exportPath); } Export.ToCSVSummary(listSummary.ToList(), exportPath); break; case ExportType.EXCEL: if (detailMode) { Export.ToExcel(ActivityReports, exportPath); } Export.ToExcelSummary(listSummary.ToList(), exportPath); break; default: break; } LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = "Export successfully! -> " + exportPath, MsgStatus = MessageStatus.None }); } else { throw new Exception("Can't export to file! Error occurred when process XAML file."); } } catch (Exception ex) { LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = "Export faild: " + ex.Message, MsgStatus = MessageStatus.Fail }); } finally { LogStatuses.Add(new LogStatus { CurrentTime = DateTime.Now, Message = "Export END!", MsgStatus = MessageStatus.None }); } this.DialogResult = DialogResult.OK; this.Close(); }