/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            UpdateRoleResponse response = new UpdateRoleResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.IsStartElement)
                {
                    if (context.TestExpression("UpdateRoleResult", 2))
                    {
                        UnmarshallResult(context, response);
                        continue;
                    }

                    if (context.TestExpression("ResponseMetadata", 2))
                    {
                        response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context);
                    }
                }
            }

            return(response);
        }
Exemple #2
0
        public static UpdateRoleResponse Unmarshall(UnmarshallerContext context)
        {
            UpdateRoleResponse updateRoleResponse = new UpdateRoleResponse();

            updateRoleResponse.HttpResponse = context.HttpResponse;
            updateRoleResponse.RequestId    = context.StringValue("UpdateRole.RequestId");
            updateRoleResponse.Success      = context.BooleanValue("UpdateRole.Success");

            return(updateRoleResponse);
        }
Exemple #3
0
        public UpdateRoleResponse UpdateRole(UpdateRoleRequest request)
        {
            UpdateRoleResponse response = new UpdateRoleResponse();

            Role role = _roleRepository.Get(request.Id);

            role.Name     = request.RolesUpdateModel.Name;
            role.UserType = request.RolesUpdateModel.UserType;

            _roleRepository.Update(role);
            _unitOfWork.Commit();

            return(response);
        }
Exemple #4
0
        public ActionResult Update(Guid id, RolesUpdateModel model)
        {
            UpdateRoleRequest request = new UpdateRoleRequest
            {
                RolesUpdateModel = model,
                Id = id
            };
            UpdateRoleResponse response = _roleService.UpdateRole(request);

            if (response.HasError)
            {
                return(HttpNotFound());
            }
            return(RedirectToAction("update", new { id = id }).AndAlert(AlertType.Success, "Success.",
                                                                        "Role updated successfully."));
        }
        public static UpdateRoleResponse Unmarshall(UnmarshallerContext context)
        {
            UpdateRoleResponse updateRoleResponse = new UpdateRoleResponse();

            updateRoleResponse.HttpResponse = context.HttpResponse;
            updateRoleResponse.RequestId    = context.StringValue("UpdateRole.RequestId");

            UpdateRoleResponse.UpdateRole_Role role = new UpdateRoleResponse.UpdateRole_Role();
            role.RoleId      = context.StringValue("UpdateRole.Role.RoleId");
            role.RoleName    = context.StringValue("UpdateRole.Role.RoleName");
            role.Arn         = context.StringValue("UpdateRole.Role.Arn");
            role.Description = context.StringValue("UpdateRole.Role.Description");
            role.AssumeRolePolicyDocument = context.StringValue("UpdateRole.Role.AssumeRolePolicyDocument");
            role.CreateDate         = context.StringValue("UpdateRole.Role.CreateDate");
            role.UpdateDate         = context.StringValue("UpdateRole.Role.UpdateDate");
            updateRoleResponse.Role = role;

            return(updateRoleResponse);
        }
        private static void UnmarshallResult(XmlUnmarshallerContext context, UpdateRoleResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth += 2;
            }

            while (context.ReadAtDepth(originalDepth))
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                }
            }

            return;
        }
        public async Task <UpdateRoleResponse> UpdateRole(UpdateRoleRequest request)
        {
            var sessionUser = await _sessionManager.GetUser();

            var response = new UpdateRoleResponse();

            var roles = await _cache.Roles();

            var role = roles.FirstOrDefault(u => u.Id == request.Id);

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

                uow.Commit();
            }

            var selectedPermissionIds = request.PermissionIds.Where(p => p.Selected).Select(p => p.Id).ToList();

            await CreateOrDeleteRolePermissions(selectedPermissionIds, request.Id, sessionUser.Id);

            _cache.Remove(CacheConstants.Roles);
            _cache.Remove(CacheConstants.RolePermissions);

            await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest()
            {
                EventKey = SessionEventKeys.RoleUpdated,
                Info     = new Dictionary <string, string>()
                {
                    { "Role_Id", request.Id.ToString() }
                }
            });

            response.Notifications.Add($"Role '{role.Name}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }
Exemple #8
0
        public async Task <UpdateRoleResponse> UpdateRole(UpdateRoleRequest request)
        {
            var session = await _sessionService.GetAuthenticatedSession();

            var response = new UpdateRoleResponse();

            var roles = await _cache.Roles();

            var role = roles.FirstOrDefault(u => u.Id == request.Id);

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

                uow.Commit();
            }

            await CreateOrDeleteRolePermissions(request.PermissionIds, request.Id, session.User.Entity.Id);

            _cache.Remove(CacheConstants.Roles);
            _cache.Remove(CacheConstants.RolePermissions);

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

            response.Notifications.Add($"Role '{role.Name}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }