public async Task <ApplicationResult <Member> > IsValidateAsync(SigninDto dto)
        {
            var member = _memberRepository.GetFirstOrDefault(predicate: x => x.Account == dto.Account);

            if (member == null)
            {
                return(ApplicationResult <Member> .Failed(new ApplicationError
                {
                    Code = nameof(Member.Account),
                    Description = "會員不存在!!"
                }));
            }

            if (member.Account != dto.Account)
            {
                var failed = ApplicationResult <Member> .Failed(
                    new ApplicationError
                {
                    Code        = nameof(member.Password),
                    Description = "輸入密碼錯誤!!"
                }
                    );

                failed.Data = _mapper.Map <Member>(member);

                return(failed);
            }

            var success = ApplicationResult <Member> .Success;

            success.Data = _mapper.Map <Member>(member);

            return(success);
        }
        public async Task <ApplicationResult <Member> > CreateAsync(SignupDto dto)
        {
            var member = await FindByAccountAsync(dto.Account);

            if (member == null)
            {
                return(ApplicationResult <Member> .Failed(new ApplicationError
                {
                    Code = nameof(Member.Account),
                    Description = "會員已存在!"
                }));
            }

            var newMemberSeq = Guid.NewGuid();
            var newMember    = new FdMember()
            {
                MemberSeq  = newMemberSeq,
                Account    = dto.Account,
                Password   = dto.Password,
                CreateTime = DateTime.Now,
                UpdateTime = DateTime.Now
            };

            await _memberRepository.InsertAsync(newMember);

            var effectRows = await _unitOfWork.SaveChangesAsync();

            var result = effectRows > 0 ? ApplicationResult <Member> .Success : ApplicationResult <Member> .Failed();

            if (result.Succeeded)
            {
                result.Data = _mapper.Map <Member>(newMember);
            }

            return(result);
        }