Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }