Пример #1
0
        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);
        }
Пример #2
0
        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));
        }