public async Task <ModelResponseMessageRegisterUser> AddRegisterUserAsync(EntityRegisterUser entity_model)
        {
            ModelResponseMessageRegisterUser resp = new ModelResponseMessageRegisterUser();

            var cultureInfo = new CultureInfo("en-GB");

            CultureInfo.DefaultThreadCurrentCulture   = cultureInfo;
            CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;

            var LicenseKey = GenerateToken.GetToken();

            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand("sp_register_user", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@RegisterId", SqlDbType.VarChar, 100).Value    = DateTime.Now.ToString("yyyyMMdd");
                    cmd.Parameters.Add("@LicenseKey", SqlDbType.NVarChar).Value        = LicenseKey;
                    cmd.Parameters.Add("@UserId", SqlDbType.VarChar, 200).Value        = entity_model.userid;
                    cmd.Parameters.Add("@Passw", SqlDbType.NVarChar, 500).Value        = entity_model.passw;
                    cmd.Parameters.Add("@ConfirmPassw", SqlDbType.NVarChar, 500).Value = entity_model.confirmpassw;
                    cmd.Parameters.Add("@Email", SqlDbType.VarChar, 250).Value         = entity_model.email;
                    cmd.Parameters.Add("@RegisterDate", SqlDbType.DateTime).Value      = entity_model.register_date;
                    cmd.Parameters.Add("@ExpireDate", SqlDbType.DateTime).Value        = entity_model.register_expire;

                    SqlParameter rStatus = cmd.Parameters.Add("@rStatus", SqlDbType.Int);
                    rStatus.Direction = ParameterDirection.Output;
                    SqlParameter rMessage = cmd.Parameters.Add("@rMessage", SqlDbType.NVarChar, 500);
                    rMessage.Direction = ParameterDirection.Output;
                    SqlParameter rRegisterId = cmd.Parameters.Add("@rRegisterId", SqlDbType.VarChar, 100);
                    rRegisterId.Direction = ParameterDirection.Output;

                    await cmd.ExecuteNonQueryAsync();

                    if ((int)cmd.Parameters["@rStatus"].Value > 0)
                    {
                        resp.Status     = true;
                        resp.RegisterId = cmd.Parameters["@rRegisterId"].Value.ToString();
                    }
                    else
                    {
                        resp.Message = cmd.Parameters["@rMessage"].Value.ToString();
                    }
                }
                conn.Close();
            }
            return(resp);
        }
Beispiel #2
0
        public async Task <ModelResponseMessageRegisterUser> AddRegisterUserAsync(ModelRegisterUser model)
        {
            ModelResponseMessageRegisterUser resp = new ModelResponseMessageRegisterUser();

            if (model.passw == model.confirmpassw)
            {
                EntityRegisterUser entity_model = new EntityRegisterUser();

                entity_model.userid          = model.userid;
                entity_model.passw           = GenerateToken.GetPassword(model.passw);
                entity_model.confirmpassw    = GenerateToken.GetPassword(model.confirmpassw);
                entity_model.email           = model.email;
                entity_model.register_date   = DateTime.Now;
                entity_model.register_expire = DateTime.Now.AddDays(3);

                resp = await _IRegisterUserRepository.AddRegisterUserAsync(entity_model);
            }
            else
            {
                resp.Message = "Password no match.";
            }

            return(resp);
        }
        public async Task <IActionResult> RegisterUser([FromBody] ModelRegisterUser model)
        {
            IActionResult _result = BadRequest();

            ModelResponseMessageRegisterUser e = await _IRegisterUserService.AddRegisterUserAsync(model);

            if (e.Status == true)
            {
                _result = Ok(e);

                string serverip = Encoding.UTF8.GetString(Convert.FromBase64String(_EnvironmentConfig.Server));

                string registerId = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(e.RegisterId));

                string linkactive = $"{serverip}/{"efilling/RegisterActive"}?RegisterId={registerId}";

                string mail_body = "<h3>รหัสลงทะเบียนของคุณคือ</h3>" + Environment.NewLine +
                                   "<h2>" + e.RegisterId + "</h2>" + Environment.NewLine +
                                   "<h4>หากคุณต้องการยืนยันการลงทะเบียนกรุณาคลิ้ก <a href='" + linkactive + "'>ยืนยันการลงทะเบียน</a>.</h4>";

                await _EmailHelper.SentGmail(model.email, "eFilling : แจ้งการลงทะเบียน", mail_body, "");
            }
            return(_result);
        }