private List <Entities.UserInRegion> GetListUserInRegion(int regionNum, Application2016.Areas.Admin.Models.ListUserInRegionModel listUir) { PlaceService placeService = new PlaceService(); List <Entities.UserInRegion> result = new List <Entities.UserInRegion>(); Entities.UserInRegion uir; int[] arrCity = listUir.region_city; int[] arrDistrict = listUir.region_district; int[] arrWard = listUir.region_ward; for (int i = 0; i < regionNum; i++) { uir = new UserInRegion(); uir.ListCity = placeService.ListPlaceItemByParent(0); uir.ListDistrict = new List <Item>(); uir.ListWard = new List <Item>(); if (arrCity != null) { uir.CityId = arrCity[i]; uir.DistrictId = arrDistrict[i]; uir.WardId = arrWard[i]; if (arrCity[i] > 0) { uir.ListDistrict = placeService.ListPlaceItemByParent(arrCity[i]); } if (arrDistrict[i] > 0) { uir.ListWard = placeService.ListPlaceItemByParent(arrDistrict[i]); } } result.Add(uir); } return(result); }
private void UpdateRegionAgency(int Id, Application2016.Areas.Admin.Models.ListUserInRegionModel listRegionSend, Application2016.Areas.Admin.Models.ListUserInRegionModel listRegionReceive) { UserInRegionService _service = new UserInRegionService(); // Cập nhật danh sách vùng gửi. _service.DeleteByUser(Id, 1); UserInRegion entity = new UserInRegion(); for (int i = 0; i < listRegionSend.region_ward.Length; i++) { if (listRegionSend.region_ward[i] > 0) { entity = new UserInRegion(); entity.UserId = Id; entity.RegionId = _service.GetRegionIdByWard(listRegionSend.region_ward[i]); entity.Status = true; entity.CityId = listRegionSend.region_city[i]; entity.DistrictId = listRegionSend.region_district[i]; entity.WardId = listRegionSend.region_ward[i]; entity.RegionType = 1; _service.Save(entity); } } // Cập nhật danh sách vùng nhận. _service.DeleteByUser(Id, 2); entity = new UserInRegion(); for (int i = 0; i < listRegionReceive.region_ward.Length; i++) { if (listRegionReceive.region_ward[i] > 0) { entity = new UserInRegion(); entity.UserId = Id; entity.RegionId = _service.GetRegionIdByWard(listRegionReceive.region_ward[i]); entity.Status = true; entity.CityId = listRegionReceive.region_city[i]; entity.DistrictId = listRegionReceive.region_district[i]; entity.WardId = listRegionReceive.region_ward[i]; entity.RegionType = 2; _service.Save(entity); } } }
private void UpdateRegionAgency(Models.UserModel model) { UserInRegionService _service = new UserInRegionService(); // Cập nhật danh sách vùng gửi. _service.DeleteByUser(model.Id, 1); UserInRegion entity = new UserInRegion(); for (int i = 0; i < model.ListUserInRegionSend.region_ward.Length; i++) { if (model.ListUserInRegionSend.region_ward[i] > 0) { entity = new UserInRegion(); entity.UserId = model.Id; entity.RegionId = model.ListUserInRegionSend.regionIds[i]; entity.Status = true; entity.CityId = model.ListUserInRegionSend.region_city[i]; entity.DistrictId = model.ListUserInRegionSend.region_district[i]; entity.WardId = model.ListUserInRegionSend.region_ward[i]; entity.RegionType = 1; _service.Save(entity); } } // Cập nhật danh sách vùng nhân. _service.DeleteByUser(model.Id, 2); entity = new UserInRegion(); for (int i = 0; i < model.ListUserInRegionReceive.region_ward.Length; i++) { if (model.ListUserInRegionReceive.region_ward[i] > 0) { entity = new UserInRegion(); entity.UserId = model.Id; entity.RegionId = model.ListUserInRegionReceive.regionIds[i]; entity.Status = true; entity.CityId = model.ListUserInRegionReceive.region_city[i]; entity.DistrictId = model.ListUserInRegionReceive.region_district[i]; entity.WardId = model.ListUserInRegionReceive.region_ward[i]; entity.RegionType = 2; _service.Save(entity); } } }
public ActionResult List(ListUserModel model, int[] selectedUser) { try { if (selectedUser != null) { Entities.User user; Entities.UserInRole userInRole; List <Entities.UserInRole> lstUserInRoleOld; foreach (int userId in selectedUser) { // Lấy ra thông tin cũ của User. user = userService.GetById(userId); Models.UserModel m = model.lstUser.Where(x => x.Id == userId).FirstOrDefault(); user.Status = m.Status; // Cập nhật trạng thái userService.Update(user); // Cập nhật phân quyền người dùng. // Danh sách quyền người dùng mới. int[] arrNewRole = m.NewRoles; // Danh sách quyền người dùng cũ. lstUserInRoleOld = userInRoleService.List(m.Id); // Nếu quyền mới rỗng thì update lại những quyền cũ, đưa về trạng thái false. if (arrNewRole == null) { if (lstUserInRoleOld != null) { foreach (var uir in lstUserInRoleOld) { uir.State = false; userInRoleService.Update(uir); } } } else { // Nếu có quyền người dùng mới thì kiểm tra xem quyền đó đã tồn tại chưa. // Nếu tồn tại thì update, chưa tồn tại thì thêm mới. foreach (int newRoleId in arrNewRole) { if (lstUserInRoleOld.Select(x => x.RolesId).Contains(newRoleId)) { userInRole = lstUserInRoleOld.Where(u => u.RolesId == newRoleId).FirstOrDefault(); userInRole.State = true; userInRoleService.Update(userInRole); } else { userInRole = new UserInRole(); userInRole.RolesId = newRoleId; userInRole.UserId = userId; userInRole.State = true; userInRoleService.Insert(userInRole); } } // Cập nhật quyền cho những quyền là quyền cũ nhưng không có trong quyền mới. foreach (var uri in lstUserInRoleOld) { if (!arrNewRole.Contains(uri.RolesId)) { uri.State = false; userInRoleService.Update(uri); } } // Region Service RegionService regionService = new RegionService(); // Xóa đi những vùng gửi cũ. UserInRegionService userInRegionService = new UserInRegionService(); userInRegionService.DeleteByUser(userId, 1); // Cập nhật lại danh sách vùng gửi int[] listRegion; if (m.ListUserInRegionSend != null) { listRegion = m.ListUserInRegionSend.regionIds; if (listRegion.Count() > 0) { UserInRegion userInRegion; foreach (int regionId in listRegion) { userInRegion = new UserInRegion(); userInRegion.RegionId = regionId; userInRegion.UserId = userId; userInRegion.Status = true; userInRegion.RegionType = 1; // vùng gửi. // Lấy thông tin tỉnh, huyện theo vùng mới. var region = regionService.GetById(regionId); userInRegion.CityId = region.CityId; userInRegion.DistrictId = region.DistrictId; userInRegionService.Save(userInRegion); } } } // Xóa đi những vùng gửi cũ. userInRegionService.DeleteByUser(userId, 2); // Cập nhật lại danh sách vùng nhận if (m.ListUserInRegionReceive != null) { listRegion = m.ListUserInRegionReceive.regionIds; if (listRegion.Count() > 0) { UserInRegion userInRegion; foreach (int regionId in listRegion) { userInRegion = new UserInRegion(); userInRegion.RegionId = regionId; userInRegion.UserId = userId; userInRegion.Status = true; userInRegion.RegionType = 2; // vùng nhận // Lấy thông tin tỉnh, huyện theo vùng mới. var region = regionService.GetById(regionId); userInRegion.CityId = region.CityId; userInRegion.DistrictId = region.DistrictId; userInRegionService.Save(userInRegion); } } } } } } TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_SUCCESS; } catch { TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_ERROR; } LoadData(ref model); return(View(model)); }