public IActionResult UpdateSimGroup(Guid id, PutSimGroupParam param) { var simGroup = _userRepository.GetSimGroup(id); simGroup.Name = param.Name; simGroup.Apn = param.Apn; simGroup.IsolatedNw1IpPool = param.IsolatedNw1IpPool; simGroup.IsolatedNw1IpRange = param.IsolatedNw1IpRange; simGroup.IsolatedNw1SecondaryDns = param.IsolatedNw1SecondaryDns; simGroup.IsolatedNw1PrimaryDns = param.IsolatedNw1PrimaryDns; simGroup.PrimaryDns = param.PrimaryDns; simGroup.SecondaryDns = param.SecondaryDns; simGroup.AuthenticationServerIp = param.AuthenticationServerIp; simGroup.NasIp = param.NasIp; simGroup.UserNameSuffix = param.UserNameSuffix; try { _userRepository.Update(simGroup); return(Ok(_userRepository.GetSimGroup(id))); } catch (DbUpdateException) { if (_context.SimGroup.Any(a => a.Id != id && a.Organization.Code == simGroup.Organization.Code && a.Name == simGroup.Name)) { ModelState.AddModelError(nameof(SimGroup), Messages.Duplicate); return(ValidationProblem(ModelState)); } if (_context.SimGroup.Any(a => a.Id != id && a.Organization.Code == simGroup.Organization.Code && a.IsolatedNw1IpPool == simGroup.IsolatedNw1IpPool)) { ModelState.AddModelError(nameof(SimGroup), Messages.Duplicate); return(ValidationProblem(ModelState)); } throw; } }
public IActionResult UpdateSimGroupMine(Guid id, PutSimGroupParam param) { var simGroup = _userRepository.GetSimGroup(id); var user = _userRepository.GetEndUser(Guid.Parse(User.Identity.Name)); if (simGroup.Organization.Code != user.Domain.Organization.Code) { ModelState.AddModelError("Role", Messages.InvalidRole); return(ValidationProblem(modelStateDictionary: ModelState, statusCode: StatusCodes.Status403Forbidden)); } return(UpdateSimGroup(id, param)); }