[ValidateAntiForgeryToken] //Güvenlik testleri için
        public async Task <ActionResult> Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var user        = await userManager.FindAsync(model.Username, model.Password);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "Böyle bir kullanıcı bulunamadı");
                return(View(model));
            }
            //Kullanıcı varsa sigin ile oturum açılır
            var authManager = HttpContext.GetOwinContext().Authentication;
            //Authentication işlemini düzenlemek için kullanılır
            var userIdentity = await userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); //kimlik oluşturulur

            authManager.SignIn(new AuthenticationProperties
            {
                IsPersistent = model.RememberMe //rememberme seçili ise kalıcı bir giriş oluşturulur
            }, userIdentity);
            return(RedirectToAction("Index", "Home"));
        }
        // GET: Admin
        public ActionResult Index()
        {
            var roles       = MemberShipTools.NewRoleManager().Roles.ToList();
            var userManager = MemberShipTools.NewUserManager();
            var users       = userManager.Users.ToList().Select(x => new UsersViewModel
            {
                Email        = x.Email,
                Name         = x.Name,
                RegisterDate = x.RegistryDate,
                Salary       = x.Salary,
                SurName      = x.Surname,
                UserId       = x.Id,
                UserName     = x.UserName,
                RoleId       = x.Roles.FirstOrDefault().RoleId,
                RoleName     = roles.FirstOrDefault(y => y.Id == userManager.FindById(x.Id).Roles.FirstOrDefault().RoleId).Name
            }).ToList();

            //List<SelectListItem> rolist = new List<SelectListItem>();
            //roles.ForEach(x => new SelectListItem()
            //{
            //    Text=x.Name,
            //    Value=x.Id
            //});
            //ViewBag.roles = rolist;

            return(View(users));
        }
        public async Task <ActionResult> Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var user        = await userManager.FindAsync(model.KullaniciAd, model.Sifre);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "Böyle bir kullanıcı bulunamadı");
                return(View(model));
            }
            var authManager  = HttpContext.GetOwinContext().Authentication;
            var userIdentity = await userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);

            authManager.SignIn(new AuthenticationProperties
            {
                IsPersistent = true
            }, userIdentity);


            return(RedirectToAction("Index", "Home"));
        }
