public BusinessLayerResult <Tester> RegisterTester(TesterRegisterViewModel data) { User user = repo_user.Find(x => x.mail == data.mail); BusinessLayerResult <Tester> res = new BusinessLayerResult <Tester>(); if (user != null) { if (user.mail == data.mail) { res.AddError(Entities.Messages.ErrorMessageCode.EMailAlreadyExists, "E-Posta adresi kayıtlı."); } } else { int dbResult = Insert(new Tester() { user_name = data.user_name, user_surname = data.user_surname, score = 0, mail = data.mail, rank = repo_rank.Find(x => x.requiredMinScore >= 0 && x.requiredMinScore < 250), user_picturepath = "user_def.png", isReady = true, password = data.password, user_regdate = DateTime.Now, ActivateGuid = Guid.NewGuid(), notifications = new List <Notification>(), }); if (dbResult > 0) { res.Result = Find(x => x.mail == data.mail); string siteUri = ConfigHelper.Get <string>("SiteRootUri"); string activateUri = $"{siteUri}/Home/TesterActivate/{res.Result.ActivateGuid}"; string body = $"Merhaba yeni Tester {res.Result.user_name}; !<br><br>Hesabını aktifleştirmek için <a href='{activateUri}' target='_blank'>tıklayınız</a>."; MailHelper.SendMail(body, res.Result.mail, "Online Test Platform Hesap Aktifleştirme"); } } return(res); }
public ActionResult TesterRegister(TesterRegisterViewModel model) { if (ModelState.IsValid) { TesterManager tm = new TesterManager(); BusinessLayerResult <Tester> res = tm.RegisterTester(model); if (res.Errors.Count > 0) { res.Errors.ForEach(x => ModelState.AddModelError("", x.Message)); return(View(model)); } OkViewModel ntfobj = new OkViewModel() { Title = "Kayıt Başarılı", RedirectingUrl = "/Home/TesterLogin", }; ntfobj.Items.Add("Lütfen e-posta adresinize gönderdiğimiz aktivasyon linkine tıklayarak hesabınızı aktive ediniz.."); return(View("Ok", ntfobj)); } return(View(model)); }