コード例 #1
0
        public BaseResponse <LabelOutputDto> Create([FromBody] LabelInputDto labelInputDto)
        {
            var userId = User.GetUserId();

            return(_labelService.Create(labelInputDto, userId));
        }
コード例 #2
0
        public async Task <ActionResult> DeleteUser(string username)
        {
            var user = await _userManager.FindByNameAsync(username);

            if (user == null)
            {
                return(NotFound("User not found!"));
            }

            var rolesForUser = await _userManager.GetRolesAsync(user);

            if (user.Id == User.GetUserId())
            {
                return(BadRequest("You can not delete yourself!"));
            }

            if (rolesForUser.Any(x => x == "Admin"))
            {
                return(BadRequest("You can not delete admin!"));
            }

            var result = IdentityResult.Success;

            _unitOfWork.BeginTransaction();

            await _unitOfWork.LikesRepository.DeleteLikes(user);

            if (_unitOfWork.HasChanges() && !await _unitOfWork.Complete())
            {
                result = IdentityResult.Failed();
            }

            if (result.Succeeded)
            {
                result = await DeleteMessages(user);
            }

            if (result.Succeeded)
            {
                result = await DeletePhoto(user);
            }

            if (result.Succeeded)
            {
                result = await RemoveLogins(user);
            }

            if (result.Succeeded)
            {
                result = await RemoveRoles(rolesForUser, user);
            }

            if (result.Succeeded)
            {
                result = await _userManager.DeleteAsync(user);
            }

            if (!result.Succeeded)
            {
                return(BadRequest("Failed to delete user"));
            }

            _unitOfWork.CommitTransaction();
            return(Ok());
        }
コード例 #3
0
        public async Task <ActionResult <IEnumerable <LikeDto> > > GetAllUserLikes(string predicate)
        {
            var users = await _unitOfWork.LikesRepository.GetAllUserLikes(predicate, User.GetUserId());

            return(Ok(users));
        }
コード例 #4
0
        public async Task <ActionResult <MemberContainerDto> > Status()
        {
            var sourceUserId = User.GetUserId();

            return(await this.unitOfWork.DockerRepository.GetMemberContainersAsync(sourceUserId));
        }