[Authorize(Roles = "Administrador")]//Determina qual tipo de usuário pode utilizar esse Método public IActionResult CadastrarCliente(ClienteStandaloneViewModel clientemModel) { try // Tenta realizar as ações abaixo { LoginViewModel login = new LoginViewModel(); //Instancia Login view Model armazenando numa variável chamada login ClienteViewModel cliente = ClienteRepository.RetornarClienteViewModel(clientemModel); // cria uma variável do tipo ClienteViewModel com o nome cliente Usuarios usuario = UsuarioRepository.BuscarPorEmail(login); // cria uma variável do tipo Usuários e usa o metodo BuscarPorEmail para encontrar as credenciais no banco de dados if (cliente.Cliente.DataNascimento.Date > DateTime.Now.Date) // Verifica se a data de nascimento informada no formulário de cadastro não é maior do que a data atual { return(BadRequest()); //retorna 400 Bad Request } UsuarioRepository.CadastrarCliente(cliente); // Cadastra o cliente usando o método CadastrarCliente return(Ok()); //retorna 200 Ok } catch (Exception ex) //Armazena um erro caso as instruções acima não consigam ser executadas armazenando na variável ex do tipo { return(BadRequest(new //Criando e retornando a mensagem de erro que será enviada { mensagem = "Erro: " + ex // Inserindo erro na mensagem })); } }
public ClienteViewModel RetornarClienteViewModel(ClienteStandaloneViewModel ClienteModel) { ClienteViewModel cliente = new ClienteViewModel() { UsuarioViewModel = new CadastrarUsuarioViewModel() { Nome = ClienteModel.Nome, Email = ClienteModel.Email, Senha = ClienteModel.Senha, Telefone = ClienteModel.Telefone, DataCriacao = DateTime.Now, IdTipoUsuario = ClienteModel.IdTipoUsuario, IdEstabelecimento = ClienteModel.IdEstabelecimento }, Cliente = new Clientes() { IdUsuario = ClienteModel.IdUsuario, Rg = ClienteModel.Rg, Cpf = ClienteModel.Cpf, DataNascimento = ClienteModel.DataNascimento, Endereco = ClienteModel.Endereco } }; return(cliente); }