示例#1
0
        public async Task <bool> RegisterUser(RegisterUsers registerUsers)
        {
            var usercount = await _context.RegisterUser.Where(user => user.Username == registerUsers.Username &&
                                                              user.Password == PasswordEncryption.HashPassword(registerUsers.Password) &&
                                                              user.ApiKey == registerUsers.ApiKey &&
                                                              user.Email == registerUsers.Email)
                            .CountAsync();

            if (usercount > 0)
            {
                return(true);
            }
            else
            {
                var user = new RegisterUsers
                {
                    Username   = registerUsers.Username,
                    Password   = PasswordEncryption.HashPassword(registerUsers.Password),
                    Email      = registerUsers.Email,
                    ApiKey     = registerUsers.ApiKey,
                    SignupDate = DateTime.Now
                };

                await _context.RegisterUser.AddAsync(user);

                await _context.SaveChangesAsync();

                return(false);
            }
        }
        public void Post([FromBody] UserPhone phone)
        {
            RegisterUsers registerUsers = new RegisterUsers();

            registerUsers.Name                      = phone.Name;
            registerUsers.Surname                   = phone.Surname;
            registerUsers.RegisterUsersPhones       = new RegisterUsersPhones();
            registerUsers.RegisterUsersPhones.Phone = phone.Phone;

            databaseBTCContext.RegisterUsers.Add(registerUsers);
            databaseBTCContext.SaveChanges();

            ValidationCodes validationCodes = new ValidationCodes();

            validationCodes.IdUser = registerUsers.IdUser;

            databaseBTCContext.ValidationCodes.Add(validationCodes);
            databaseBTCContext.SaveChanges();

            Wallet wallet = new Wallet();

            wallet.AdressName = string.Format("Wallet adress for: {0}", validationCodes.IdCode);
            wallet.IdCode     = validationCodes.IdCode;

            databaseBTCContext.Wallet.Add(wallet);
            databaseBTCContext.SaveChanges();

            sendSms(registerUsers, validationCodes);
        }
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            RegisterUsers objRegisterUsers = new RegisterUsers();

            if (actionContext.Request.Headers.Authorization == null || actionContext.Request.Headers.Authorization.Parameter == "null")
            {
                actionContext.Response = actionContext.Request
                                         .CreateResponse(HttpStatusCode.BadRequest, "401");
            }
            else
            {
                string authenticationToken = actionContext.Request.Headers
                                             .Authorization.Parameter;
                EncryptandDecrypt obj        = new EncryptandDecrypt();
                string            user_token = obj.Decrypt(authenticationToken);

                //if (objRegisterUsers.Login(user))
                //{
                Thread.CurrentPrincipal = new GenericPrincipal(
                    new GenericIdentity(user_token), null);
                //}
                //else
                //{
                //    actionContext.Response = actionContext.Request
                //        .CreateResponse(HttpStatusCode.Unauthorized);
                //}
            }
        }
        public void Post([FromBody] UserEmail mail)
        {
            RegisterUsers registerUsers = new RegisterUsers();

            registerUsers.Name                      = mail.Name;
            registerUsers.Surname                   = mail.Surname;
            registerUsers.RegisterUsersEmails       = new RegisterUsersEmails();
            registerUsers.RegisterUsersEmails.Email = mail.Email;

            databaseBTCContext.RegisterUsers.Add(registerUsers);
            databaseBTCContext.SaveChanges();

            ValidationCodes validationCodes = new ValidationCodes();

            validationCodes.IdUser = registerUsers.IdUser;

            databaseBTCContext.ValidationCodes.Add(validationCodes);
            databaseBTCContext.SaveChanges();

            Wallet wallet = new Wallet();

            wallet.AdressName = string.Format("Wallet adress for: {0}", validationCodes.IdCode);
            wallet.IdCode     = validationCodes.IdCode;

            databaseBTCContext.Wallet.Add(wallet);
            databaseBTCContext.SaveChanges();

            sendEmail(registerUsers, validationCodes);
        }
        public IActionResult registerSubmit(RegisterUsers newRegister)
        {
            if (ModelState.IsValid)
            {
                if (dbContext.Users.Any(u => u.Email == newRegister.Email)) //Users is the name of the table in the database
                {
                    //check to see if email is unique
                    ModelState.AddModelError("Email", "Email already in use.");
                    return(View("Register"));
                }
                if (ModelState.IsValid)
                {
                    //hash password
                    PasswordHasher <RegisterUsers> Hasher = new PasswordHasher <RegisterUsers>();
                    newRegister.Password = Hasher.HashPassword(newRegister, newRegister.Password);

                    //save to the database
                    dbContext.Add(newRegister);
                    dbContext.SaveChanges();
                }
                HttpContext.Session.SetInt32("id", newRegister.UsersId);
                return(RedirectToAction("Success"));
            }
            else
            {
                return(View("Register"));
            }
        }
 public IActionResult loginSubmit(LoginUsers userSubmission)
 {
     if (ModelState.IsValid)
     {
         //if null, there is no user with that email, they need to register
         RegisterUsers userInDB = dbContext.Users.FirstOrDefault(a => a.Email == userSubmission.Email);
         if (userInDB == null)
         {
             ModelState.AddModelError("Email", "Invalid Email/Password combination.");
             return(View("Login"));
         }
         else
         {
             var hasher = new PasswordHasher <LoginUsers>();
             var result = hasher.VerifyHashedPassword(userSubmission, userInDB.Password, userSubmission.Password);
             if (result == 0)
             {
                 ModelState.AddModelError("Email", "Invalid Email/Password combination!");
                 return(View("Login"));
             }
         }
         //put the user into session
         HttpContext.Session.SetInt32("id", userInDB.UsersId);
         return(RedirectToAction("Success"));
     }
     else
     {
         return(View("Login"));
     }
 }
