Exemple #1
0
        public IActionResult Post([FromBody] UserDto newUserDto)
        {
            var currentUser = _loginService.GetCurrentUser();

            if (currentUser == null && newUserDto.Role != UserRole.User)
            {
                return(BadRequest("One does not simply summon a king out of thin air, one must join the ranks as a peon first."));
            }
            else if (currentUser != null && newUserDto.Role > currentUser.Role)
            {
                return(BadRequest("Cannot bestow a user with a more magnificent role than current user."));
            }
            else if (emailRegex.IsMatch(newUserDto.Email) == false)
            {
                return(BadRequest("Invalid email address."));
            }
            else if (_context.Users.FindByEmail(newUserDto.Email) != null)
            {
                return(BadRequest("A user already exists with that email address."));
            }
            else
            {
                var newUser = new User()
                {
                    Email     = newUserDto.Email,
                    FirstName = newUserDto.FirstName,
                    LastName  = newUserDto.LastName,
                    Role      = newUserDto.Role,
                };

                newUser.SetPassword(newUserDto.Password);
                _context.Add(newUser);
                _context.SaveChanges();

                _emailNotifier.SendUserdDetails(newUser.Email, newUser.FirstName, newUser.LastName, newUserDto.Password, newUser.Role.ToString());

                return(Ok());
            }
        }
        public void GetsEntriesInRange()
        {
            DateTime dt1 = new DateTime(2020, 1, 15);
            DateTime dt2 = new DateTime(2020, 1, 16);
            DateTime dt3 = new DateTime(2020, 1, 17);
            DateTime dt4 = new DateTime(2020, 1, 18);
            DateTime dt5 = new DateTime(2020, 1, 19);

            _context.Add(new Entry()
            {
                Id = 1, Date = dt1, UserId = _regularUser1.Id
            });
            _context.Add(new Entry()
            {
                Id = 2, Date = dt2, UserId = _regularUser1.Id
            });
            _context.Add(new Entry()
            {
                Id = 3, Date = dt3, UserId = _regularUser1.Id
            });
            _context.Add(new Entry()
            {
                Id = 4, Date = dt4, UserId = _regularUser1.Id
            });
            _context.Add(new Entry()
            {
                Id = 5, Date = dt5, UserId = _regularUser1.Id
            });
            _context.SaveChanges();

            var res = ((_controller.Get(dt2, dt4, _regularUser1.Id) as OkObjectResult).Value as IEnumerable <EntryDTO>).ToArray();

            Assert.AreEqual(3, res.Count());
            Assert.AreEqual(1, res.Count(e => e.Id == 2)); //include from
            Assert.AreEqual(1, res.Count(e => e.Id == 3));
            Assert.AreEqual(1, res.Count(e => e.Id == 4)); //include to
        }