Example #1
0
        public AuthRepository(DataContext context)
        {
            UserRolesMapping userRolesMapping = new UserRolesMapping();

            _userRolesMapping = userRolesMapping;
            _context          = context;
        }
Example #2
0
        protected override void Seed(RecepcionDeRadiosContext context)
        {
            var user = new User {
                ID = "1", Name = "Ruben Hernandez Puerta", Username = "******", Password = BCrypt.Net.BCrypt.HashPassword("Soporte22"), Active = 1
            };

            context.Users.Add(user);
            context.SaveChanges();
            var roles = new List <Role>
            {
                new Role {
                    Id = 1, RoleName = "Administrador"
                },
                new Role {
                    Id = 2, RoleName = "Tecnico"
                },
            };

            roles.ForEach(r => context.Roles.Add(r));
            var rolemap = new UserRolesMapping {
                UserId = "1", RoleId = 1
            };

            context.UserRolesMapping.Add(rolemap);
            context.SaveChanges();
            base.Seed(context);
        }
Example #3
0
        public ActionResult DeleteConfirmed(string id)
        {
            User             user = db.Users.Find(id);
            UserRolesMapping mapp = db.UserRolesMapping.Where(c => c.UserId == user.ID).FirstOrDefault();

            db.UserRolesMapping.Remove(mapp);
            db.Users.Remove(user);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #4
0
        private void SeedUsersAndRoles()
        {
            var userData = System.IO.File.ReadAllText("Data/SeedData/Profile/UserSeedData.Json");
            var users    = JsonConvert.DeserializeObject <List <User> >(userData);
            var roleData = System.IO.File.ReadAllText("Data/SeedData/Profile/RolesSeedData");
            var roles    = JsonConvert.DeserializeObject <List <Roles> >(roleData);
            var count    = 1;

            foreach (var role in roles)
            {
                _context.Roles.Add(role);
            }
            _context.SaveChanges();

            foreach (var user in users)
            {
                var UsrRlsMappng = new UserRolesMapping();

                byte[] passwordHash, passwordSalt;
                CreatePasswordhash("password", out passwordHash, out passwordSalt);
                user.PasswordHash = passwordHash;
                user.PasswordSalt = passwordSalt;
                user.Username     = user.Username.ToLower();

                if (count == 1)
                {
                    UsrRlsMappng.User  = user;
                    UsrRlsMappng.Roles = _context.Roles.Where(a => a.RoleName == "Admin").FirstOrDefault();
                    _context.AddRange(user, UsrRlsMappng);
                    _context.SaveChanges();
                }
                if (count == 2)
                {
                    UsrRlsMappng.User  = user;
                    UsrRlsMappng.Roles = _context.Roles.Where(a => a.RoleName == "BakeryManager").FirstOrDefault();
                    _context.AddRange(user, UsrRlsMappng);
                    _context.SaveChanges();
                }
                if (count == 3)
                {
                    UsrRlsMappng.User  = user;
                    UsrRlsMappng.Roles = _context.Roles.Where(a => a.RoleName == "OutletManager").FirstOrDefault();
                    _context.AddRange(user, UsrRlsMappng);
                    _context.SaveChanges();
                }

                UsrRlsMappng.User  = user;
                UsrRlsMappng.Roles = _context.Roles.Where(a => a.RoleName == "User").FirstOrDefault();
                _context.AddRange(user, UsrRlsMappng);
                _context.SaveChanges();
            }

            // _context.SaveChanges();
        }
        public async Task <ActionResult> UpdateRoles([Bind(Include = "Id,Username,MyRoles,RoleMasters")] RolesUpdateVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            if (TempData["roles"] == null)
            {
                return(View(model));
            }
            List <CheckBoxRoles> roles = (List <CheckBoxRoles>)TempData["roles"];
            Users user = await _unitOfWork.usersRolesRepo.GetAsync(model.Id);

            var userRoleMaps = user.UserRolesMapping;

            // Gets the role names to be updated.
            var rolesAdding   = new List <string>();
            var rolesRemoving = new List <string>();

            foreach (var role in model.RoleMasters)
            {
                // assigns the role name to role.Role.
                role.Role = roles.Where(r => r.ID == role.ID).Select(r => r.Role).FirstOrDefault();
                // check if user is in role.
                UserRolesMapping map = userRoleMaps.Where(r => r.RoleID == role.ID).FirstOrDefault();
                if (role.IsChecked && map == null)
                {
                    map = new UserRolesMapping()
                    {
                        UserID = user.ID, RoleID = role.ID
                    };
                    _unitOfWork.rolesMappingRepo.Add(map);
                    rolesAdding.Add(role.Role);
                }
                else if (!role.IsChecked && map != null)
                {
                    _unitOfWork.rolesMappingRepo.Remove(map);
                    rolesRemoving.Add(role.Role);
                }
            }
            // Updates user roles in the service's database.
            if (rolesAdding.Any())
            {
                await _usersRest.AddRolesServiceAsync(user.Username, rolesAdding);
            }
            if (rolesRemoving.Any())
            {
                await _usersRest.RemoveRolesServiceAsync(user.Username, rolesRemoving);
            }
            await _unitOfWork.SaveAsync();

            return(RedirectToAction("Index"));
        }
Example #6
0
 //Register the user into the database for the given details
 public int SignUp(User model)
 {
     using (var context = new EventsDBEntities())
     {
         context.Users.Add(model);
         UserRolesMapping addRole = new UserRolesMapping();
         addRole.UserId = model.UserId;
         addRole.RoleId = 2;
         context.UserRolesMappings.Add(addRole);
         context.SaveChanges();
         return(model.UserId);
     }
 }
Example #7
0
        public async Task <ActionResult> Register(RegisterVM registerViewModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "Please try again.");
                return(View(registerViewModel));
            }
            string username = registerViewModel.Username;
            Users  user     = await _unitOfWork.usersRolesRepo.GetAsync(username);

            if (user != null)
            {
                ModelState.AddModelError(string.Empty, "User already exists");
                return(View(registerViewModel));
            }
            string hashInfo = Hasher.HashGenerator(registerViewModel.HashedPassword);
            string myHash   = hashInfo.Split(':')[0]; // returns the hash

            user = new Users()
            {
                Username = username, HashedPassword = hashInfo
            };
            _unitOfWork.usersRolesRepo.Add(user);
            UserRolesMapping roleMap = new UserRolesMapping()
            {
                UserID = user.ID, RoleID = _roleId
            };

            _unitOfWork.rolesMappingRepo.Add(roleMap);
            bool registerOk = await _accountRest.RegisterServiceAsync(username, myHash, _userRole);

            if (registerOk)
            {
                int saved = await _unitOfWork.SaveAsync();

                if (saved < 0)
                {
                    ModelState.AddModelError(string.Empty, "Unable to save User to client.");
                    return(View(registerViewModel));
                }
                bool tokenOk = await LoginHelper(username, myHash);

                if (tokenOk)
                {
                    return(RedirectToAction("Inbox", "Messages"));
                }
            }
            ModelState.AddModelError(string.Empty, "Unable to register user.");
            return(View(registerViewModel));
        }
