Ejemplo n.º 1
0
        public async Task <ActionResult <UserDTO> > PostUser(UserDTO user)
        {
            //if user logged in is authenticated

            if (_context.Users.Any(x => x.Email.Equals(user.Email)))
            {
                return(BadRequest());
            }

            //create new user object
            var dbObject = new User()
            {
                Active         = false,
                AmountOfLogins = 0,
                BirthId        = GetHashedValue(user.BirthId),
                Email          = user.Email,
                FirstName      = user.FirstName,
                HasAdmin       = user.HasAdmin,
                IsDeleted      = false,
                Password       = GetHashedValue(user.Password),
                SirName        = user.SirName
            };

            //save user to db
            _context.Users.Add(dbObject);
            await _context.SaveChangesAsync();

            //return the new object with the new id
            return(CreatedAtAction("GetUser", new { id = user.Id }, UserDTO.Selector().Compile()(dbObject)));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <UserDTO> > GetUser(int id)
        {
            var user = await _context.Users.FindAsync(id);

            //check if the user is found
            if (user == null || user.IsDeleted)
            {
                return(NotFound());
            }

            //select only the needed fields for transfer as described in dto
            return(UserDTO.Selector().Compile()(user));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <IEnumerable <UserDTO> > > GetUsers()
        {
            //fetch all users
            var list = await _context.Users.Where(x => !x.IsDeleted).ToListAsync();

            var dtoList = new List <UserDTO>();

            //select only the needed fields for transfer as described in dto
            foreach (var user in list)
            {
                var dto = UserDTO.Selector().Compile()(user);
                dtoList.Add(dto);
            }

            //return dto list
            return(dtoList);
        }