Exemple #4
0
        public async Task <ActionResult> Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userManager = MemberShipTools.NewUserManager();

            var user = await userManager.FindAsync(model.UserName, model.Password);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "Böyle bir kullanıcı bulunamadı!");
                return(View(model));
            }
            else
            {
                //kullanıcıyı bulduysa giris yap cıkıs yap (sign in, sign out islemleri için hazır metodların bulunduğu AuthenticationManager nesnesine ihtiyac vardır.
                var authManager  = HttpContext.GetOwinContext().Authentication;
                var userIdentity = await userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);


                authManager.SignIn(new AuthenticationProperties()
                {
                    IsPersistent = model.RememberMe
                }, userIdentity);

                return(RedirectToAction("Index", "Home"));
            }
        }
        // GET: Admin
        public ActionResult Index()
        {
            var roles       = MemberShipTools.NewRoleManager().Roles.ToList();
            var userManager = MemberShipTools.NewUserManager();
            var users       = userManager.Users.Select(x => new UsersViewModel
            {
                UserId       = x.Id,
                Email        = x.Email,
                Name         = x.Name,
                Surname      = x.Surname,
                UserName     = x.UserName,
                Salary       = x.Salary,
                RegisterDate = x.RegisterDate,
                RoleId       = x.Roles.FirstOrDefault().RoleId,
                RoleName     = roles.FirstOrDefault(y => y.Id == x.Roles.FirstOrDefault().RoleId).Name
            }).ToList();

            List <SelectListItem> RoleList = new List <SelectListItem>();

            roles.ForEach(x => new SelectListItem()
            {
                Text  = x.Name,
                Value = x.Id
            });
            ViewBag.roles = RoleList;
            return(View(users));
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userManager = MemberShipTools.NewUserManager();

            var checkUser = userManager.FindByName(model.TCNo);



            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu TC No sistemde kayıtlı");
                return(View(model));
            }

            checkUser = userManager.FindByEmail(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu mail adresi sistemde kayıtlı");
                return(View(model));
            }

            var user = new Kullanici()
            {
                Ad       = model.Ad,
                Soyad    = model.Soyad,
                Email    = model.Email,
                UserName = model.TCNo,
            };

            var response = userManager.Create(user, model.Sifre);

            if (response.Succeeded)
            {
                if (userManager.Users.ToList().Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                }
                return(RedirectToAction("Login", "Hesap"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluiştu");
                return(View(model));
            }
        }
        public ActionResult Profile()
        {
            var userManager = MemberShipTools.NewUserManager();
            var id          = HttpContext.User.Identity.GetUserId();
            var user        = userManager.FindById(id);

            ProfileViewModel model = new ProfileViewModel()
            {
                Email   = user.Email,
                Name    = user.Name,
                Surname = user.Surname,
            };

            return(View(model));
        }
Exemple #8
0
        public ActionResult Profil()
        {
            var userManager = MemberShipTools.NewUserManager();
            var user        = userManager.FindById(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId());
            var model       = new ProfilePasswordViewModel()
            {
                ProfileModel = new ProfilViewModel {
                    Id       = user.Id,
                    Email    = user.Email,
                    Name     = user.Name,
                    Surname  = user.Surname,
                    UserName = user.UserName
                }
            };

            return(View(model));
        }
Exemple #9
0
        public ActionResult EditUser(string id)
        {
            if (id == null)
            {
                RedirectToAction("Index");
            }

            var roles = MemberShipTools.NewRoleManager().Roles.ToList();


            List <SelectListItem> rolList = new List <SelectListItem>();

            roles.ForEach(x => new SelectListItem()
            {
                Text  = x.Name,
                Value = x.Id
            });
            ViewBag.roles = rolList;


            var userManager = MemberShipTools.NewUserManager();
            var user        = userManager.FindById(id);

            if (user == null)
            {
                return(RedirectToAction("Index"));
            }


            var model = new UsersViewModel()
            {
                UserName     = user.UserName,
                Email        = user.Email,
                Name         = user.Name,
                Surname      = user.Surname,
                RegisterDate = user.RegisterDate,
                RoleId       = user.Roles.ToList().FirstOrDefault().RoleId,
                RoleName     = roles.FirstOrDefault(y => y.Id == userManager.FindById(user.Id).Roles.FirstOrDefault().RoleId).Name,
                Salary       = user.Salary,
                UserId       = user.Id
            };

            return(View(model));
        }
Exemple #10
0
        // GET: Admin
        public ActionResult Index()
        {
            var roles       = MemberShipTools.NewRoleManager().Roles.ToList();
            var userManager = MemberShipTools.NewUserManager();
            var users       = userManager.Users.ToList().Select(x => new UsersViewModel
            {
                userId       = x.Id,
                Name         = x.Name,
                Surname      = x.Surname,
                Email        = x.Email,
                Username     = x.UserName,
                RegisterDate = x.RegiterDate,
                Salary       = x.Salary,
                RoleId       = x.Roles.FirstOrDefault().RoleId,
                RoleName     = roles.FirstOrDefault(y => y.Id == userManager.FindById(x.Id).Roles.FirstOrDefault().RoleId).Name
            }).ToList();

            return(View(users));
        }
Exemple #11
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            //eğer view tarafında form kurallı bir bicimde doldurulmadıysa direk modeli viewe geri döner. aşağıdaki islemleri yapmaz.
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Kullanıcı kayıt islemleri yapılacak.
            //var userStore = new UserStore<ApplicationUser>(new BlogContext())
            var userManager = MemberShipTools.NewUserManager();
            var checkuser   = userManager.FindByName(model.UserName);

            if (checkuser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlıdır!");
                return(View(model));
            }

            var user = new ApplicationUser
            {
                Name     = model.Name,
                Surname  = model.Surname,
                UserName = model.UserName,
                Email    = model.Email,
            };

            var sonuc = await userManager.CreateAsync(user, model.Password);

            if (sonuc.Succeeded)
            {
                //eğer basarılı ise kullanıcı kaydedilmistir. Kullanıcıya role atayabiliriz.
                await userManager.AddToRoleAsync(user.Id, "User");

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kullanıcı kayıt isleminde hata oluştu");
                return(View(model));
            }
        }
        public ActionResult Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var checkUser   = userManager.FindByName(model.Name);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı!");
                return(View(model));
            }
            var user = new ApplicationUser()
            {
                Name     = model.Name,
                Surname  = model.Surname,
                Email    = model.Email,
                UserName = model.Username,
                Birthday = model.DogumTarihi
            };
            var sonuc = userManager.Create(user, model.Password);

            if (sonuc.Succeeded)
            {
                userManager.AddToRole(user.Id, "Admin");
                userManager.AddToRole(user.Id, "User");
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kullanıcı kayıt işleminde hata oluştu!");
                return(View(model));
            }
        }
        public async Task <ActionResult> Uyelik(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userManager = MemberShipTools.NewUserManager();
            var checkUser   = userManager.FindByName(model.KullaniciAd);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı!");
                return(View(model));
            }

            checkUser = userManager.FindByEmail(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu eposta adresi kullanılmakta");
                return(View(model));
            }
            // register işlemi yapılır
            var     activationCode = Guid.NewGuid().ToString();
            AppUser user           = new AppUser()
            {
                Ad             = model.Ad,
                Soyad          = model.Soyad,
                Email          = model.Email,
                UserName       = model.KullaniciAd,
                ActivationCode = activationCode
            };

            var response = userManager.Create(user, model.Sifre);

            if (response.Succeeded)
            {
                string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host +
                                 (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
                if (userManager.Users.Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailViewModel
                    {
                        Kime  = user.Email,
                        Konu  = "Hoşgeldin Sahip",
                        Mesaj = "Sitemizi yöneteceğin için çok mutluyuz ^^"
                    });
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailViewModel
                    {
                        Kime  = user.Email,
                        Konu  = "Personel Yönetimi - Aktivasyon",
                        Mesaj =
                            $"Merhaba {user.Ad} {user.Soyad} <br/>Hesabınızı aktifleştirmek için <a href='{siteUrl}/Hesap/Activation?code={activationCode}'>Aktivasyon Kodu : {activationCode}</a>"
                    });
                }

                return(RedirectToAction("Login", "Hesap"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt İşleminde bir hata oluştu");
                return(View(model));
            }
        }
        [ValidateAntiForgeryToken]//Güvenlik Testleri için Gerekli--Arkaplanda Session oluşturur ve kendi formumuzdaki sessions la eşleşiyormu diye kontrol eder.
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            //Kayıt olmadan önce kontrol edilir.
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var checkUser   = userManager.FindByName(model.Username);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu Kullanıcı Zaten Kayıtlı !");
                return(View(model));
            }
            checkUser = userManager.FindByEmail(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu e-posta adresi kullanılmaktadır.");
                return(View(model));
            }
            //Register İşlemi Yapılır.
            var             activationCode = Guid.NewGuid().ToString();//Guid benzersiz bir id oluşturur.
            ApplicationUser user           = new ApplicationUser()
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                UserName       = model.Username,
                ActivationCode = activationCode
            };
            var response = userManager.Create(user, model.Password); //Passwordu hash etme işlemini Create methodunda yapar.

            if (response.Succeeded)                                  //kayıt başarılı ise
            {
                string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
                //scheme:Http/https SchemeDelimiter:// Url.Host www vs. IsDefaultPort:localhosttaki gibi port numarası varsa yaz yoksa boş bırak.


                if (userManager.Users.Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailViewModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Sahip",
                        Message = "Sitemizi yöneteceğin için çok mutluyuz. ^^"
                    }); //await kullanırsak methodun başına async yazılır ve method void olmalı  void değilse Task <geridönüştipi> yazılır.
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailViewModel
                    {
                        To      = user.Email,
                        Subject = "Personel Yönetimi - Aktivasyon",

                        /* Message = $"Merhaba{user.Name} {user.Surname} <br/> Sistemi kullanabilmeniz için <a href='http://localhost:28442/Account/Activation?code={activationCode}'>Aktivasyon Kodu</a>" */

                        Message = $"Merhaba{user.Name} {user.Surname} <br/> Sistemi kullanabilmeniz için <a href='{siteUrl}/Account/Activation?code={activationCode}'>Aktivasyon Kodu</a>" //$ doları koyduğumuzda girilecek c# kodlarını tanır.
                    });
                }
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluştu.");
                return(View(model));
            }
        }
