public async Task <User> CreateUser(UserViewModel user) { if (user.Cpf.Length != 11) { throw new Exception("The Cpf value must have 11 caracters."); } else { bool cpfIsValid = _validationFunctions.IsCpfValid(user.Cpf); if (!cpfIsValid) { throw new Exception("Invalid CPF."); } } User newUser = new User(); DateTime birthDate = DateTime.Parse(user.BirthDate); newUser.Name = user.Name; newUser.BirthDate = birthDate; newUser.Cpf = user.Cpf; newUser.Rg = user.Rg; newUser.RegistrationDate = DateTime.Now; newUser.MothersName = user.MothersName; newUser.FathersName = user.FathersName; await this.Create(newUser); return(newUser); }