public async Task <IActionResult> Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await _context.Users.FirstOrDefaultAsync(u => u.Login == model.Login);

                if (user == null)
                {
                    // добавляем пользователя в бд
                    user = new User
                    {
                        Login     = model.Login,
                        Password  = model.Password,
                        FirstName = model.FirstName,
                        LastName  = model.LastName,
                    };
                    _context.Users.Add(user);
                    await _context.SaveChangesAsync();

                    await Authenticate(user);

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Некорректные логин и(или) пароль");
                }
            }
            return(View(model));
        }
        public async Task <IActionResult> Register(Models.RegisterModel model)
        {
            try
            {
                // Validate the ModelState
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                // Create the account. Replace the result.Errors below with custom error handling.
                IdentityUser user = new IdentityUser(model.UserName);
                user.Email = model.EmailAddress;
                var result = await _userManager.CreateAsync(user, model.Password);

                if (!result.Succeeded)
                {
                    return(BadRequest(result.Errors));
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ActionResult Register(Models.RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return(CurrentUmbracoPage());
            }
            var registerModel = Members.CreateRegistrationModel("test");

            registerModel.Email           = model.Email;
            registerModel.Password        = model.Password;
            registerModel.Name            = model.Name;
            registerModel.UsernameIsEmail = true;

            registerModel.MemberProperties.Add(new Umbraco.Web.Models.UmbracoProperty()
            {
                Alias = "interestedIn", Name = "interestedIn", Value = model.InterestedIn
            });

            // How we register the member
            Members.RegisterMember(registerModel, out System.Web.Security.MembershipCreateStatus status);

            if (status == System.Web.Security.MembershipCreateStatus.Success)
            {
                return(Redirect("/myAccount"));
            }
            else
            {
                TempData["error"] = status;
                return(CurrentUmbracoPage());
            }
        }
        public async Task <IActionResult> Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await _context.Users.FirstOrDefaultAsync(u => u.Email == model.Email);

                if (user == null)
                {
                    // добавляем пользователя в бд
                    user = new User {
                        Email = model.Email, Password = model.Password
                    };
                    Role userRole = await _context.Roles.FirstOrDefaultAsync(r => r.Name == "user");

                    if (userRole != null)
                    {
                        user.Role = userRole;
                    }

                    _context.Users.Add(user);
                    await _context.SaveChangesAsync();

                    await Authenticate(user); // аутентификация

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Некорректные логин и(или) пароль");
                }
            }
            return(View(model));
        }
        public ActionResult Create(Models.RegisterModel data)
        {
            try
            {
                try
                {
                    MembershipCreateStatus createStatus = MembershipService.CreateUser(data.UserName, data.Password, data.Email);

                    FormsService.SignIn(data.UserName, true);

                    Response.StatusCode = 200;
                    return(RedirectToAction("Read", new { userName = data.UserName }));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }

                Response.StatusCode = 406;
                return(null);
            }
            catch
            {
                Response.StatusCode = 500;
                return(null);
            }
        }
Example #6
0
 //METHODS
 public bool Register(Models.RegisterModel toRegister)
 {
     using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString))
     {
         toRegister.Token = Helpers.SHA1.Encode(toRegister.Email + toRegister.Password + toRegister.Name + toRegister.Tel);
         string query = @"Insert into [dbo].[Usuarios] ([Email],[Password],[Name],[Tel],[Token]) Values (@e,@p,@n,@t,@tk)";
         var    cmd   = new SqlCommand(query, connection);
         cmd.Parameters
         .Add(new SqlParameter("@e", SqlDbType.NVarChar))
         .Value = toRegister.Email;
         cmd.Parameters
         .Add(new SqlParameter("@p", SqlDbType.NChar))
         //.Value = toRegister.Password;
         .Value = Helpers.SHA1.Encode(toRegister.Password);
         cmd.Parameters
         .Add(new SqlParameter("@n", SqlDbType.NVarChar))
         .Value = toRegister.Name;
         cmd.Parameters
         .Add(new SqlParameter("@t", SqlDbType.NChar))
         .Value = toRegister.Tel;
         cmd.Parameters
         .Add(new SqlParameter("@tk", SqlDbType.NChar))
         .Value = toRegister.Token;
         connection.Open();
         var reader = cmd.ExecuteReader();
         reader.Dispose();
         cmd.Dispose();
         return(true);
     }
 }
        public ActionResult Register(Models.RegisterModel user)
        {
            if (ModelState.IsValid)
            {
                string connString = ConfigurationManager.ConnectionStrings["AtlasDB"].ConnectionString;
                using (var conn = new OleDbConnection(connString))
                {
                    string       query = "insert into Users (Username, [Password], FirstName, LastName, PhoneNumber, Admin) values (@username, @password, @firstName, @lastName, @phoneNumber, @admin)";
                    OleDbCommand cmd   = new OleDbCommand(query, conn);
                    cmd.Parameters.AddWithValue("@username", user.Username);
                    cmd.Parameters.AddWithValue("@password", SaltAndHash(user.Password));
                    cmd.Parameters.AddWithValue("@firstName", user.FirstName ?? "");
                    cmd.Parameters.AddWithValue("@lastName", user.LastName ?? "");
                    cmd.Parameters.AddWithValue("@phoneNumber", user.PhoneNumber ?? "");
                    cmd.Parameters.AddWithValue("@admin", false);

                    conn.Open();

                    cmd.ExecuteNonQuery();

                    conn.Close();
                    cmd.Dispose();

                    return(Login(new Models.LoginModel()
                    {
                        Username = user.Username,
                        Password = user.Password,
                        RememberMe = true
                    }));
                }
            }
            return(View(user));
        }
Example #8
0
        public async Task <ActionResult> Register(Models.RegisterModel model)
        {
            await SetInitialDataAsync();

            if (ModelState.IsValid)
            {
                UserDTO userDto = new UserDTO
                {
                    Email    = model.Email,
                    UserName = model.Username,
                    Birthday = model.Birthday,
                    Phone    = model.Phone,
                    Location = new Location {
                        NameLocation = model.Location
                    },
                    Role     = "user",
                    Gender   = model.Gender,
                    Password = model.Password
                };
                OperationDetails operationDetails = await userService.Create(userDto);

                if (operationDetails.Succedeed)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError(operationDetails.Property, operationDetails.Message);
                }
            }
            return(View(model));
        }
Example #9
0
        public ActionResult Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var dao = new UserDao();
                if (dao.CheckUserName(model.UserName))
                {
                    ModelState.AddModelError("", "Tên đăng nhập đã tồn tại.");
                    return(View(model));
                }
                else if (dao.CheckEmail(model.Email))
                {
                    ModelState.AddModelError("", "Email đã tồn tại.");
                    return(View(model));
                }
                else if (model.Password == null)
                {
                    ModelState.AddModelError("", "Mật khẩu không được để trống.");
                    return(View(model));
                }
                else if (model.ConfirmPassword != model.Password)
                {
                    ModelState.AddModelError("", "Xác nhận mật khẩu không đúng.");
                    return(View(model));
                }
                else
                {
                    var user = new User();
                    user.UserName    = model.UserName;
                    user.Password    = OnlineShop.Common.Encryptor.MD5Hash(model.Password);
                    user.GroupID     = "MEMBER";
                    user.Name        = model.Name;
                    user.Address     = model.Address;
                    user.Email       = model.Email;
                    user.Phone       = model.Phone;
                    user.CreatedDate = DateTime.Now;
                    user.CreatedBy   = model.UserName;
                    user.Status      = true;
                    user.ProvinceID  = model.ProvinceID != null ? model.ProvinceID : null;
                    user.DistrictID  = model.DistrictID != null ? model.DistrictID : null;

                    var result = dao.Insert(user);
                    if (result > 0)
                    {
                        ViewBag.Success = "Đăng ký thành công.";
                        //2 dòng clear model
                        model = new Models.RegisterModel();
                        ModelState.Clear();
                    }
                    else
                    {
                        ModelState.AddModelError("", "Đăng ký không thành công.");
                        return(View(model));
                    }
                }
            }
            return(View(model));
        }
        public override ActionResult Index(RenderModel model)
        {
            // Create the empty view model
            var pageModel = new Models.RegisterModel(model.Content);

            DialogueMapper.PopulateCommonUmbracoProperties(pageModel, model.Content);

            // Return the model to the current template
            return View(PathHelper.GetThemeViewPath("Register"), pageModel);
        }
Example #11
0
        public override ActionResult Index(RenderModel model)
        {
            // Create the empty view model
            var pageModel = new Models.RegisterModel(model.Content);

            DialogueMapper.PopulateCommonUmbracoProperties(pageModel, model.Content);

            // Return the model to the current template
            return(View(PathHelper.GetThemeViewPath("Register"), pageModel));
        }
Example #12
0
 public ActionResult Register(Models.RegisterModel registerModel)
 {
     if (ModelState.IsValid)
     {
         userManager.Register(registerModel.UserName, registerModel.Password);
         return(Redirect("~/"));
     }
     else
     {
         return(View());
     }
 }
Example #13
0
        public ActionResult Register(Models.RegisterModel model)
        {
            if (!ReCaptcha.Validate(DataUtils.GetConfig("reCaptcha:SecretKey")))
            {
                ModelState.AddModelError("", "Captcha cannot be empty");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var users = _auth0Helper.SearchAuth0UserByEmail(model.EmailAddress);
                    if (!users.Any())
                    {
                        var newUser = new SignupUserRequest();
                        newUser.ClientId     = Auth0Helper.Auth0ClientId;
                        newUser.Connection   = Auth0Helper.Connection;
                        newUser.Email        = model.EmailAddress;
                        newUser.Password     = model.Password;
                        newUser.UserMetadata = new { model.FirstName, model.LastName, model.PhoneNumber };

                        SignupUserResponse response = _client.SignupUserAsync(newUser).Result;

                        var customer = new AccountProfileModel(model.Content)
                        {
                            UserId       = $"auth0|{response.Id}",
                            EmailAddress = model.EmailAddress,
                            FirstName    = model.FirstName,
                            LastName     = model.LastName
                        };

                        MailController.Instance(Request, model.Content, CurrentUser.LanguageCode).RegistrationConfirmMail(customer).Send();
                        return(Redirect($"/{CurrentUser.LanguageCode}/account/confirm-your-email-address/"));
                    }
                    else
                    {
                        var unverifiedUser = users.FirstOrDefault(u => u.UserId.StartsWith("auth0") && u.EmailVerified == false);
                        if (unverifiedUser != null)
                        {
                            return(Redirect($"/{CurrentUser.LanguageCode}/account/resend-email-verification/?u={unverifiedUser.UserId}"));
                        }
                        ModelState.AddModelError("", "E-mail adress already exists");
                    }
                }
                catch (Exception e)
                {
                    HandleAuth0Exception(e);
                }
            }
            return(CurrentUmbracoPage());
        }
Example #14
0
        private Models.RegisterModel GetModelForRegister()
        {
            Models.RegisterModel model = new Models.RegisterModel();
            //Acceder a la bbdd y obtener la lista de roles de usuario;
            List <StrawmanDBLibray.Entities.USER_ROLE_TYPES> roles =
                (List <StrawmanDBLibray.Entities.USER_ROLE_TYPES>)Helpers.StrawmanDBLibrayData.Get(StrawmanDBLibray.Classes.StrawmanDataTables.USER_ROLE_TYPES, true);

            model.UserRoles = roles.Select(m => new SelectListItem
            {
                Text     = m.NAME,
                Value    = m.ID.ToString(),
                Selected = (m.ID == 3)
            }).ToList();
            return(model);
        }
        async public Task <bool> RegisterUser(string email, string pass, string confpass)
        {
            var registry = new Models.RegisterModel()
            {
                Email           = email.ToLower(),
                Password        = pass,
                ConfirmPassword = confpass
            };

            var jsonobj  = JsonConvert.SerializeObject(registry);
            var content  = new StringContent(jsonobj, Encoding.UTF8, "application/json");
            var response = await httpClient.PostAsync(BaseUri + "Account/Register", content);

            return(response.IsSuccessStatusCode);
        }
Example #16
0
 public ActionResult Register(Models.RegisterModel toRegister)
 {
     if (ModelState.IsValid)
     {
         if (toRegister.Register(toRegister))
         {
             FormsAuthentication.SetAuthCookie(toRegister.Email, false);
             //Models.Email Confirmation = new Models.Email(toRegister);
             //Confirmation.SendEmail(Confirmation);
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             ModelState.AddModelError("", "Sorry, an error has f****d up");
         }
     }
     return(View(toRegister));
 }
Example #17
0
        public ActionResult Register()
        {
            Models.RegisterModel model = new Models.RegisterModel();
            //Acceder a la bbdd y obtener la lista de roles de usuario;
            List <StrawmanDBLibray.Entities.USER_ROLE_TYPES> roles =
                (List <StrawmanDBLibray.Entities.USER_ROLE_TYPES>)Helpers.StrawmanDBLibrayData.Get(StrawmanDBLibray.Classes.StrawmanDataTables.USER_ROLE_TYPES, true);

            model.UserRoles = roles.Select(m => new SelectListItem
            {
                Text     = m.NAME,
                Value    = m.ID.ToString(),
                Selected = (m.ID == 3)
            }).ToList();
            //Establecer por defecto el rol standard
            //Asignar al modelo la lista y rol por defecto
            //Enviar los datos.
            return(PartialView(REGISTER, GetModelForRegister()));
        }
Example #18
0
        // GET: Register

        public ActionResult Index(Models.RegisterModel model)
        //custom properties in the model requires you to specify that it's the custom RegisterModel, and not the
        //default one in Umbraco.Web.Models when passing your model as parameter in the ActionResult method.
        {
            if (!ModelState.IsValid)
            {
                return(CurrentUmbracoPage());
            }

            //Member creation code here:
            var memberService = Services.MemberService;

            if (memberService.GetByEmail(model.Email) != null)
            {
                ModelState.AddModelError("", "Member with this email already exists.");
                return(CurrentUmbracoPage());
            }


            var member = memberService.CreateMemberWithIdentity(model.Email, model.Email, model.Name, "newsMember");

            member.SetValue("bio", model.Biography);

            //avatar is slightly more complicated, and the below is not shown in Umbraco.tv's tutorial. Was found here:
            //our.umbraco.com/forum/extending-umbraco-and-using-the-api/96345-avatar-image-upload-failed
            member.SetValue(Services.ContentTypeBaseServices, "avatar", model.Avatar.FileName, model.Avatar);

            //In the Umbraco.TV video, Andrew had the following two methods swapped around,
            //so the password was saved before the member. This didn't save the password
            //however, but googling the issue led me to switching it and now this works.
            memberService.Save(member);
            memberService.SavePassword(member, model.Password);

            //Assigns member to "Premium" group upon registration, thus giving access to the subpage.
            memberService.AssignRole(member.Username, "Premium");


            Members.Login(model.Email, model.Password);



            return(RedirectToCurrentUmbracoPage());
        }
Example #19
0
        public ActionResult Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                User user = null;
                using (UserContext db = new UserContext())
                {
                    user = db.Users.FirstOrDefault(u => u.Email == model.Name);
                }
                if (user == null)
                {
                    // создаем нового пользователя
                    using (UserContext db = new UserContext())
                    {
                        var salt = Guid.NewGuid();

                        string hashed = FormsAuthentication.HashPasswordForStoringInConfigFile(model.Password + salt, "SHA1");
                        db.Users.Add(new User {
                            Email = model.Name, Password = hashed, Age = model.Age, Salt = salt.ToString()
                        });
                        db.SaveChanges();

                        user = db.Users.Where(u => u.Email == model.Name && u.Password == hashed).FirstOrDefault();
                    }
                    // если пользователь удачно добавлен в бд
                    if (user != null)
                    {
                        FormsAuthentication.SetAuthCookie(model.Name, true);
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                }
            }

            return(View(model));
        }
Example #20
0
        //Signup
        public int GetRegister(Models.RegisterModel model)
        {
            using (var context = new MusicDBEntities())
            {
                Users u = new Users()
                {
                    Fname = model.Fname,
                    Lname = model.Lname,
                    Email = model.Email,
                    Pwd   = model.Pwd,
                    Role  = "User"
                };

                context.Users.Add(u);

                context.SaveChanges();

                return(u.Id);
            }
        }
        public async Task <IActionResult> Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(model.UserName);

                if (user == null)
                {
                    user = new MyUser
                    {
                        Id       = Guid.NewGuid().ToString(),
                        UserName = model.UserName,
                        Email    = model.UserName
                    };
                    var result = await _userManager.CreateAsync(
                        user, model.Password);

                    if (result.Succeeded)
                    {
                        var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                        var confirmationEmail = Url.Action("ConfirmEmailAddress", "Home",
                                                           new { token = token, email = user.Email }, Request.Scheme);

                        System.IO.File.WriteAllText("resetLink.txt", confirmationEmail);
                    }
                    else
                    {
                        foreach (var erro in result.Errors)
                        {
                            ModelState.AddModelError("", erro.Description);
                        }

                        return(View());
                    }
                }

                return(View("Success"));
            }
            return(View());
        }
Example #22
0
        public async Task <ActionResult> Register(Models.RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                IdentityResult result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    foreach (string error in result.Errors)
                    {
                        ModelState.AddModelError("", error);
                    }
                }
            }
            return(View(model));
        }
        public async Task <ActionResult> Register(Models.RegisterModel model)
        {
            //var s = ModelState.Where(x => x.Value.Errors.Count > 0).Select(x => new { x.Key, x.Value.Errors }).ToArray();
            if (ModelState.IsValid)
            {
                // check if email is null or empty
                if (string.IsNullOrEmpty(model.Email))
                {
                    ModelState.AddModelError("empty_email", "Please enter an Email");
                }
                // check if email is a valid email
                else
                {
                    System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"^([A-Za-z][\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
                    System.Text.RegularExpressions.Match match = regex.Match(model.Email);
                    if (!match.Success)
                    {
                        ModelState.AddModelError("invalid_email", "Provided email is invalid");
                    }
                }
                // check if password is empty or whitespace
                if (string.IsNullOrEmpty(model.Password))
                {
                    ModelState.AddModelError("empty_password", "Please enter a password");
                }
                // check if confirmation password is empty
                if (string.IsNullOrEmpty(model.ConfirmPassword))
                {
                    ModelState.AddModelError("empty_confirmpassword", "Please confirm your password");
                }
                // check if the password and password confirmation are the same
                if (!model.Password.Equals(model.ConfirmPassword))
                {
                    ModelState.AddModelError("missmatching_password", "Password was different from Confirmation");
                }
                // check if name is empty
                if (string.IsNullOrEmpty(model.Name))
                {
                    ModelState.AddModelError("empty_name", "Please enter an alias name");
                }
                if (ModelState.Any(x => x.Value.Errors.Count > 0))
                {
                    return(View(model));
                }
                IdentityUser newUser = new IdentityUser {
                    UserName = model.Email, PasswordHash = model.Password, Name = model.Name
                };
                var result = await appUserManager.CreateAsync(newUser, newUser.PasswordHash);

                if (result.Succeeded)
                {
                    ClaimsIdentity identity = new ClaimsIdentity(new[]
                    {
                        new Claim(ClaimTypes.Name, newUser.Name),
                        new Claim(ClaimTypes.Email, newUser.UserName),
                        new Claim(ClaimTypes.Sid, newUser.Id)
                    },
                                                                 "ApplicationCookie"
                                                                 );
                    Microsoft.Owin.IOwinContext ctx = Request.GetOwinContext();
                    Microsoft.Owin.Security.IAuthenticationManager authManager = ctx.Authentication;
                    authManager.SignIn(identity);
                    return(RedirectToAction("Index", "User"));
                }
                else
                {
                    ModelState.AddModelError("Invalid_Login", "An error occured processing your registration.");
                    return(View(model));
                }
            }
            else
            {
                ModelState.AddModelError("Invalid_Login", "An error occured processing your request.");
                return(View(model));
            }
        }
 public RegisterViewModel()
 {
     register = new Models.RegisterModel();
 }
Example #25
0
 public Email(Models.RegisterModel cons)
 {
     correo = cons.Email;
     token  = cons.Token;
 }
Example #26
0
        public ActionResult Register(Models.RegisterModel model, string CaptchaText)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (!this.IsCaptchaValid(""))
            {
                ViewBag.ErrMessage = "Captcha không đúng. Xin hãy nhập lại";
                return(View());
            }

            // Kiểm tra sự tồn tại của username
            bool result = userService.CheckExistsUsername(model.UserName);

            if (result)
            {
                ModelState.AddModelError(string.Empty, AdminConfigs.ERROR_USERNAME_EXISTS);
                return(View());
            }

            // Kiểm tra sự tồn tại của email.
            result = userService.CheckExistsEmail(model.Email);
            if (result)
            {
                ModelState.AddModelError(string.Empty, AdminConfigs.ERROR_EMAIL_EXISTS);
                return(View());
            }

            // Mã hóa Password
            model.Password = EncryptionHelper.Encrypt(model.Password);

            // Mã hóa email để lấy code cho người dùng xác nhận bằng email.
            string EnUser = EncryptionHelper.GetMD5HashData(model.Email);

            // Cập nhật thông tin cho người dùng.
            Entities.User u = new Entities.User();
            u.DateCreate = DateTime.Now;
            u.DateLogin  = DateTime.Now;
            u.DateUpdate = DateTime.Now;
            u.UserName   = model.UserName;
            u.Email      = model.Email;
            u.Password   = model.Password;
            u.Phone      = model.PhoneNumber;
            u.Status     = false; // Trạng thái này sẽ thành true sau khi người dùng confirm.
            u.CodeActive = EnUser;
            u.Delete     = false;
            var us = userService.Insert(u);

            if (us > 0)
            {
                // Lấy ID vừa sinh của user
                u.Id = us;

                // Tạo quyền cho người dùng.
                UserInRole userInRole = new UserInRole();
                userInRole.UserId  = u.Id;
                userInRole.State   = false;
                userInRole.RolesId = (int)Roles.Member_Normal;
                userInRoleService.Insert(userInRole);

                // Kiểm tra kiểu đăng ký
                if (model.Type == 1)
                {
                    // Chuyển tới trang đăng ký môi giới.
                    return(RedirectToAction("RegistryAgency", "User", new { area = "Admin", Id = u.Id }));
                }
                else
                {
                    // Send email
                    Uri    uri     = Request.Url;
                    string urlHost = uri.GetLeftPart(UriPartial.Authority);
                    if (MailHelper.MailRegister(u, urlHost, u.CodeActive))
                    {
                        return(View("RegistrySuccess"));
                    }
                }
            }
            return(View(model));
        }
Example #27
0
 public ActionResult Register(int Type = 0)
 {
     Models.RegisterModel model = new Models.RegisterModel();
     model.Type = Type;
     return(View(model));
 }
        public ActionResult RegAndLogin(Models.RegAndLog User)
        {
            if (User.RegisterModel != null)
            {
                if (ModelState.IsValid && !User.RegisterModel.Email.Contains("@dentappsys.com"))
                {
                    using (var db = new MaindbModelDataContext())
                    {
                        var Person = db.Patients.FirstOrDefault(u => u.Email == User.RegisterModel.Email);
                        if (Person == null)
                        {
                            string Hash = BCrypt.Net.BCrypt.HashPassword(User.RegisterModel.Password);
                            var MyUser = new Patient();
                            MyUser.Name = User.RegisterModel.Firstname;
                            MyUser.Surname = User.RegisterModel.Lastname;
                            MyUser.Birthday = User.RegisterModel.Birthday;
                            MyUser.Email = User.RegisterModel.Email;
                            MyUser.Password = Hash;
                            MyUser.PatientNo = Guid.NewGuid().GetHashCode();
                            db.Patients.InsertOnSubmit(MyUser);
                            db.SubmitChanges();

                            Session["UserEmail"] = User.RegisterModel.Email;
                            return RedirectToAction("Index", "Patient", User.RegisterModel);
                        }
                        else
                        {
                            ModelState.AddModelError("", "There is a user with this Email. Please enter another Email !!!");
                            return View();
                        }

                    }
                }
                else
                {
                    ModelState.AddModelError("", "Data is incorrect !!!");
                }
            }
            else
            {
                if (ModelState.IsValid && IsValid(User.LoginModel.Email, User.LoginModel.Password))
                {

                    if (User.LoginModel.Email.Contains("@dentappsys.com"))
                    {
                    var TempUser = new Models.RegisterModel();
                    Session["UserEmail"] = User.LoginModel.Email;
                    using (var db = new MaindbModelDataContext())
                    {
                            var person = db.Doctors.FirstOrDefault(u => u.Email == User.LoginModel.Email);
                            TempUser.Firstname = person.Name;
                            TempUser.Lastname = person.Surname;
                            //TempUser.RegisterModel.Birthday = (DateTime)person.BirthDate;
                            TempUser.Email = person.Email;

                        }
                        return RedirectToAction("Index", "Doctor", TempUser);

                    }
                    else
                    {
                        var TempUser = new Models.RegisterModel();
                        Session["UserEmail"] = User.LoginModel.Email;
                        using (var db = new MaindbModelDataContext())
                        {
                        var person = db.Patients.FirstOrDefault(u => u.Email == User.LoginModel.Email);
                        TempUser.Firstname = person.Name;
                        TempUser.Lastname = person.Surname;
                        //TempUser.RegisterModel.Birthday = (DateTime)person.BirthDate;
                        TempUser.Email = person.Email;

                    }
                    return RedirectToAction("Index", "Patient", TempUser);
                 }
                }
                else
                {
                    ModelState.AddModelError("", "Check your E-mail or Password then try again !!!");
                }
            }
            return View();
        }
Example #29
0
 public RegisterViewModel()
 {
     register = new Models.RegisterModel();
 }