Example #8
0
        public bool SetUserRole(int userId, int roleId)
        {
            try
            {
                var userRoles = new UserRolesMapping
                {
                    UserId = userId,
                    RoleId = roleId
                };

                return(adb.AddUserRole(userRoles));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #9
0
        public ActionResult Create([Bind(Include = "Name,Username,Password,Level,Active")] User user)
        {
            if (ModelState.IsValid)
            {
                user.ID       = Guid.NewGuid().ToString();
                user.Password = BCrypt.Net.BCrypt.HashPassword(user.Password);
                user.Active   = 1;
                db.Users.Add(user);
                db.SaveChanges();
                var rol = new UserRolesMapping();
                rol.RoleId = user.Level;
                rol.UserId = user.ID;
                db.UserRolesMapping.Add(rol);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user));
        }
Example #10
0
        public bool SetUserRoles(int userId, int roleId)
        {
            try
            {
                if (edb.UserRolesMappings.Any(r => r.UserId == userId && r.RoleId == roleId))
                {
                    return(true);
                }

                UserRolesMapping userRolesMapping = new UserRolesMapping()
                {
                    RoleId = roleId,
                    UserId = userId
                };
                edb.UserRolesMappings.Add(userRolesMapping);
                edb.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                ModelState.AddModelError(" ", "Error Creating new Shopper");
                return(false);
            }
        }