示例#7
0
        public IActionResult RegisterBBDD(RegisterUsers user)
        {
            _LoginService.Create(user);


            return(RedirectToAction("Index", "Login"));
        }
        private void sendEmail(RegisterUsers registerUsers, ValidationCodes validationCodes)
        {
            System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();
            httpClient.BaseAddress = new Uri("http://127.0.0.1:4005");
            EmailClient emailClient = new EmailClient(httpClient);

            emailClient.PostAsync(registerUsers.RegisterUsersEmails.Email, "", "Your register code", validationCodes.IdCode.ToString());
        }
        private void sendSms(RegisterUsers registerUsers, ValidationCodes validationCodes)
        {
            System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();
            httpClient.BaseAddress = new Uri("http://127.0.0.1:4010");
            SmsClient emailClient = new SmsClient(httpClient);

            emailClient.PostAsync(registerUsers.RegisterUsersPhones.Phone, string.Format("Your register code: {0}", validationCodes.IdCode.ToString()));
        }
        public IActionResult Success()
        {
            if (HttpContext.Session.GetInt32("id") == null) //not logged in
            {
                return(View("Login"));
            }
            ;
            RegisterUsers userInSession = dbContext.Users.FirstOrDefault(a => a.UsersId == HttpContext.Session.GetInt32("id"));

            return(View("Success", userInSession));
        }
示例#11
0
 public async Task <IActionResult> SignUp([FromForm] RegisterUsers registerUsers)
 {
     if (await _repositoryRegistration.RegisterUser(registerUsers) == true)
     {
         return(BadRequest("User already exists..."));
     }
     else
     {
         return(Ok("Registration was successful..."));
     }
 }
示例#12
0
        private void TimerDailyElapsed(object sender, ElapsedEventArgs e)
        {
            var now = DateTime.Now;

            if (now.Hour >= 10 && now.Hour < 11 && now.DayOfWeek != DayOfWeek.Saturday && now.DayOfWeek != DayOfWeek.Sunday && now.Date.Day != _lastDateAlertedRegisterUsers)
            {
                RegisterUsers?.Invoke(this, new TimerAlertsEventArgs());

                _lastDateAlertedRegisterUsers = now.Date.Day;
            }
        }
示例#13
0
 public ActionResult Get(RegisterUsers user)
 {
     try
     {
         if (ModelState.IsValid)
         {
             Random r               = new Random();
             int    salt            = r.Next(0, 100);
             int    res             = salt / 2;
             string cryptedPassword = user.Password + res.ToString();
             user.CryptedPassword = cryptedPassword;
             user.PasswordSalt    = salt.ToString();
             var newUser = new Users
             {
                 Name            = user.Name,
                 Email           = user.Email,
                 Surname         = user.Surname,
                 CryptedPassword = user.CryptedPassword,
                 PasswordSalt    = salt.ToString(),
                 Mobile          = user.Mobile
             };
             int?result = crud.AddUser(newUser);
             if (result != null)
             {
                 FormsAuthentication.SetAuthCookie(newUser.Email, false);
                 var       createduser = crud.GetInfo(result, null);
                 UsersData usersData   = new UsersData()
                 {
                     Surname = createduser.Surname,
                     Name    = createduser.Name,
                     Email   = createduser.Email,
                     Mobile  = createduser.Mobile,
                     UserId  = createduser.UserId
                 };
                 return(View("Get", usersData));
             }
             else
             {
                 ViewBag.Message = "Пользователь уже существует";
                 return(View("Registration"));
             }
         }
         else
         {
             return(View("Registration"));
         }
     }
     catch (Exception ex)
     {
         logger.Info("Error to save user - ", ex.Message);
         return(null);
     }
 }
示例#14
0
        public ActionResult GetUpdate(int?userid)
        {
            Users user = crud.GetInfo(userid, null);

            ViewBag.IsUpdateMode = true;
            RegisterUsers reguser = new RegisterUsers
            {
                Name    = user.Name,
                Surname = user.Surname,
                Email   = user.Email,
                Mobile  = user.Mobile,
                UserId  = user.UserId
            };

            return(View("Registration", reguser));
        }
示例#15
0
        public IActionResult Login(RegisterUsers user)
        {
            var getUser = _LoginService.Get(user);


            if (getUser != null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Este usuario no esta registrado");

                return(View("Index"));
            }
        }
示例#16
0
 public void Create(RegisterUsers user)
 {
     user.Password = Encriptar(user.Password);
     _Login.InsertOne(user);
 }
示例#17
0
 public RegisterUsers Get(RegisterUsers user) =>
 _Login.Find <RegisterUsers>(users => (users.Password == Encriptar(user.Password)) && (users.Identificador == user.Identificador)).FirstOrDefault();