コード例 #1
0
        public ActionResult Register(RegisterVO model)
        {
            if (model.ContractAccepted == false)
            {
                ModelState.AddModelError("ContractAccepted", "Devam etmek için hizmet sözleşmesini kabul etmelisin.");
            }

            if (ModelState.IsValid)
            {
                BusinessLayerResult <EvernoteUser> blr = eum.RegisterUser(model);

                if (blr.Errors.Count > 0)
                {
                    blr.Errors.ForEach(x => ModelState.AddModelError("", x.Value));
                    return(View(model));
                }

                OkViewModel okViewModel = new OkViewModel();

                okViewModel.Items.Add("Kayıt işleminiz başarılı bir şekilde gerçekleştirilmiştir");
                okViewModel.Items.Add("E-posta adresinize gönderilen aktivasyon linki ile hesabınızı aktifleştirebilirsiniz");

                return(View("Ok", okViewModel));
            }

            return(View(model));
        }
コード例 #2
0
        public BusinessLayerResult <EvernoteUser> RegisterUser(RegisterVO data)
        {
            BusinessLayerResult <EvernoteUser> blr = new BusinessLayerResult <EvernoteUser>();
            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.Email);

            if (user != null)
            {
                if (user.Username == data.Username)
                {
                    blr.AddError(ErrorCode.UsernameAlreadyExists, "Bu kullanıcı adı kullanılıyor!");
                }

                if (user.Email == data.Email)
                {
                    blr.AddError(ErrorCode.EmailAlreadyExists, "Bu e-posta adresi kullanılıyor!");
                }
            }
            else
            {
                int affectedRow = base.Insert(new EvernoteUser
                {
                    Username             = data.Username,
                    Email                = data.Email,
                    Password             = Crypto.HashPassword(data.Password),
                    ActivateGuid         = Guid.NewGuid(),
                    IsActive             = false,
                    IsAdmin              = false,
                    ProfileImageFileName = "avatar.png"
                });

                if (affectedRow > 0)
                {
                    blr.Result = Find(x => x.Username == data.Username && x.Email == data.Email);

                    string siteUri     = ConfigHelper.Get <string>("SiteRootUri");
                    string activateUri = $"{siteUri}/Home/UserActivate/{blr.Result.ActivateGuid}";
                    string body        = $"Merhaba {blr.Result.Username}, <br/><br/> Hesabınızı aktifleştirmek için lütfen <a href ='{activateUri}' target='_bank'>tıklayınız...</a>";

                    MailHelper.SendMail(body, blr.Result.Email, "MyEvernote Hesap Aktivasyonu");
                }
            }

            return(blr);
        }