// [DisplayName("ویرایش سطح دسترسی نقش ها ")] public async Task <IActionResult> SetAcceessLevel(AccessLevelDto accessLevels) { var result = await mediator.Send(new SetAccessLevelCommand ( accessLevels.RoleId, accessLevels.Access )); return(Ok()); }
public async Task <OperationResult <string> > SetAccess(AccessLevelDto accessLevels) { try { var currentRoleAccessValue = GetAccessLevels(accessLevels.RoleId); var currentAccess = currentRoleAccessValue.Select(x => x.Access).ToList(); var newAccess = accessLevels.Access.Except(currentAccess).ToList(); if (newAccess != null) { List <AccessLevel> accessLevelsL = new List <AccessLevel>(); foreach (var item in newAccess) { accessLevelsL.Add(new AccessLevel { Id = Guid.NewGuid(), Access = item, RoleId = accessLevels.RoleId }); } await context.BulkInsertAsync(accessLevelsL); } var removeItems = currentAccess.Except(accessLevels.Access).ToList(); if (removeItems != null) { List <AccessLevel> accessLevelsL = new List <AccessLevel>(); foreach (var item in removeItems) { var accClaim = currentRoleAccessValue.SingleOrDefault(x => x.Access == item); if (accClaim != null) { accessLevelsL.Add(accClaim); } } await context.BulkDeleteAsync(accessLevelsL); } return(OperationResult <string> .BuildSuccessResult("SuccessAdd")); } catch (Exception ex) { return(OperationResult <string> .BuildFailure(ex)); } }
public async Task <IActionResult> Put(int id, [FromBody] AccessLevelDto accessdto) { try { if (accessdto == null) { // _logger.LogError("Owner object sent from client is null."); return(BadRequest("Owner object is null")); } if (!ModelState.IsValid) { //_logger.LogError("Invalid owner object sent from client."); return(BadRequest("Invalid model object")); } var Entity = await _accesslevelService.GetbyIdAsync(accessdto.Id); if (Entity == null) { //_logger.LogError($"Owner with id: {id}, hasn't been found in db."); return(NotFound()); } _mapper.Map(accessdto, Entity); await _accesslevelService.Update(Entity); return(Ok()); //return NoContent(); } catch (Exception ex) { //_logger.LogError($"Something went wrong inside UpdateOwner action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }