public ActionResult UserNavPartial()
        {
            //Capture Logged in User
            string username;

            username = this.User.Identity.Name;

            //Get user info from DB
            UserNavPartialViewModel userNavVM;

            using (WSADDbContext context = new WSADDbContext())
            {
                //search for user
                Models.Data.User userDTO = context.Users.FirstOrDefault(x => x.Username == username);

                if (userDTO == null)
                {
                    return(Content(""));
                }

                //Build UserNavPartialViewModel
                userNavVM = new UserNavPartialViewModel()
                {
                    FirstName = userDTO.FirstName,
                    LastName  = userDTO.LastName,
                    Id        = userDTO.Id
                };
            }


            //Send view model
            return(PartialView(userNavVM));
        }
Example #2
0
        public ActionResult UserNavPartial()
        {
            //capture logged in user
            string username;

            username = this.User.Identity.Name;
            //get user information from database

            UserNavPartialViewModel userNavVM;

            using (WSADDbContext context = new WSADDbContext())
            {
                //search for user
                Models.Data.User userDTO = context.Users.FirstOrDefault(x => x.Username == username);

                if (userDTO == null)
                {
                    return(Content(""));
                }
                //Build  our UserNavPartialViewModel
                userNavVM = new UserNavPartialViewModel()
                {
                    FirstName = userDTO.FirstName,
                    LastName  = userDTO.LastName,
                    id        = userDTO.Id
                };
            }
            //send the view model to the partial view
            return(PartialView(userNavVM));
        }
Example #3
0
        public ActionResult UserNavPartial()
        {
            //Capture logged in user
            string username;

            username = this.User.Identity.Name;
            UserNavPartialViewModel userNavVM;

            //Get info from db
            using (RateMyLandlordDbContext context = new RateMyLandlordDbContext())
            {
                //Search for User
                Models.Data.User userDTO = context.Users.FirstOrDefault(x => x.Username == username);

                if (userDTO == null)
                {
                    return(Content(""));
                }

                //Build Partial view
                userNavVM = new UserNavPartialViewModel
                {
                    Username = userDTO.Username,
                    Id       = userDTO.Id
                };
            }

            //Send the View model
            return(PartialView(userNavVM));
        }
Example #4
0
        public ActionResult Create(CreateUserViewModel newUser)
        {
            //Validate the new User


            //Check That the required fields are set
            if (!ModelState.IsValid)
            {
                return(View(newUser));
            }

            //Check password matches confirmpassword
            if (!newUser.Password.Equals(newUser.PasswordConfirm))
            {
                ModelState.AddModelError("", "Password does not match Password Confirm.");
                return(View(newUser));
            }
            string hashedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(newUser.Password, "MD5");

            //Create an instance of DbContext
            using (RateMyLandlordDbContext context = new RateMyLandlordDbContext())
            {
                //Make sure username is unique
                if (context.Users.Any(row => row.Username.Equals(newUser.Username)))
                {
                    ModelState.AddModelError("", "Username '" + newUser.Username + "'already exists. Try again.");
                    newUser.Username = "";
                    return(View(newUser));
                }



                //Create our userDTO
                User newUserDTO = new Models.Data.User()
                {
                    FirstName    = newUser.FirstName,
                    LastName     = newUser.LastName,
                    Username     = newUser.Username,
                    Email        = newUser.Email,
                    Password     = hashedPassword,
                    AccountType  = newUser.AccountType,
                    IsActive     = true,
                    IsAdmin      = false,
                    IsLandlord   = newUser.IsLandlord,
                    landlordID   = newUser.LandlordId,
                    DateCreated  = DateTime.Now,
                    DateModified = DateTime.Now
                };

                //Add to DbContext
                newUserDTO = context.Users.Add(newUserDTO);

                //Save Changes
                context.SaveChanges();
            }

            //Redirect to the Login Page
            return(RedirectToAction("login"));
        }
Example #5
0
 public IActionResult Success(Models.Data.User user)
 {
     if (!HttpContext.Session.Keys.Contains("UserID"))
     {
         return(Redirect("/"));
     }
     return(View());
 }
Example #6
0
 public static User Map(Models.Data.User value)
 {
     return(new User
     {
         Id = value.Id,
         FirstName = value.FirstName,
         LastName = value.LastName,
         Email = value.Email,
         Pseudo = value.Pseudo,
         Password = value.Password,
         Experience = value.Experience,
     });
 }
        public ActionResult Create(CreateUserViewModel newUser)
        {
            //Check required fields
            if (!ModelState.IsValid)
            {
                return(View(newUser));
            }

            //Check Password & PasswordConfirm
            if (!newUser.Password.Equals(newUser.PasswordConfirm))
            {
                ModelState.AddModelError("", "Password does not match Password Confirm");
                return(View(newUser));
            }

            //Create DbContext instance
            using (WSADDbContext context = new WSADDbContext())
            {
                //Check username is not a duplicate
                if (context.Users.Any(row => row.Username.Equals(newUser.Username)))
                {
                    ModelState.AddModelError("", "Username '" + newUser.Username + "' already exists. Try Again");
                    newUser.Username = "";
                    return(View(newUser));
                }
                //Create User DTO
                User newUserDTO = new Models.Data.User()
                {
                    FirstName    = newUser.FirstName,
                    LastName     = newUser.LastName,
                    EmailAddress = newUser.EmailAddress,
                    IsActive     = true,
                    IsAdmin      = false,
                    Username     = newUser.Username,
                    Password     = newUser.Password,
                    DateCreated  = DateTime.Now,
                    DateModified = DateTime.Now,
                    Gender       = newUser.Gender
                };

                //Add to DbContext

                newUserDTO = context.Users.Add(newUserDTO);

                //Save changes
                context.SaveChanges();
            }

            //Redirect to login
            return(RedirectToAction("login"));
        }
Example #8
0
        public bool UpdateUser(Models.Client.User newDetails, string id)
        {
            Models.Data.User oldDetails = this.Db?.Users?.FirstOrDefault(a => a.Id == id);
            if (oldDetails != null)
            {
                oldDetails.Name    = newDetails.Name;
                oldDetails.Address = newDetails.Address;
                oldDetails.Mobile  = newDetails.Mobile;

                return(this.Db.SaveChanges() > 0);
            }

            return(false);
        }
        public bool Update(Models.Client.User updateUser)
        {
            if (updateUser == null)
            {
                return(false);
            }

            Models.Data.User user = this._db.Users.FirstOrDefault(a => (!string.IsNullOrEmpty(a.Id)) && a.Id == updateUser.Id);
            if (user != null)
            {
                user.Name    = updateUser.Name;
                user.Address = updateUser.Address;
                user.Mobile  = updateUser.Mobile;

                return(this._db.SaveChanges() > 0);
            }

            return(false);
        }
Example #10
0
        public ActionResult Create(CreateUserViewModel newUser)
        {
            if (!ModelState.IsValid)
            {
                return(View(newUser));
            }
            if (!newUser.Password.Equals(newUser.PasswordConfirm))
            {
                ModelState.AddModelError("", "Password does not match password confirm.");
                return(View(newUser));
            }

            using (WSADDbContext context = new WSADDbContext())
            {
                if (context.Users.Any(row => row.Username.Equals(newUser.Username)))
                {
                    ModelState.AddModelError("", "Username '" + newUser.Username + "' already exists. Try again.");
                    newUser.Username = "";
                    return(View(newUser));
                }

                User newUserDTO = new Models.Data.User()
                {
                    FirstName    = newUser.FirstName,
                    LastName     = newUser.LastName,
                    EmailAddress = newUser.EmailAddress,
                    IsActive     = true,
                    IsAdmin      = false,
                    Username     = newUser.Username,
                    Password     = newUser.Password,
                    DateCreated  = DateTime.Now,
                    DateModified = DateTime.Now,
                    Gender       = newUser.Gender
                };

                newUserDTO = context.Users.Add(newUserDTO);

                context.SaveChanges();
            }

            return(RedirectToAction("login"));
        }
Example #11
0
        public async Task <KekaForum.Models.Core.User> Register(Register registerModel)
        {
            var user = new Models.Data.User
            {
                UserName      = (registerModel.Email).Split('@')[0],
                Email         = registerModel.Email,
                FirstName     = registerModel.FirstName,
                LastName      = registerModel.LastName,
                PhoneNumber   = registerModel.PhoneNumber,
                Designation   = registerModel.Designation,
                DepartmentId  = registerModel.DepartmentId,
                LocationId    = registerModel.LocationId,
                ProfilePicUrl = registerModel.ProfilePicUrl
            };

            var result = await this.UserManager.CreateAsync(user, registerModel.Password);

            if (!result.Succeeded)
            {
                return(null);
            }

            var tokenJson = this.GenerateToken(user);

            Department department = await this.DepartmentService.GetDepartmentById(user.DepartmentId);

            Location location = await this.LocationService.GetLocationById(user.LocationId);

            return(new KekaForum.Models.Core.User
            {
                AccessToken = tokenJson,
                Id = user.Id,
                FirstName = user.FirstName,
                LastName = user.LastName,
                Email = user.Email,
                PhoneNumber = user.PhoneNumber,
                Department = department.Name,
                Location = location.City
            });
        }
Example #12
0
        public string GenerateToken(Models.Data.User userModel)
        {
            var claims = new[]
            {
                new Claim(ClaimTypes.Email, userModel.Email),
                new Claim(ClaimTypes.Name, userModel.UserName),
            };
            var algo      = SecurityAlgorithms.HmacSha256;
            var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("superSecretKey@345"));

            SigningCredentials signingCredentials = new SigningCredentials(secretKey, algo);
            //the json token representation of the jwt token
            var token = new JwtSecurityToken(
                issuer: "http://localhost:5001",
                audience: "http://localhost:5001",
                claims,
                notBefore: DateTime.Now,
                expires: DateTime.Now.AddHours(6),
                signingCredentials
                );
            var tokenJson = new JwtSecurityTokenHandler().WriteToken(token);

            return(tokenJson);
        }