Пример #1
0
        //  [DisplayName("ویرایش سطح دسترسی نقش ها   ")]
        public async Task <IActionResult> SetAcceessLevel(AccessLevelDto accessLevels)
        {
            var result = await mediator.Send(new SetAccessLevelCommand
                                             (
                                                 accessLevels.RoleId,
                                                 accessLevels.Access
                                             ));

            return(Ok());
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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"));
            }
        }