Exemple #15
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            //kayıt olmadan önce kontrol ediliyor
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var checkUser   = userManager.FindByName(model.Username);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı");
                return(View(model));
            }
            checkUser = userManager.FindByEmail(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu eposta adresi kullanılmakta");
                return(View(model));
            }

            //register işlemi yapılır
            var            activationCode = Guid.NewGuid().ToString();
            AplicationUser user           = new AplicationUser()
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                UserName       = model.Username,
                ActivationCode = activationCode
            };

            var response = userManager.Create(user, model.Password);

            if (response.Succeeded)
            {
                string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); //evladiyelik her yerde kullanabilirsin

                if (userManager.Users.Count() == 1)                                                                                                       //ilk kullanıcıyı kaydettik
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Sahip",
                        Message = "Sitemizi yöneteceğin için çok mutluyuz ^^"
                    });
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Personel Yönetimi-Aktivasyon",
                        Message = $"Merhaba{user.Name}{user.Surname}<br/>Sistemi kullanabilmeniz için <a href='{siteUrl}/Account/Activation?code={activationCode}'>Aktivasyon Kodu</a>"  //dolar işareti koyunca süslü parantez gibi yazabiliriz. siteUrl yi yukarıda genel tanımladık
                    });
                }
                return(RedirectToAction("Login", "Account"));
            }
            else   //yukarıdaki if succeed in else i
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluştu");
                return(View(model));
            }
        }
        [ValidateAntiForgeryToken]                                         //Güvenlik testleri için
        public async Task <ActionResult> Register(RegisterViewModel model) //asenkron kullanılacaksa async yazılır
        {
            //kayıt olmadan önce kontrol ediliyor
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var checkUser   = userManager.FindByName(model.Username);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı!");
                return(View(model));
            }
            //register işlemi yapılır
            checkUser = userManager.FindByEmail(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu eposta adresi kullanılmakta");
                return(View(model));
            }
            var             activationCode = Guid.NewGuid().ToString(); //aktivasyon kodu üretilir
            ApplicationUser user           = new ApplicationUser()      //kullanıcı oluşturduk
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                UserName       = model.Username,
                ActivationCode = activationCode
            };
            var response = userManager.Create(user, model.Password); //arka planda şifreler koyar

            if (response.Succeeded)
            {
                string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
                if (userManager.Users.Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Sahip",
                        Message = "Sitemizi yöneteceğin için çok mutluyuz:)"
                    });
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Personel Yönetimi-Aktivasyon",
                        Message = $"Merhaba {user.UserName}, </br> Sisteme başarı ile kayıt oldunuz. <br/> Hesabınızı aktifleştirmek için <a href='{siteUrl}/Account/Activation?code={activationCode}'>Aktivasyon Kodu</a>",//her zaman aynı local gelmeyebilir
                    });
                }
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluştu.");
                return(View());
            }
        }
