Example #1
0
        public IEnumerable <Export_By_Service_Group_And_Time_District_Po_BCCP> Export_By_Service_Group_And_Time_District_Po_BCCP(string fromDate, string toDate, int districtId, int poId, string currentUser, string userSelected)
        {
            // define role of user name
            bool isAdmin   = _userRepository.CheckRole(currentUser, "Administrator");
            bool isManager = _userRepository.CheckRole(currentUser, "Manager");
            bool isSupport = _userRepository.CheckRole(currentUser, "Support");

            //get user info
            var    user   = _userRepository.getByUserId(userSelected);
            string userId = null;

            if (user != null)
            {
                userId = user.Id;
            }

            if (isAdmin || isSupport)  //is admin
            {
                if (districtId == 0)
                {
                    return(_statisticRepository.Export_By_Service_Group_And_Time_BCCP(fromDate, toDate));
                }
                else
                {
                    if (poId == 0)
                    {
                        return(_statisticRepository.Export_By_Service_Group_And_Time_District_BCCP(fromDate, toDate, districtId));
                    }
                    else // po id and district id not null
                    {
                        if (userId == null)
                        {
                            return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po_BCCP(fromDate, toDate, districtId, poId));
                        }
                        else
                        {
                            return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po_User_BCCP(fromDate, toDate, districtId, poId, userSelected));
                        }
                    }
                }
            }
            else
            {
                if (isManager) // is manager
                {
                    if (poId == 0)
                    {
                        districtId = _districtRepository.GetDistrictByUserName(currentUser).ID;
                        return(_statisticRepository.Export_By_Service_Group_And_Time_District_BCCP(fromDate, toDate, districtId));
                    }
                    else // po id and district id not null
                    {
                        if (userId == null)
                        {
                            districtId = _districtRepository.GetDistrictByUserName(currentUser).ID;
                            //poId = _poRepository.GetPOByCurrentUser(currentUser).ID;
                            return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po_BCCP(fromDate, toDate, districtId, poId));
                        }
                        else
                        {
                            districtId = _districtRepository.GetDistrictByUserName(currentUser).ID;
                            //poId = _poRepository.GetPOByCurrentUser(currentUser).ID;
                            return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po_User_BCCP(fromDate, toDate, districtId, poId, userSelected));
                        }
                    }
                }
                else //is basic user
                {
                    districtId = _districtRepository.GetDistrictByUserName(currentUser).ID;
                    poId       = _poRepository.GetPOByCurrentUser(currentUser).ID;
                    userId     = _userRepository.getByUserName(currentUser).Id;
                    return(_statisticRepository.Export_By_Service_Group_And_Time_District_Po_User_BCCP(fromDate, toDate, districtId, poId, userId));
                }
            }
        }