public IEnumerable <Export_By_Service_Group_And_Time> Export_By_Service_Group_And_Time(string fromDate, string toDate, int mainGroup, int districtId, int poId, string currentUser) { bool isAdmin = _userRepository.CheckRole(currentUser, "Administrator"); bool isManager = _userRepository.CheckRole(currentUser, "Manager"); var user = _userRepository.getByUserName(currentUser); string userId = null; if (user != null) { userId = user.Id; } if (isAdmin) { if (districtId == 0) { return(_statisticRepository.Export_By_Service_Group_And_Time(fromDate, toDate, mainGroup)); } else { if (poId == 0) { return(_statisticRepository.Export_By_Service_Group_And_Time_District(fromDate, toDate, mainGroup, districtId)); } else { return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po(fromDate, toDate, mainGroup, districtId, poId)); } } } else { if (isManager) { if (poId == 0) { return(_statisticRepository.Export_By_Service_Group_And_Time_District(fromDate, toDate, mainGroup, districtId)); } else { return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po(fromDate, toDate, mainGroup, districtId, poId)); } } else { return(_statisticRepository.Export_By_Service_Group_And_Time_User(fromDate, toDate, mainGroup, userId)); } } }