public ActionResult UpdateUser(int id) { ModelState.Clear(); Models.RegionUserModel model = new Models.RegionUserModel(); if (id > 0) { var region = regionService.GetById(id); model.Id = region.Id; model.Text = region.Text; } // Danh sách User của vùng //model.ListUserOfRegion = regionService.ListUserItemByRegionId(id); model.ListUserOfRegion = userService.ListAgencyByRegion(id); // Danh sách Môi giới //model.ListUsers = userService.ListUserItemByRoleId(-1); model.ListUsers = userService.ListAgency(); // Get List Role RoleService roleService = new RoleService(); model.ListRole = roleService.ListAgency(); model.ListRole.Insert(0, new Entities.Item() { Id = 0, Text = "Chọn loại môi giới" }); // Tính số lượng môi giới tối đa trong vùng model.MaxAgency = regionService.CountMaxAgency(id); return(View(model)); }
public ActionResult UpdateUser(Models.RegionUserModel model) { if (ModelState.IsValid) { // Cập nhật vào bảng userInRegion UserInRegionService userInRegionService = new UserInRegionService(); var lstUserIDNew = model.UserOfRegionIds; // Bỏ những user trong vùng cũ (nếu không còn trong danh sách mới) // Lấy danh sách user của vùng cũ. var lstUserOld = regionService.ListUserItemByRegionId(model.Id); if (lstUserOld != null) { // Duyệt, xử lý dữ liệu cũ foreach (var u in lstUserOld) { // Nếu danh sách mới mà không chứa ID user cũ thì xóa user đó đi. // Cũng có thể chọn cách khác là cập nhật trạng thái, chuyển về Status = 0; if (!lstUserIDNew.Contains(u.Id)) { userInRegionService.DeleteByUser(u.Id); } } } // Cập nhật những user mới. Entities.UserInRegion userInRegion; foreach (var uId in lstUserIDNew) { if (!lstUserOld.Any(x => x.Id == uId)) { userInRegion = new Entities.UserInRegion(); userInRegion.UserId = uId; userInRegion.RegionId = model.Id; userInRegion.Status = true; //userInRegionService.Insert(userInRegion); userInRegionService.Save(userInRegion); } } TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_SUCCESS; TempData[AdminConfigs.TEMP_REDIRECT] = @Url.Action("Index2", "Region"); } else { var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_ERROR; } // Get List Role RoleService roleService = new RoleService(); model.ListRole = roleService.ListAgency(); model.ListRole.Insert(0, new Entities.Item() { Id = 0, Text = "Chọn loại môi giới" }); // Lấy danh sách user của region //m.ListUserOfRegion = regionService.ListUserItemByRegionId(id); model.ListUserOfRegion = userService.ListAgencyByRegion(model.RoleId); // lấy danh sách user //m.ListUsers = userService.ListUserItemByRoleId(-1); model.ListUsers = userService.ListAgency(); ViewBag.ActionForm = "UpdateUser"; return(View(model)); }