public LifesaverCompliance GetComplianceStatus() { LifesaverCompliance complianceModel = new LifesaverCompliance(); var _14daysAgo = DateTime.Now.Date.AddDays(-14); IEnumerable <RigOapChecklist> lifeSaverChecklists = rigOapChecklistService.GetByTypeSubType("Life Savers", "All", "All"); lifeSaverChecklists = lifeSaverChecklists.OrderBy(c => c.ChecklistDateTime); foreach (var checklist in lifeSaverChecklists) { foreach (var question in checklist.Questions) { if (question.OapChecklistQuestion == null || question.Answers == null) { continue; } foreach (var answer in question.Answers) { if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("CM")) { complianceModel.CM = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastCMDate.HasValue || complianceModel.LastCMDate < checklist.ChecklistDateTime) { complianceModel.LastCMDate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("CS")) { complianceModel.CSE = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastCSEDate.HasValue || complianceModel.LastCSEDate < checklist.ChecklistDateTime) { complianceModel.LastCSEDate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("DO")) { complianceModel.DO = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastDODate.HasValue || complianceModel.LastDODate < checklist.ChecklistDateTime) { complianceModel.LastDODate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("EI")) { complianceModel.EI = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastEIDate.HasValue || complianceModel.LastEIDate < checklist.ChecklistDateTime) { complianceModel.LastEIDate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("JSA")) { complianceModel.JSA = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastJSADate.HasValue || complianceModel.LastJSADate < checklist.ChecklistDateTime) { complianceModel.LastJSADate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("LO")) { complianceModel.LO = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastLODate.HasValue || complianceModel.LastLODate < checklist.ChecklistDateTime) { complianceModel.LastLODate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("PTW")) { complianceModel.PTW = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastPTWDate.HasValue || complianceModel.LastPTWDate < checklist.ChecklistDateTime) { complianceModel.LastPTWDate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("PS")) { complianceModel.PS = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastPSDate.HasValue || complianceModel.LastPSDate < checklist.ChecklistDateTime) { complianceModel.LastPSDate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("SWA")) { complianceModel.SWA = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastSWADate.HasValue || complianceModel.LastSWADate < checklist.ChecklistDateTime) { complianceModel.LastSWADate = checklist.ChecklistDateTime; } } if ((answer.Value == "Y" || answer.Value == "N") && question.OapChecklistQuestion.Description.ToUpperInvariant().Contains("WH")) { complianceModel.WH = checklist.ChecklistDateTime < _14daysAgo ? false : true; if (!complianceModel.LastWHDate.HasValue || complianceModel.LastWHDate < checklist.ChecklistDateTime) { complianceModel.LastWHDate = checklist.ChecklistDateTime; } } } } } return(complianceModel); }
private LifesaverComplianceViewModel PrepareComplianceViewModel(LifesaverCompliance data) { if (data == null) { return(new LifesaverComplianceViewModel()); } var viewModel = new LifesaverComplianceViewModel(); viewModel.CM = data.CM == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastCMDate.HasValue) { viewModel.CM += string.Format(" (Last on: {0})", data.LastCMDate.Value.ToString("dd-MMM-yyyy")); } viewModel.CSE = data.CSE == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastCSEDate.HasValue) { viewModel.CSE += string.Format(" (Last on: {0})", data.LastCSEDate.Value.ToString("dd-MMM-yyyy")); } viewModel.DO = data.DO == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastDODate.HasValue) { viewModel.DO += string.Format(" (Last on: {0})", data.LastDODate.Value.ToString("dd-MMM-yyyy")); } viewModel.EI = data.EI == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastEIDate.HasValue) { viewModel.EI += string.Format(" (Last on: {0})", data.LastEIDate.Value.ToString("dd-MMM-yyyy")); } viewModel.JSA = data.JSA == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastJSADate.HasValue) { viewModel.JSA += string.Format(" (Last on: {0})", data.LastJSADate.Value.ToString("dd-MMM-yyyy")); } viewModel.LO = data.LO == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastLODate.HasValue) { viewModel.LO += string.Format(" (Last on: {0})", data.LastLODate.Value.ToString("dd-MMM-yyyy")); } viewModel.PTW = data.PTW == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastPTWDate.HasValue) { viewModel.PTW += string.Format(" (Last on: {0})", data.LastPTWDate.Value.ToString("dd-MMM-yyyy")); } viewModel.PS = data.PS == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastPSDate.HasValue) { viewModel.PS += string.Format(" (Last on: {0})", data.LastPSDate.Value.ToString("dd-MMM-yyyy")); } viewModel.SWA = data.SWA == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastSWADate.HasValue) { viewModel.SWA += string.Format(" (Last on: {0})", data.LastSWADate.Value.ToString("dd-MMM-yyyy")); } viewModel.WH = data.WH == true ? "<img src=\"/images/BlueTick.png\" /><br />" : "<img src=\"/images/No.png\" /><br />"; if (data.LastWHDate.HasValue) { viewModel.WH += string.Format(" (Last on: {0})", data.LastWHDate.Value.ToString("dd-MMM-yyyy")); } return(viewModel); }