Ejemplo n.º 1
0
        public async Task <UpdatePermissionResponse> UpdatePermission(UpdatePermissionRequest request)
        {
            var session = await _sessionService.GetAuthenticatedSession();

            var response = new UpdatePermissionResponse();

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                await uow.UserRepo.UpdatePermission(new Infrastructure.Repositories.UserRepo.Models.UpdatePermissionRequest()
                {
                    Id          = request.Id,
                    Name        = request.Name,
                    Group_Name  = request.GroupName,
                    Description = request.Description,
                    Updated_By  = session.User.Entity.Id
                });

                uow.Commit();
            }

            _cache.Remove(CacheConstants.Permissions);

            var permissions = await _cache.Permissions();

            var permission = permissions.FirstOrDefault(c => c.Id == request.Id);

            await _sessionService.WriteSessionLogEvent(new Models.ServiceModels.Session.CreateSessionLogEventRequest()
            {
                EventKey = SessionEventKeys.PermissionUpdated
            });

            response.Notifications.Add($"Permission '{permission.Key}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }
Ejemplo n.º 2
0
        public async Task <UpdatePermissionResponse> UpdatePermission(UpdatePermissionRequest request)
        {
            var sessionUser = await _sessionManager.GetUser();

            var response = new UpdatePermissionResponse();

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                await uow.UserRepo.UpdatePermission(new Repositories.DatabaseRepos.UserRepo.Models.UpdatePermissionRequest()
                {
                    Id          = request.Id,
                    Name        = request.Name,
                    Group_Name  = request.GroupName,
                    Description = request.Description,
                    Updated_By  = sessionUser.Id
                });

                uow.Commit();
            }

            _cache.Remove(CacheConstants.Permissions);

            var permissions = await _cache.Permissions();

            var permission = permissions.FirstOrDefault(c => c.Id == request.Id);

            await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest()
            {
                EventKey = SessionEventKeys.PermissionUpdated,
                Info     = new Dictionary <string, string>()
                {
                    { "Key", permission.Key }
                }
            });

            response.Notifications.Add($"Permission '{permission.Key}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }