public async Task <ActionResult> GetAllRiskScoreList([FromBody] RiskDetailScoreView model)
        {
            RiskDetailScoreView[] riskDetailScore = (await _riskAssessmentRepository.GetRiskDetailScoreRecordsByRiskId(model.RiskAssessmentID)).ToArray();
            ContactPerson[]       contactPerson   = (await _contactPersonRepository.GetContactPersonById(model.RiskAssessmentID.ToString())).ToArray();
            Document[]            fileDocument    = (await _documentRepository.GetDocumentById(model.RiskAssessmentID.ToString())).ToArray();

            foreach (var iDetailScore in riskDetailScore)
            {
                List <int> ids = new List <int>();

                RiskSectionScoreView[] riskSectionScore = (await _riskAssessmentRepository.GetRiskSectionScoreRecordsByRiskId(model.RiskAssessmentID, iDetailScore.RiskDetailsID)).ToArray();
                iDetailScore.ListRiskSectionScore = riskSectionScore;
                iDetailScore.SectionDataCount     = riskSectionScore.Length;

                iDetailScore.MinRecordNo = 0;
                iDetailScore.MaxRecordNo = 0;

                if (riskSectionScore.Any())
                {
                    ids.AddRange(riskSectionScore.Select(iData => iData.RiskSectionScoreID));

                    iDetailScore.MinRecordNo = ids.Min();
                    iDetailScore.MaxRecordNo = ids.Max();
                }
            }

            RiskDetailSectionScoreListView data = new RiskDetailSectionScoreListView
            {
                ListRiskDetailScoreViews = riskDetailScore,
                ListContactPersons       = contactPerson,
                ListDocuments            = fileDocument
            };

            return(PartialView("GetDetailSectionScore", data));
        }
        public async Task <ActionResult> GetDocumentList([FromBody] RiskDetailScoreView model)
        {
            Document[] fileDocument = (await _documentRepository.GetDocumentById(model.RiskAssessmentID.ToString())).ToArray();

            RiskDetailSectionScoreListView data = new RiskDetailSectionScoreListView {
                RiskAssessmentID = model.RiskAssessmentID.ToString(), ListDocuments = fileDocument
            };

            return(PartialView("GetDocument", data));
        }
        public async Task <ActionResult> GetContactPersonList([FromBody] RiskDetailScoreView model)
        {
            ContactPerson[] contactPerson = (await _contactPersonRepository.GetContactPersonById(model.RiskAssessmentID.ToString())).ToArray();

            RiskDetailSectionScoreListView data = new RiskDetailSectionScoreListView {
                RiskAssessmentID = model.RiskAssessmentID.ToString(), ListContactPersons = contactPerson
            };

            return(PartialView("GetContactPerson", data));
        }
        public async Task <ActionResult> GetRiskGuidelinesScoreList([FromBody] RiskDetailScoreView model)
        {
            RiskDetailSectionScoreListView data = new RiskDetailSectionScoreListView();

            RiskDetailScoreView[] riskDetailScore = (await _riskAssessmentRepository.GetRiskDetailScoreRecordsByRiskId(model.RiskAssessmentID)).ToArray();

            foreach (var iDetailScore in riskDetailScore.Where(a => a.RiskDetailsID == model.RiskDetailsID))
            {
                RiskSectionScoreView[] riskSectionScore = (await _riskAssessmentRepository.GetRiskSectionScoreRecordsByRiskId(model.RiskAssessmentID, iDetailScore.RiskDetailsID)).ToArray();
                data.ListRiskSectionScoreViews = riskSectionScore;
                data.ParticipantsNo            = iDetailScore.ParticipantsNo;

                foreach (RiskSectionScoreView scoreView in data.ListRiskSectionScoreViews)
                {
                    RiskGuidelinesScoreView[] riskGuidelinesScore = (await _riskAssessmentRepository.GetRiskGuidelinesScoreViewByRiskId(model.RiskAssessmentID, iDetailScore.RiskDetailsID, scoreView.RiskSectionScoreID)).ToArray();
                    scoreView.ListRiskGuidelinesScore = riskGuidelinesScore;
                    scoreView.TotalRecordNo           = riskGuidelinesScore.Length;
                    List <int> ids = new List <int>();

                    foreach (RiskGuidelinesScoreView guidelinesScoreView in riskGuidelinesScore)
                    {
                        RiskParticipantsScoreView[] riskParticipantsScore = (await _riskAssessmentRepository.GetRiskParticipantsScoreRecordsById(guidelinesScoreView.RiskGuidelinesScoreID, scoreView.RiskSectionScoreID, iDetailScore.RiskDetailsID)).ToArray();
                        guidelinesScoreView.ListRiskParticipantsScore = riskParticipantsScore;
                    }

                    scoreView.MinRecordNo = 0;
                    scoreView.MaxRecordNo = 0;

                    if (riskGuidelinesScore.Any())
                    {
                        ids.AddRange(riskGuidelinesScore.Select(iData => iData.RiskGuidelinesScoreID));

                        scoreView.MinRecordNo = ids.Min();
                        scoreView.MaxRecordNo = ids.Max();
                    }
                }
            }

            return(PartialView("EditRiskGuidelinesScore", data));
        }