Ejemplo n.º 1
0
        public IActionResult UpdateMember(Guid memberId, [FromBody] EditMemberDto memberDto)
        {
            if (memberDto == null || memberId != memberDto.Id || !ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var memberExists = _db.Members.Any(x => x.Id == memberId);

            if (!memberExists)
            {
                return(NotFound("عضو یافت نشد."));
            }

            var emailExists = _db.Members.Any(x => x.Id != memberDto.Id && x.Email == memberDto.Email);

            if (emailExists)
            {
                ModelState.AddModelError("Email", "ایمیل قبلا استفاده شده است.");
                return(StatusCode(409, ModelState));
            }

            var usernameExists = _db.Members.Any(x => x.Id != memberDto.Id && x.Username == memberDto.Username);

            if (usernameExists)
            {
                ModelState.AddModelError("Email", "عنوان قبلا استفاده شده است.");
                return(StatusCode(409, ModelState));
            }

            var memberTitleExists = _db.Members.Any(x => x.Id != memberDto.Id && x.MemberTitle == memberDto.MemberTitle);

            if (memberTitleExists)
            {
                ModelState.AddModelError("Email", "عنوان قبلا استفاده شده است.");
                return(StatusCode(409, ModelState));
            }

            var member = _mapper.Map <Member>(memberDto);

            try
            {
                _db.Members.Update(member);
                _db.SaveChanges();
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> EditMemberAsync(
            [FromRoute] string guildId,
            EditMemberDto editMemberDto,
            [FromRoute] ulong id
            )
        {
            if (editMemberDto.MemberId == null)
            {
                editMemberDto.MemberId = id.ToString();
            }

            await _botService.HandleEditMemberAsync(
                guildId, editMemberDto,
                await _userManager.GetUserAsync(User)
                );

            return(Ok());
        }