public User ValidateLoginUserCedential(AudienceCredentials credential) { var sqlQuery = LoginUserQuery(); _log.DebugFormat("Excecuting validation User Query. Query : {0}", sqlQuery); using (var multi = _db.QueryMultipleAsync(sqlQuery, new { @email = credential.Username.Trim(), @password = _cryptoGraphy.EncryptString(credential.Password.Trim()) }).Result) { var userDetail = multi.ReadAsync <User>().Result.FirstOrDefault(); return(userDetail); } }
public UserCardDetails GetUserCardDetailByCardNumber(string cardNumber, long userId) { var sqlQuery = GetUserCardDetailByCardNumberQuery(); var userCardDetails = _db.Query <UserCardDetails>(sqlQuery, new { @cardNumber = _cryptoGraphy.EncryptString(cardNumber), @userId = userId }).FirstOrDefault(); return(userCardDetails); }
public long InsertEmployee(WebUser model) { var sqlQuery = InsertEmployeeQuery(); var webUserId = _db.ExecuteScalar <long>(sqlQuery, new { @email = model.Email, @password = string.IsNullOrEmpty(model.Password) ? null : _cryptoGraphy.EncryptString(model.Password), @name = model.Name, @additionalinformation = model.AdditionalInformation, @roleId = model.RoleId, @createdby = model.CreatedBy, @createddate = DateTime.Now, @modifiedby = model.ModifiedBy, @modifieddate = DateTime.Now }); return(webUserId); }
public object ValidateAndCreateUser(RegisterModel model) { var message = string.Empty; User authUser = null; //_userRegistrationValidators.Validate(model); if (!string.IsNullOrEmpty(model.AuthId)) { var oAuthIdExist = false; var emailIdExist = false; _accessTokenRepository.CheckOAuthUserExistsAndCheckEmailExists(model.AuthId, model.UserName, out oAuthIdExist, out emailIdExist); if (emailIdExist) { var user = _accessTokenRepository.GetUserByEmail(model.UserName); if (user != null) { model.Id = user.Id; var loginMap = LoginWithFacebookMapperForOAuthUserEmail(model); _accessTokenRepository.OAuthEmailUserUpdate(loginMap); authUser = user; var emailToken = TokenMapper(authUser as User, _accessTokenRepository.CreateToken(authUser)); return(emailToken); } } else { var user = UserAudienceCredentialsMapper(model); user.IsVerified = true; user.UserCode = Convert.ToString(Guid.NewGuid()); SaveUserCode(user.UserCode); var userId = _accessTokenRepository.CreateNewUser(user); user.Id = userId; authUser = user; message = "Användare tillagd."; var emailToken = TokenMapper(authUser as User, _accessTokenRepository.CreateToken(authUser), message); return(emailToken); } } else { _userRegistrationValidators.Validate(model); var user = UserAudienceCredentialsMapper(model); user.UserCode = Convert.ToString(Guid.NewGuid()); SaveUserCode(user.UserCode); var userId = _accessTokenRepository.CreateNewUser(user); user.Id = userId; authUser = user; message = "Användare tillagd."; } var webUrl = ConfigurationManager.AppSettings["WebUrl"]; var fields = new StringDictionary { { "signUpUrl", string.Format("{0}{1}{2}{3}", Convert.ToString(webUrl), "/Email/ConfirmEmail?id=", _cryptoGraphy.EncryptString(Convert.ToString(authUser.Id)), "&email=" + _cryptoGraphy.EncryptString(authUser.Email)) } }; message = "Vi har sänt dig ett verifikationsemail, vänligen verifiera din emailadress."; var htmlBody = _fm.ReadFileContents(GetMailerTemplatePath("html", "CreateUser")).ReplaceMatch(fields); _emailNotifier.SendEmail(authUser.Email, htmlBody, "Verify Link"); var registerResponse = new RegisterResponse { UserId = authUser.Id, Message = message }; //var token = TokenMapper(authUser as User, _accessTokenRepository.CreateToken(authUser)); //token.Message = message; return(registerResponse); }
public bool AddUserCardDetails(UserCardDetailModel model) { try { _userCardDetailValidators.Validate(model); var errorMessage = string.Empty; var userCardDetailModel = new UserCardDetailModel(); var user = _accessTokenRepository.GetUser(model.UserId.Value); if (user == null) { throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Användare finns inte."); } //var cardExist = _userRepository.GetUserCardDetailByCardNumber(model.CardNumber, model.UserId.Value); //if (cardExist != null) // throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Kortnummer finns redan."); //if (response.CvcCheck.ToLower() != "pass") // throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Card is not valid."); //var isValidCard = CreditCardHelper.IsCardNumberValid(model.CardNumber, out errorMessage); //if (!isValidCard) // throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", errorMessage); var updateCard = UpdateUserCard(model); if (!updateCard) { var customers = new StripeCustomerService(); StripeConfiguration.SetApiKey(ConfigurationManager.AppSettings["StripPublishKey"]); var tokenService = new StripeTokenService(); var token = tokenService.Create(new StripeTokenCreateOptions { Card = new StripeCreditCardOptions { Cvc = model.CVC.ToString(), Number = model.CardNumber.Replace(" ", ""), ExpirationMonth = model.ExpiredMonth, ExpirationYear = model.ExpiredYear } }); StripeConfiguration.SetApiKey(ConfigurationManager.AppSettings["StripSecretKey"]); var customerId = customers.Create(new StripeCustomerCreateOptions { SourceToken = token.Id }); var cardType = CreditCardHelper.GetCardType(model.CardNumber); StripeCardService card = new StripeCardService(); var cardToken = CreditCardHelper.GetCardTokens(token.StripeCard.Brand); var response = card.Create(customerId.Id, new StripeCardCreateOptions { SourceToken = cardToken }); var userCardDetails = new UserCardDetails { UserId = model.UserId, CardNumber = _cryptoGraphy.EncryptString(model.CardNumber), CardType = cardType.ToString(), ExpiredMonth = model.ExpiredMonth, ExpiredYear = model.ExpiredYear, CVC = model.CVC, CreditCardId = customerId.Id, PhoneNumber = model.PhoneNumber, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; var userCardDetailId = _userRepository.AddUserCardDetails(userCardDetails); } } catch (StripeException ex) { switch (ex.StripeError.ErrorType) { case "card_error": throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", ex.StripeError.Message); case "api_connection_error": break; case "api_error": break; case "authentication_error": break; case "invalid_request_error": break; case "rate_limit_error": break; case "validation_error": break; default: // Unknown Error Type break; } } return(true); }