public JsonResult GetAllUpazilaByUserPermission(int id)
        {
            List <UpazilaModel> upazilaVMList = new List <UpazilaModel>();

            int userId            = UserSession.GetUserIdFromSession();
            var userPermissionObj = this.userPermissionService.GetUserPermissionByUserId(userId).Where(x => x.DistrictId == id || x.DistrictId == 0);
            var upazilaAll        = userPermissionObj.Where(x => x.UpazilaId == 0);
            IEnumerable <Upazila> upazilaListObj = null;

            if (upazilaAll.Count() > 0)
            {
                upazilaListObj = upazilaService.GetAllUpazila().Where(x => x.DistrictId == id);
            }
            else
            {
                var upazilaIds = userPermissionObj.Select(x => x.UpazilaId);
                upazilaListObj = upazilaService.GetAllUpazila().Where(x => upazilaIds.Contains(x.Id));
            }

            foreach (var upazila in upazilaListObj.Where(x => x.IsActive == true && x.Id > 0))
            {
                UpazilaModel upazilaTemp = new UpazilaModel();
                upazilaTemp.Id   = upazila.Id;
                upazilaTemp.Name = upazila.Name;

                upazilaVMList.Add(upazilaTemp);
            }

            return(Json(upazilaVMList, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public static UserModel PrepareUserModel(IRoleService roleService, User aUser, IDistrictService districtService = null, IUpazilaService upazilaService = null, ISchoolService schoolService = null)
        {
            UserModel um = new UserModel();

            um.Id        = aUser.Id;
            um.LoginName = aUser.LoginName;
            um.Password  = aUser.Password;
            um.Email     = aUser.Email;
            um.Name      = aUser.Employee.FullName;
            um.Email     = aUser.Employee.Email;
            um.RoleId    = aUser.RoleId;
            if (aUser.EmployeeId > 0)
            {
                um.EmployeeId = aUser.EmployeeId;
            }
            if (aUser.RoleId > 0)
            {
                var role = roleService.GetRole(Convert.ToInt32(aUser.RoleId));
                um.RoleName = role.Name;
                um.Level    = role.Level;
            }

            var lastEmpHistory = aUser.Employee.EmploymentHistories
                                 .FirstOrDefault(x => x.DateTo == null);
            var lastAdminEmpHistory = aUser.Employee.AdminEmploymentHistories
                                      .FirstOrDefault(x => x.DateTo == null);

            if (lastEmpHistory != null)
            {
                um.SchoolId = lastEmpHistory.SchoolId;
            }

            if (lastAdminEmpHistory != null)
            {
                if (lastAdminEmpHistory.DivisionId != null)
                {
                    um.DivisionId = (int)lastAdminEmpHistory.DivisionId;
                }
                if (lastAdminEmpHistory.DistrictlId != null)
                {
                    um.DistrictId = (int)lastAdminEmpHistory.DistrictlId;
                }
            }
            um.IsActive = aUser.IsActive;
            if (districtService != null && upazilaService != null && schoolService != null)
            {
                if (aUser.UserPermissions != null)
                {
                    List <UserPermissionModel> userPermissionVMList = new List <UserPermissionModel>();
                    foreach (var userPermission in aUser.UserPermissions.OrderBy(a => a.UserId))
                    {
                        UserPermissionModel userTemp = new UserPermissionModel();
                        userTemp.Id         = userPermission.Id;
                        userTemp.UserId     = userPermission.UserId;
                        userTemp.DivisionId = userPermission.DivisionId;

                        var districtListObj = districtService.GetAllDistrict().Where(x => x.IsActive == true && x.DivisionId == userTemp.DivisionId || x.Id == 0);
                        foreach (var district in districtListObj)
                        {
                            DistrictModel districtTemp = new DistrictModel();
                            districtTemp.Id   = district.Id;
                            districtTemp.Name = district.Name;
                            userTemp.DistrictList.Add(districtTemp);
                        }
                        userTemp.DistrictId = userPermission.DistrictId;
                        var upazilaListObj = upazilaService.GetAllUpazila().Where(x => x.DistrictId == userTemp.DistrictId && x.IsActive == true || x.Id == 0);

                        foreach (var upazila in upazilaListObj)
                        {
                            UpazilaModel upazilaTemp = new UpazilaModel();
                            upazilaTemp.Id   = upazila.Id;
                            upazilaTemp.Name = upazila.Name;
                            userTemp.UpazilaList.Add(upazilaTemp);
                        }

                        userTemp.UpazilaId = userPermission.UpazilaId;
                        var schoolListObj = schoolService.GetAllSchool().Where(x => x.UpazilaId == userTemp.UpazilaId || x.Id == 0);

                        foreach (var school in schoolListObj)
                        {
                            SchoolModel schoolTemp = new SchoolModel();
                            schoolTemp.Id   = school.Id;
                            schoolTemp.Name = school.Name;
                            userTemp.SchoolList.Add(schoolTemp);
                        }
                        userTemp.SchoolId = userPermission.SchoolId;
                        userPermissionVMList.Add(userTemp);
                    }
                    um.UserPermissions = userPermissionVMList;
                }
            }

            return(um);
        }