public async Task <int> BuyPoint(ConsumerUser user, string transactionJson, string transactionId, string productId, PointType pointType) { var point = await _userRepository.GetPointAsync(productId, pointType); if (point == null) { throw new BusinessException("PointNotFound", "Puan bulunamadı."); } var newTransaction = new BuyPointTransaction() { Point = point, PointValue = point.PointValue, ProductId = productId, SubmitDateUtc = DateTime.UtcNow, TransactionId = transactionId, TransactionJson = transactionJson, User = user }; await _userRepository.SaveBuyPointTransaction(newTransaction); user.Point = user.Point + point.PointValue; _userRepository.UpdateUser(user); await _unitOfWork.CompleteAsync(); return(user.Point); }
private void FalCommentedMailToConsumer(ConsumerUser user) { try { var userConfirmationMailTemplatePath = _environment.ContentRootPath + "\\Assets\\Templates\\FalCommented.html"; var template = System.IO.File.ReadAllText(userConfirmationMailTemplatePath); template = template .Replace("[fullName]", user.FullName); _emailHelper.Send( new EmailModel { To = user.Email, Subject = "Falcım - Falına bakıldı", IsBodyHtml = true, Message = template } ); } catch (Exception e) { try { _logger.LogError("FalCommentedMailSendError: " + user?.Email + ", Errors: " + e.Message + " - " + e.InnerException?.Message); } catch { } } }
public ConsumerUserInfoDto(ConsumerUser consumerUser) { PhoneNumber = consumerUser.PhoneNumber; Name = consumerUser.Name; EmailAddress = consumerUser.EmailAddress; IsActive = consumerUser.IsActive; IsRoamingActivated = consumerUser.IsRoamingActivated; IsIDDActivated = consumerUser.IsIDDActivated; }
public async Task InsertAsync(ConsumerUser consumerUser) { var query = @"INSERT INTO ConsumerUser(PhoneNumber, `Password`, `Name`, IsActive, IsRoamingActivated, IsIDDActivated, EmailAddress, TotalRewardPoints) VALUES (@PhoneNumber, @Password, @Name, @IsActive, @IsRoamingActivated, @IsIDDActivated, @EmailAddress, @TotalRewardPoints)"; using (var connection = DbConnection) { await connection.ExecuteAsync(query, consumerUser); } }
public async Task SeedConsumerUserDataAsync() { if (await _consumerUserRepository.GetConsumerUserByPhoneNumberAsync("018009999") is null) { var user = new ConsumerUser { PhoneNumber = "018009999", Password = Crypto.HashPassword("imredone"), Name = "Test User", EmailAddress = "*****@*****.**", IsActive = true, IsIDDActivated = false, IsRoamingActivated = false, TotalRewardPoints = 2000 }; await _consumerUserRepository.InsertAsync(user); } }
public async Task <ActionResult> RegisterNewUser(RegisterNewUserRequest request) { request.UserName = request.UserName != null?request.UserName.Trim() : request.UserName; request.Email = request.Email != null?request.Email.Trim() : request.Email; request.Password = request.Password.Trim(); request.Password2 = request.Password2.Trim(); if (string.IsNullOrWhiteSpace(request.UserName)) { throw new BusinessException("EmptyUserName", "Kullanıcı adı boş olamaz."); } if (string.IsNullOrWhiteSpace(request.Email)) { throw new BusinessException("EmptyEmail", "Email boş olamaz."); } if (!Validations.IsValidEmail(request.Email)) { throw new BusinessException("NotValidEmail", "Geçerli bir E-Mail adresi girin."); } if (string.IsNullOrWhiteSpace(request.FullName)) { throw new BusinessException("EmptyFullname", "İsim boş olamaz."); } if (string.IsNullOrWhiteSpace(request.Password)) { throw new BusinessException("EmptyPassword", "Şifre boş olamaz."); } if (request.Password != request.Password2) { throw new BusinessException("PasswordsMustBeSame", "Şifreler eşit olmalı."); } if (request.Password.Length < 6) { throw new BusinessException("PasswordLengthError", "Şifre 6 karakterden az olamaz."); } var existingUser = await _userManager.FindByNameAsync(request.UserName); if (existingUser != null) { throw new BusinessException("UserAlreadyExists", "Kullanıcı zaten mevcut."); } var userByMail = await _userManager.FindByEmailAsync(request.Email); if (userByMail != null) { throw new BusinessException("EmailAlreadyExists", "Email zaten mevcut."); } var user = new ConsumerUser { UserName = request.UserName, Email = request.Email, FullName = request.FullName, CreateDate = DateTime.UtcNow, Gender = request.Gender, RelationshipStatus = request.RelationshipStatus, Job = request.Job, PicturePath = "defaultProfilePicture.png" }; if (request.BirthDate.HasValue) { user.BirthDate = new DateTime(request.BirthDate.Value.Year, request.BirthDate.Value.Month, request.BirthDate.Value.Day); } if (request.BirthTime.HasValue) { user.BirthTime = new DateTime(1, 1, 1, request.BirthTime.Value.Hour, request.BirthTime.Value.Minute, 0); } await _userManager.CreateAsync(user, request.Password); await _userManager.AddToRoleAsync(user, "Consumer"); var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); var entryUrl = _configuration.GetValue <string>("EntryUrl"); var emailConfirmationLink = entryUrl + "/#/newUserConfirmation?email=" + request.Email + "&token=" + WebUtility.UrlEncode(token); var userConfirmationMailTemplatePath = _environment.ContentRootPath + "\\Assets\\Templates\\UserConfirmationMail.html"; var template = System.IO.File.ReadAllText(userConfirmationMailTemplatePath); template = template .Replace("[userName]", request.FullName) .Replace("[confirmationLink]", emailConfirmationLink); _emailHelper.Send( new EmailModel { To = request.Email, Subject = "Falcım - Kullanıcı Onayı", IsBodyHtml = true, Message = template } ); return(Ok()); }