Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }