Beispiel #1
0
        public async Task <IActionResult> Post([FromBody] UserInfo user)
        {
            List <Error> errors = new List <Error>();

            if (user == null)
            {
                return(BadRequest());
            }

            Account currentUser = await GetCurrentUserAsync();

            errors = UserInfoValidator.Validate(user, errors);
            if (errors.Count() <= 0)
            {
                user.CreatedBy = currentUser;
                _context.UserInfo.Add(user);
                _context.SaveChanges();
                var linkAccountRaw = _context.Account.Where(a => a.Email == user.Email);
                if (linkAccountRaw.Count() > 0)
                {
                    Account linkAccount = linkAccountRaw.Single();
                    if (linkAccount.Infos == null)
                    {
                        linkAccount.Infos = new List <UserInfo>();
                    }
                    linkAccount.Infos.Add(user);
                    _context.SaveChanges();
                }
                return(Created("users/" + user.Id, user));
            }
            return(BadRequest(errors));
        }
        private void AssertValidationResult <T>(Expression <Func <UserInfo, T> > property, T value, bool expectedValid)
        {
            // Arrange
            var validator = new UserInfoValidator();

            // Act
            if (expectedValid)
            {
                validator.ShouldNotHaveValidationErrorFor(property, value);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(property, value);
            }
        }