コード例 #1
0
        /// <summary>
        /// Get criteria group item.
        /// </summary>
        /// <param name="criteriaId">The identity criteria group.</param>
        /// <returns></returns>
        private IEnumerable <CriteriaGroupViewModel> GetCriteriaGroups(int criteriaId)
        {
            var criteriaGroup = _mapper.Map <IEnumerable <CriteriaGroup>, IEnumerable <CriteriaGroupViewModel> >(
                _unitOfWork.GetRepository <CriteriaGroup>().GetCache(x => x.CriteriaId == criteriaId));
            var groupIds      = criteriaGroup.Select(x => x.Id).ToArray();
            var criteriaItems = _unitOfWork.GetRepository <CriteriaItem>().GetCache(x => groupIds.Contains(x.CriteriaGroupId.Value));
            var kpiGroupInfo  = _unitOfWork.GetRepository <KpiGroup>().GetCache();

            foreach (var item in criteriaGroup)
            {
                var kpiGroupItem = kpiGroupInfo.FirstOrDefault(x => x.Id == item.KpiGroupId);
                if (kpiGroupItem != null)
                {
                    item.KpiGroupNameTh      = kpiGroupItem.KpiGroupNameTh;
                    item.KpiGroupNameEn      = kpiGroupItem.KpiGroupNameEn;
                    item.KpiGroupShortTextTh = kpiGroupItem.KpiGroupShortTextTh;
                    item.KpiGroupShortTextEn = kpiGroupItem.KpiGroupShortTextEn;
                }
                item.CriteriaItems = _kpiGroup.GetKpiItemDisplayCriteria(item.KpiGroupId).ToList();
                this.GetCriteriaItems(item.CriteriaItems, criteriaItems.Where(x => x.CriteriaGroupId == item.Id));
            }
            return(criteriaGroup);
        }
コード例 #2
0
 public IActionResult GetKpiIteDisplayCriteria(int id)
 {
     return(Ok(_kpiGroup.GetKpiItemDisplayCriteria(id)));
 }