public VerificationResponse SendAccountVerificationCode(string Email)
        {
            VerificationResponse response = new VerificationResponse();

            if (Email == null || Email == "")
            {
                response.SetStatus(Constants.ResponseCode.FAILED);
                return(response);
            }

            User user = _userRepository.Get(t => t.Email == Email).FirstOrDefault();

            if (user == null)
            {
                response.SetStatus(Constants.ResponseCode.FAILED);
                return(response);
            }

            AccountVerification accountVerification = CreateAccountVerificationCode();

            MailRequest mailRequest = new MailRequest
            {
                ToMail      = user.Email,
                ToName      = user.FullName(),
                Subject     = "B-Commerce E-Mail Onayı",
                Body        = $"Merhaba {user.FullName()}\n Email onaylama kodunuz: {accountVerification.VerificationCode}",
                ProjectCode = "123456"
            };

            HttpClient httpClient = new HttpClient();

            httpClient.BaseAddress = new Uri(Constants.NOTIFICATION_API_BASE_URI);

            Task <HttpResponseMessage> httpResponse = httpClient.PostAsJsonAsync(Constants.NOTIFICATION_API_MAIL_URI, mailRequest);

            if (!httpResponse.Result.IsSuccessStatusCode)
            {
                response.SetStatus(Constants.ResponseCode.FAILED);
                return(response);
            }

            try
            {
                user.AccountVerifications.Add(accountVerification);
                _unitOfWork.SaveChanges();
                response.SetStatus(Constants.ResponseCode.SUCCESS);
                return(response);
            }
            catch (Exception)
            {
                response.SetStatus(Constants.ResponseCode.SYSTEM_ERROR);
                return(response);
            }
        }