public JobControl() { InitializeComponent(); addClearButton(); addSendToWorkerMenuItems(); addSendToTemporaryWorkerMenuItem(); jobQueue.RequestJobDeleted = new RequestJobDeleted(this.DeleteJob); summary = new WorkerSummary(this); }
public JobControl() { InitializeComponent(); mainForm = MainForm.Instance; AddClearButton(); AddSendToTemporaryWorkerMenuItem(); globalJobQueue.RequestJobDeleted = new RequestJobDeleted(this.DeleteJob); summary = new WorkerSummary(); }
public static WorkerSummary CreateWorkerSummary(string personnelNumber, global::System.DateTimeOffset validFrom, global::System.DateTimeOffset validTo, global::System.DateTimeOffset originalHireDateTime, global::System.DateTimeOffset anniversaryDateTime, global::System.DateTimeOffset seniorityDate, global::Microsoft.Dynamics.DataEntities.Worker worker) { WorkerSummary workerSummary = new WorkerSummary(); workerSummary.PersonnelNumber = personnelNumber; workerSummary.ValidFrom = validFrom; workerSummary.ValidTo = validTo; workerSummary.OriginalHireDateTime = originalHireDateTime; workerSummary.AnniversaryDateTime = anniversaryDateTime; workerSummary.SeniorityDate = seniorityDate; if ((worker == null)) { throw new global::System.ArgumentNullException("worker"); } workerSummary.Worker = worker; return(workerSummary); }
private static Panel ProcessWorkerSummary(WorkerSummary summaryLog) { var summaryPanel = new Panel(); var properties = summaryLog.GetType().GetProperties(); List <WorkerSummary> children = null; var name = properties.FirstOrDefault(p => p.Name == "WorkerName"); if (name != null) { summaryPanel.Controls.Add(new Label { Text = string.Format("<h2>{0}<br /></h2>", name.GetValue(summaryLog)) }); } foreach (var prop in properties.OrderBy(p => p.Name).Where(prop => prop != name && prop.IsBrowsable())) { if (prop.PropertyType == typeof(List <WorkerSummary>)) { children = prop.GetValue(summaryLog) as List <WorkerSummary>; continue; } if (typeof(IEnumerable).IsAssignableFrom(prop.PropertyType) && prop.PropertyType.IsGenericType) { var values = (IEnumerable)prop.GetValue(summaryLog); var count = values.Cast <object>().Count(); var labelText = count > 25 ? count + " instances. Please see log file for details." : values.Cast <object>() .Aggregate(string.Empty, (current, val) => current + (" " + val.ToString().HtmlLineBreakify() + "<br />")); if (string.IsNullOrWhiteSpace(labelText)) { continue; } summaryPanel.Controls.Add(new Label { Text = string.Format("{0}:<br />{1}", prop.Name.Spacify(), labelText) }); } else { var value = prop.GetValue(summaryLog); if (value == null) { continue; } var stringValue = value.ToString(); if (value is Enum) { stringValue = value.ToString().Spacify(); } summaryPanel.Controls.Add(new Label { Text = string.Format("{0}: {1}<br />", prop.Name.Spacify(), stringValue.HtmlLineBreakify()) }); } } if (children == null) { return(summaryPanel); } foreach (var child in children) { summaryPanel.Controls.Add(ProcessWorkerSummary(child)); } return(summaryPanel); }