Example #1
0
        public AllKpiAchievementsResponse GetAllKpiAchievements()
        {
            var response = new AllKpiAchievementsResponse();
            try
            {
                var kpiAchievements = DataContext.Kpis
                    .Include(x => x.Measurement)
                    .Include(x => x.Type)
                    .Include(x => x.RoleGroup)
                    .AsEnumerable()
                    .OrderBy(x => x.Order)
                    .GroupBy(x => x.RoleGroup).ToDictionary(x => x.Key);

                foreach (var item in kpiAchievements)
                {
                    var kpis = new List<AllKpiAchievementsResponse.Kpi>();
                    foreach (var val in item.Value)
                    {
                        kpis.Add(val.MapTo<AllKpiAchievementsResponse.Kpi>());
                    }

                    response.RoleGroups.Add(new AllKpiAchievementsResponse.RoleGroup
                    {
                        Id = item.Key.Id,
                        Name = item.Key.Name,
                        Kpis = kpis
                    });
                }

                response.IsSuccess = true;
            }
            catch (ArgumentNullException argumentNullException)
            {
                response.Message = argumentNullException.Message;
            }
            catch (InvalidOperationException invalidOperationException)
            {
                response.Message = invalidOperationException.Message;
            }

            return response;
        }
Example #2
0
        public ActionResult Index()
        {
            var response = new AllKpiAchievementsResponse();
            bool isAdmin = this.UserProfile().IsSuperAdmin;
            var privilege = this.UserProfile().RolePrivilegeName;
            ViewBag.IsSuperAdmin = isAdmin;
            if (this.UserProfile().IsSuperAdmin)
            {
                response = _kpiAchievementService.GetAllKpiAchievements();
            }
            else
            {
                response = _kpiAchievementService.GetKpiAchievementsByRole(new GetKpiAchievementsConfigurationRequest { RoleGroupId = this.UserProfile().RoleId });
            }

            if (response.IsSuccess)
            {
                var viewModel = response.MapTo<IndexKpiAchievementViewModel>();
                return View(viewModel);
            }

            return base.ErrorPage(response.Message);
        }