Exemple #17
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();
            var checkuser   = userManager.FindByName(model.Username);

            if (checkuser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullacını zaten kayıtlı");
                return(View(model));
            }
            checkuser = userManager.FindByEmail(model.Email);
            if (checkuser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullacını zaten kayıtlı");
                return(View(model));
            }

            var             activationcode = Guid.NewGuid().ToString();
            ApplicationUser user           = new ApplicationUser()
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                UserName       = model.Username,
                ActivationCode = activationcode
            };
            var response = userManager.Create(user, model.Password);

            if (response.Succeeded)
            {
                string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
                if (userManager.Users.Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Adamım",
                        Message = "Siteyi Yönet Dayı"
                    });
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailModel
                    {
                        Message = $"Merhaba {user.Name}{user.Surname}, </br> Sisteme başarı ile kayıt oldunuz. <br/> Hesabınızı aktifleştirmek için <a href='{siteUrl}/Account/Activation?code={activationcode}'>Aktivasyon Kodu</a>",
                        Subject = "Personel Yönetimi - Aktivasyon",
                        To      = user.Email
                    });
                }
                return(RedirectToAction("Login", "Acount"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluştu");
                return(View());
            }
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var userManager = MemberShipTools.NewUserManager();

            var checkUser = userManager.FindByName(model.Username);

            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı!");
                return(View(model));
            }

            checkUser = userManager.FindByName(model.Email);
            if (checkUser != null)
            {
                ModelState.AddModelError(string.Empty, "Bu e-posta adresi kullanımda!");
                return(View(model));
            }

            var             activationCod = Guid.NewGuid().ToString();
            ApplicationUser user          = new ApplicationUser()
            {
                Name           = model.Name,
                Surname        = model.Surname,
                Email          = model.Email,
                UserName       = model.Username,
                ActivationCode = activationCod
            };

            var response = userManager.Create(user, model.Password);

            if (response.Succeeded)
            {
                string siteURL = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);

                if (userManager.Users.Count() == 1)
                {
                    userManager.AddToRole(user.Id, "Admin");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Sahip",
                        Message = "Sitemizi yöneteceğin için çok mutluyuz ^_^"
                    });
                }
                else
                {
                    userManager.AddToRole(user.Id, "Passive");
                    await SiteSettings.SendMail(new MailModel
                    {
                        To      = user.Email,
                        Subject = "Hoşgeldin Sahip",
                        Message = $"Merhaba {user.Name} {user.Surname}<br/>Sistemi Kulanabilmeniz için <a href='{siteURL}/Account/Activation?code={activationCod}'>Aktivasyon Kodu</a>"
                    });
                }
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Kayıt işleminde bir hata oluştu");
                return(View(model));
            }
        }