Esempio n. 1
0
        public IHttpActionResult GetAll(string selectedClientId, string currentPage, string pageSize)
        {
            //if user is not admin return..
            var    identity = User.Identity as ClaimsIdentity;
            string userRole = identity.FindFirst(ClaimTypes.Role).Value;
            string clientId = identity.FindFirst("ClientId").Value;

            if (userRole != "admin")
            {
                //ModelState.AddModelError("InvalidAccess", "You are not authorized !");
                return(BadRequest("UnauthorizedAccess"));
            }

            UserData responseData = new UserData();
            AppUser  users        = new AppUser();
            int      totalCount   = 0;

            List <AppUser> lstUsers = users.GetAll(int.Parse(clientId), int.Parse(selectedClientId), int.Parse(currentPage), int.Parse(pageSize), out totalCount);

            if (lstUsers != null)
            {
                foreach (AppUser user in lstUsers)
                {
                    user.UserPassword = MyPasswordHasher.Decrypt(user.UserPassword, true);
                }
            }

            responseData.records    = lstUsers;
            responseData.totalCount = totalCount;
            return(Ok(responseData));
        }
Esempio n. 2
0
        public async Task <ActionResult <bool> > GetUsers()
        {
            string comparePass = "******";

            User user = await _context.Users.FindAsync(1);

            bool validPass = MyPasswordHasher.VerifyPassword(comparePass, user.PasswordHash, user.PasswordSalt);

            return(Ok(new { IsValid = validPass }));
        }
Esempio n. 3
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <RoomLayout>().HasMany(e => e.Rooms).WithOne(e => e.RoomLayout).HasForeignKey(e => e.RoomLayoutId);
            modelBuilder.Entity <Room>().HasOne(e => e.RoomLayout);

            modelBuilder.Entity <User>().HasMany(e => e.Reservations).WithOne(e => e.User).HasForeignKey(e => e.UserId);
            modelBuilder.Entity <Reservation>().HasOne(e => e.User);


            modelBuilder.Entity <RoomLayout>().HasData(
                new RoomLayout {
                Id = 1, Name = "Single"
            },
                new RoomLayout {
                Id = 2, Name = "Double"
            });

            modelBuilder.Entity <Room>().HasData(
                new Room {
                RoomLayoutId = 1, Id = 1
            },
                new Room {
                RoomLayoutId = 2, Id = 2
            }
                );


            byte[] passwordHash, passwordSalt;
            MyPasswordHasher.CreatePasswordHash("password", out passwordHash, out passwordSalt);
            modelBuilder.Entity <User>().HasData(
                new User {
                Id = 1, Name = "Simon van der Weele", Email = "*****@*****.**", PasswordHash = passwordHash, PasswordSalt = passwordSalt, Ref = Guid.NewGuid()
            }
                );


            modelBuilder.Entity <Reservation>().HasData(
                new Reservation {
                Id = 1, NumberOfAdults = 2, NumberOfChildren = 1, ArrivalDate = new DateTime(2020, 08, 08), DepartureDate = new DateTime(2020, 08, 15), UserId = 1, Ref = Guid.NewGuid()
            },
                new Reservation {
                Id = 2, NumberOfAdults = 1, NumberOfChildren = 3, ArrivalDate = new DateTime(2020, 12, 03), DepartureDate = new DateTime(2020, 12, 25), UserId = 1, Ref = Guid.NewGuid()
            },
                new Reservation {
                Id = 3, NumberOfAdults = 1, NumberOfChildren = 2, ArrivalDate = new DateTime(2020, 06, 02), DepartureDate = new DateTime(2020, 06, 13), UserId = 1, Ref = Guid.NewGuid()
            }
                );
        }
Esempio n. 4
0
        public async Task <ActionResult <bool> > PostUser([FromBody] User user)
        {
            if (await _context.Users.AnyAsync(e => e.Email == user.Email))
            {
                return(Conflict());
            }

            byte[] passwordHash, passwordSalt;
            MyPasswordHasher.CreatePasswordHash(user.PasswordPlain, out passwordHash, out passwordSalt);
            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;
            _context.Entry(user).Property(e => e.PasswordHash).IsModified = true;
            _context.Entry(user).Property(e => e.PasswordSalt).IsModified = true;
            _context.Users.Add(user);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUser", new { reference = user.Ref }, user));
        }
Esempio n. 5
0
        // POST api/users/Register
        public async Task <IHttpActionResult> Register(AppUser user)
        {
            //if user is not admin return..
            var    identity = User.Identity as ClaimsIdentity;
            string userRole = identity.FindFirst(ClaimTypes.Role).Value;

            if (userRole != "admin")
            {
                //ModelState.AddModelError("InvalidAccess", "You are not authorized !");
                return(BadRequest("UnauthorizedAccess"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            IdentityResult result = new IdentityResult();

            //UserManager<AppUser> userManager = new UserManager<AppUser>(new UserStoreService<IdentityUser>());
            //var result = userManager.ChangePassword(_User.Id, userNewPassword, userView.Password);
            //return RedirectToAction("Index", "ConfigUser");

            if (user.UserID == 0)
            {
                result = await _repo.RegisterUser(user);

                IHttpActionResult errorResult = GetErrorResult(result);

                if (errorResult != null)
                {
                    return(errorResult);
                }
            }
            user.UserType     = "client";
            user.UserPassword = MyPasswordHasher.Encrypt(user.UserPassword, true);
            user.Update();

            return(Ok());
        }
Esempio n. 6
0
        public ActionResult Create(UsersDetailsViewModel model

                                   /*[Bind(
                                    *   Include =
                                    *       "cin,active,city,country,state,street,birthday,email,firstname,gender,lastname,password,tel,username,referee_cin"
                                    * )] user user*/)
        {
            var user = new user();

            if (ModelState.IsValid)
            {
                user.cin         = Convert.ToInt64(Request["cin"]);
                user.active      = Request["active"] == "1";
                user.city        = Request["city"];
                user.country     = Request["country"];
                user.state       = Request["state"];
                user.street      = Request["street"];
                user.birthday    = Convert.ToDateTime(Request["birthday"]);
                user.email       = Request["email"];
                user.firstname   = Request["firstname"];
                user.lastname    = Request["lastname"];
                user.gender      = Request["gender"];
                user.password    = Request["password"];
                user.username    = Request["username"];
                user.tel         = Request["tel"];
                user.referee_cin = Convert.ToInt32(Request["referee_cin"]);


                MyPasswordHasher hasher = new MyPasswordHasher();

                switch (Request["role"])
                {
                case "Employee":
                    Employee employe = new Employee()
                    {
                        cin         = user.cin,
                        firstname   = user.firstname,
                        lastname    = user.lastname,
                        username    = user.username,
                        password    = hasher.HashPassword(user.password).ToLower(),
                        birthday    = user.birthday,
                        email       = user.email,
                        gender      = user.gender,
                        country     = user.country,
                        city        = user.city,
                        state       = user.state,
                        street      = user.street,
                        tel         = user.tel,
                        credibility = 0,
                        active      = true
                    };

                    _service.Add(employe);

                    break;

                case "Candidate":
                    Candidate candidate = new Candidate()
                    {
                        cin         = user.cin,
                        firstname   = user.firstname,
                        lastname    = user.lastname,
                        username    = user.username,
                        password    = hasher.HashPassword(user.password).ToLower(),
                        birthday    = user.birthday,
                        email       = user.email,
                        gender      = user.gender,
                        country     = user.country,
                        city        = user.city,
                        state       = user.state,
                        street      = user.street,
                        tel         = user.tel,
                        referee_cin = user.referee_cin,
                        active      = true
                    };
                    _service.Add(candidate);
                    break;

                case "RecruitmentManager":
                    RecruitementManager recruitementManager = new RecruitementManager()
                    {
                        cin       = user.cin,
                        firstname = user.firstname,
                        lastname  = user.lastname,
                        username  = user.username,
                        password  = hasher.HashPassword(user.password).ToLower(),
                        birthday  = user.birthday,
                        email     = user.email,
                        gender    = user.gender,
                        country   = user.country,
                        city      = user.city,
                        state     = user.state,
                        street    = user.street,
                        tel       = user.tel,
                        active    = true
                    };
                    _service.Add(recruitementManager);
                    break;

                default:
                    break;
                }
                //_service.Add(user);
                try
                {
                    _service.commit();
                }
                catch (Exception e)
                {
                    ViewBag.Error       = e.Message + " " + e.GetBaseException().Message;
                    ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname");
                    return(View());
                }


                return(RedirectToAction("Index"));
            }

            ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname");
            return(View(user));
        }