public IHttpActionResult UpdateAssessment(AocaAssessmentViewModel model) { var response = _aocaService.UpdateAocaAssessment(model.ToServiceRequestModel()); return(Ok(response)); }
public AocaAssessmentViewModel GetAocaByAgentId(Guid agentId) { var model = new AocaAssessmentViewModel(); var gradingCriteria = GradingCriteriaRepository.GetAll().ToList(); var gradingCriteriaAocaMap = _genericUnitOfWork.GetRepository <GradingCriteriaAocaMap, int>().GetAll().ToList(); gradingCriteria = gradingCriteria.Join(gradingCriteriaAocaMap, gc => gc.Id, gcm => gcm.Id, (gc, gcm) => gc).ToList(); var agent = AgentRepository.GetAll().FirstOrDefault(c => c.Id == agentId); model.AgentId = agentId; var agentwiseObservation = AocaObservationMapRepository.GetAll().Where(c => c.AgentCategoryId == agent.AgentCategoryId && c.AgentServiceId == agent.AgentServiceId && c.AgentTypeId == agent.AgentTypeId).Select(p => p.ObservationId).ToList(); var observationList = ObservationRepository.GetAll().Join(agentwiseObservation, ob => ob.Id, ao => ao, (ob, ao) => ob); var list = observationList.ToList().OrderBy(x => x.GradingCriteriaId).ThenBy(y => y.DisplayOrder).ToList(); var aocaChecklist = list.Select(x => { var aocaViewModel = _mapper.Map <Observation, AOCAViewModel>(x); aocaViewModel.Id = Guid.NewGuid(); return(aocaViewModel); }).ToList(); int seqNo = 0, itemNo = 0, gradeCriteria = 0; var naScoringGuides = NaScoringGuideRepository.GetAll().ToList(); var scoringGuides = _listService.ListScoringGuide(); foreach (var aoca in aocaChecklist) { var nascoringIds = naScoringGuides.Where(y => y.ObervationId == aoca.ObservationId).Select(z => z.ScoringGuideId as object).ToList(); aoca.ApplicableScoringGuides = scoringGuides.Where(x => !nascoringIds.Contains(x.Id)).ToList(); aoca.Attachments = new List <AocaAttachmentViewModel>() { new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, new AocaAttachmentViewModel() { Id = Guid.NewGuid(), AOCAId = aoca.Id }, }; if (gradeCriteria != aoca.GradingCriteriaId) { itemNo = 0; } gradeCriteria = aoca.GradingCriteriaId; seqNo++; itemNo++; aoca.SeqNo = seqNo; aoca.ItemNo = itemNo; } model.ChecklistCriteria = new List <AOCAChecklistPanelViewModel>(); gradingCriteria.ForEach(x => { var listAoca = aocaChecklist.Where(y => y.GradingCriteriaId == x.Id).ToList(); if (listAoca.Any()) { model.ChecklistCriteria.Add(new AOCAChecklistPanelViewModel { GradingCriteriaId = x.Id, GradingCriteriaName = x.Name, AOCAChecklist = listAoca, IsCompleted = listAoca.Count() == listAoca.Count(g => g.ScoringGuideId > 0) }); } } ); return(model); }