Esempio n. 1
0
        public async Task <IServerStatus> AdicionarCliente(ClienteModel clienteModel)
        {
            clienteModel.Id = Guid.NewGuid();

            var result = await _serviceIdentidade.EnviarIdentidade(new UsuarioRegistro(clienteModel.Id, clienteModel.Nome,
                                                                                       clienteModel.CPF, clienteModel.TipoCliente, clienteModel.Email, clienteModel.Senha));

            var montarUsuario = UsuarioFactory.CriarUsuario(clienteModel);
            var userResult    = await _serviceUsuario.AdicionarUsuario(montarUsuario);

            if (userResult.Status == 1)
            {
                return(await Task.FromResult(userResult));
            }

            var cliente = new Cliente(clienteModel.ProdutoPreferido, clienteModel.CPF, new RG(clienteModel.RgNumero,
                                                                                              clienteModel.RgOrgaoEmissor, clienteModel.RgPaisEmissor, clienteModel.RgEmissao),
                                      (int)(TipoCliente)Enum.Parse(typeof(TipoCliente), clienteModel.TipoCliente), new Endereco(clienteModel.Logradouro, clienteModel.Complemento,
                                                                                                                                clienteModel.Numero, clienteModel.Cep, clienteModel.Bairro, clienteModel.Cidade, clienteModel.Estado));

            cliente.Id = clienteModel.Id;

            _repositoryCliente.AdicionarCliente(cliente);
            return(await Task.FromResult(new ServerStatus()
            {
                Mensagem = "Cliente cadastrado com sucesso!", Status = 0
            }));
        }