Beispiel #1
0
        public HttpMessage <User> Register(RegisterUser register)
        {
            return(TryCatchResponse(() =>
            {
                if (register == null || string.IsNullOrEmpty(register.Email))
                {
                    throw new Exception("Неверные параметры регистрации.");
                }

                List <User> users = GetUsers(register.Email);

                if (users != null && users.Count > 0)
                {
                    throw new Exception("Пользователь уже зарегистрирован.");
                }

                User user = InsertUser(new User()
                {
                    Email = register.Email
                });
                User_Role user_role = InsertUserRole(new User_Role()
                {
                    User = user.Id, Role = 2
                });
                User_Sec user_sec = SetPassword(user, user.Email, null, "Регистрация в Auto Parts Site");

                return CreateResponseOk(user);
            }));
        }
        private User_Sec SetPassword(User user, string email, string pass = null, string subject = null)
        {
            string   passResult = string.IsNullOrEmpty(pass) ? Password.Generate(Password.minPasswordLength) : pass;
            User_Sec user_sec   = new User_Sec()
            {
                Id = user.Id, Pass = Password.ComputeHash(passResult)
            };

            ExecQuery((query) =>
            {
                query.ExecuteNonQuery(@"user\sec\[set]", new SqlParameter[] { new SqlParameter("@id", value: user_sec.Id), new SqlParameter("@pass", value: user_sec.Pass) });
            });

            //if (!string.IsNullOrEmpty(user.phone))
            //{
            //    string body = string.Concat("Ваш пароль для входа: ", user_sec.pass);
            //    var resultSMS = SMS.SendSMS("https://sms.ru/sms/send?api_id=112D81F5-A8AD-6687-4914-0DD89D0528A0&to=7", user.phone, body);
            //}

            if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(subject))
            {
                string body = string.Concat("Ваш пароль для входа: ", passResult);
                Core.Net.EMail.SendEMail(AppSettings.Smtp.Host, AppSettings.Smtp.Port, AppSettings.Smtp.EnableSsl, AppSettings.Mail.Address, AppSettings.Mail.Password, email, subject, body);
            }
            return(user_sec);
        }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (pass.Text == pass2.Text)
     {
         User_Sec user_Sec = new User_Sec {
             Number_phone = phone.Text.ToString(), Pass = pass.Text.ToString(), isenable = true
         };
         db.GetTable <User_Sec>().InsertOnSubmit(user_Sec);
         db.SubmitChanges();
         Table <User_Sec> autoid = db.GetTable <User_Sec>();
         foreach (var id in autoid)
         {
             idusers = id.Id_user;
         }
         Registrations_user registration = new Registrations_user {
             Name_user = name.Text.ToString(), Job = job.Text.ToString(), id_fk_user = idusers
         };
         db.GetTable <Registrations_user>().InsertOnSubmit(registration);
         db.SubmitChanges();
     }
 }