public BusinessLayerResult <MyNotesUser> RegisterUser(RegisterViewModel model) { /////////////////////////////////////////////////////////////////////////////////////////////////////////// //Kullanıcı e-mail ve username kotrolü. //Kayıt işlem. //Activasyon e-postası gönderimi. /////////////////////////////////////////////////////////////////////////////////////////////////////////// //Register Page'den gelen model nesnesinin 'Username' ve 'Email' attributeleri User tablosunda var mı? MyNotesUser user = repo_user.Find(x => x.Username == model.Username || x.Email == model.EMail); //Bu class nesnesi, bulunduğumuz metodunun dönüş tipidir. Error listesi ve kayıt olan kullanıcı verisini tutar. BusinessLayerResult <MyNotesUser> RegisterResult = new BusinessLayerResult <MyNotesUser>(); // Error Kontrolü if (user != null) { if (user.Username == model.Username) { RegisterResult.AddError(ErrorMessageCode.UsernameAlreadyExists, "Username alanı kullanılıyor."); } if (user.Email == model.EMail) { RegisterResult.AddError(ErrorMessageCode.EmailAlreadyExists, "E-Posta adresi kullanılıyor."); } } // db Insert User else { int insertResult = repo_user.Insert(new MyNotesUser() { Username = model.Username, Email = model.EMail, Password = model.Password, ActivateGuid = Guid.NewGuid(), IsActive = false, IsAdmin = false }); // db Insert Success if (insertResult > 0) { // Get User > User Set to RegisterResult RegisterResult.Result = repo_user.Find(x => x.Username == model.Username || x.Email == model.EMail); // Mail Context string siteUri = ConfigHelper.Get <string>("SiteRootUri"); string activateUri = $"{siteUri}/Home/UserActivate/{RegisterResult.Result.ActivateGuid}"; string body = $"Merhaba {RegisterResult.Result.Username};<br><br>Hesabınızı aktifleştirmek için <a href='{activateUri}' target='_blank'>tıklayınız</a>."; MailHelper.SendMail(body, RegisterResult.Result.Email, "MyNotes Hesap Aktifleştirme"); } } //RegisterResult: Hata varsa hata mesajlarını veya kullanıcı eklendiyse kullanıcı bilgisini barındırır. return(RegisterResult); }
public string GetCurrentUsername() { if (HttpContext.Current.Session["login"] != null) { MyNotesUser user = (MyNotesUser)HttpContext.Current.Session["login"]; return(user.Username); } return("system"); }