Trabalho Completo Pt - Ads - Sem 4 - Atividade Em Grupo

Pt - Ads - Sem 4 - Atividade Em Grupo

Imprimir Trabalho!
Cadastre-se - Buscar 155 000+ Trabalhos e Monografias

Categoria: Outras

Enviado por: joatha 06 maio 2013

Palavras: 9831 | Páginas: 40

2.1 Levante ações éticas e não éticas envolvendo a locadora de livros do lado empresarial e cliente.

Éticas:

Tratar com cordialidade o cliente.

Incitar o competitividade no ambiente de trabalho mas respeitando os limites de cada funcionário.

Tomar mediadas justas para resolver alguma situação inesperada do cotidiano.

Não Éticas:

Falar em tom áspero com o funcionário na frente de estranhos.

Falar em voz alta para que todos possam ouvir que o cliente esta devendo algum a dinheiro a locadora.

Faltar com respeito para com os clientes.

2.2 Pesquise e descreva sobre a disponibilidade dos livros digitais em equipamentos móveis.

Livros digitais necessitam de um suporte para criação, armazenamento e tráfego. Os equipamentos portáteis, são os preferidos do consumidor moderno e apontam para uma tendência de convergência digital, não no sentido de unidade, mas no sentido de união.

A tendência é que estes equipamentos se complementem e se comuniquem entre si através de tecnologias pseudo padrões que passem pelo próprio hardware.

Ainda não há um equipamento único e padrão comum a todos os consumidores, como ocorre com o livro em hardware papel, mas a tendência aponta uma convergência de conteúdo para livros digitais com a utilização dos smartphones e avançando ainda mais para os tablets com sistemas operacionais mais abertos como o Android do Google.

2.3 De acordo com o ambiente (Onde o sistema será Instalado ) identificado na produção textual individual, faça a representação do diagrama de implantação utilizando a ferramenta Astah

2.4 Com base no item 3 crie uma interface com foco no cadastro do livro . Crie um projeto Windows Aplication no visual Studio 2010 utilizando a linguagem C# com técnicas de orientação a objetos, para alteração dos estados dos livros no banco de dados, imaginando que o usuário ira mudar o estado do livro. Ex: quando o livro esta emprestado e será devolvido, apresente uma mensagem que mostre essa mudança. Envie uma imagem da tela e o código fonte de aplicação.

Códigos Fontes:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace LibrarySystem

{

public partial class Principal : Form

{

public Principal()

{

InitializeComponent();

}

private void tsbtnFuncionarios_Click(object sender, EventArgs e)

{

frmFuncionarios objFrmFuncionarios = new frmFuncionarios();

objFrmFuncionarios.ShowDialog();

}

private void tsbtnLivros_Click(object sender, EventArgs e)

{

frmLivros objFrmLivros = new frmLivros();

objFrmLivros.ShowDialog();

}

private void tsbtnSair_Click(object sender, EventArgs e)

{

if (MessageBox.Show("Você tem certeza que deseja sair do sistema?", "Mensagem do Sistema",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

Application.Exit();

}

}

private void tsbtnClientes_Click(object sender, EventArgs e)

{

frmClientes objFrmClientes = new frmClientes();

objFrmClientes.ShowDialog();

}

private void Principal_Load(object sender, EventArgs e)

{

}

private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

}

}

formLivro

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace LibrarySystem

{

public partial class frmLivros : Form

{

public frmLivros()

{

InitializeComponent();

}

#region Botões

private void tsbtnAlterarExcluir_Click(object sender, EventArgs e)

{

frmAlterarExcluirLivros objFrmAlterarExcluirLivros = new frmAlterarExcluirLivros();

//Informo a aplicação que o frmCadastrarLivros é o form filho do frmLivros

objFrmAlterarExcluirLivros.MdiParent = this;

//Chamo o método que desativa os botões do formulário pai

this.DesabilitaBotoes(sender, e);

//Vinculo ao botão Voltar, do form filho, o método para ativar os botões do formulário pai, por meio de delegate

objFrmAlterarExcluirLivros.tsbtnVoltar.Click += new EventHandler(this.HabilitaBotoes);

//Verifico se o form já está aberto. Se estiver impeço a abertura de um novo e exibo uma mensagem ao usuário

if (objFrmAlterarExcluirLivros.Visible == false)

{

objFrmAlterarExcluirLivros.Show();

}

else

{

MessageBox.Show("O formulário já está aberto com a gravação dos dados em andamento! Feche este formulário para abrir outro!",

"Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void tsbtnCadastrar_Click(object sender, EventArgs e)

{

frmCadastrarLivros objFrmCadastrarLivros = new frmCadastrarLivros();

//Informo a aplicação que o frmCadastrarLivros é o form filho do frmLivros

objFrmCadastrarLivros.MdiParent = this;

//Chamo o método que desativa os botões do formulário pai

this.DesabilitaBotoes(sender, e);

//Vinculo ao botão Cancelar Cadastro, do form filho o método para ativar os botões do formulário pai, por meio de delegate

objFrmCadastrarLivros.tsbtnCancelar.Click += new EventHandler(this.HabilitaBotoes);

//Vinculo ao botão Voltar, do form filho, o método para ativar os botões do formulário pai, por meio de delegate

objFrmCadastrarLivros.tsbtnVoltar.Click += new EventHandler(this.HabilitaBotoes);

//Verifico se o form já está aberto. Se estiver impeço a abertura de um novo e exibo uma mensagem ao usuário

if (objFrmCadastrarLivros.Visible == false)

{

objFrmCadastrarLivros.Show();

}

else

{

MessageBox.Show("O formulário já está aberto com a gravação dos dados em andamento! Feche este formulário para abrir outro!",

"Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void tsbtnConsultar_Click(object sender, EventArgs e)

{

frmConsultarLivros objFrmConsultarLivros = new frmConsultarLivros();

//Informo a aplicação que o frmConsultarLivros é o form filho do frmLivros

objFrmConsultarLivros.MdiParent = this;

//Chamo o método que desativa os botões do formulário pai

this.DesabilitaBotoes(sender, e);

//Vinculo ao botão Voltar, do form filho o método para ativar os botões do formulário pai, usando delegates

objFrmConsultarLivros.tsbtnVoltar.Click += new EventHandler(this.HabilitaBotoes);

//Verifico se o form já está aberto. Se estiver impeço a abertura de um novo e exibo uma mensagem ao usuário

if (objFrmConsultarLivros.Visible == false)

{

objFrmConsultarLivros.Show();

}

else

{

MessageBox.Show("O formulário já está aberto com a gravação dos dados em andamento! Feche este formulário para abrir outro!",

"Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void tsbtnSair_Click(object sender, EventArgs e)

{

if (MessageBox.Show("Você tem certeza que deseja sair do sistema?", "Mensagem do Sistema",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

Application.Exit();

}

}

private void tsbtnVoltar_Click(object sender, EventArgs e)

{

this.Close();

}

#endregion

#region Métodos

private void DesabilitaBotoes(object sender, EventArgs e)

{

tsbtnAlterarExcluir.Enabled = false;

tsbtnCadastrar.Enabled = false;

tsbtnConsultar.Enabled = false;

tsbtnVoltar.Enabled = false;

tsbtnSair.Enabled = false;

}

private void HabilitaBotoes(object sender, EventArgs e)

{

tsbtnAlterarExcluir.Enabled = true;

tsbtnCadastrar.Enabled = true;

tsbtnConsultar.Enabled = true;

tsbtnVoltar.Enabled = true;

tsbtnSair.Enabled = true;

}

#endregion

private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

private void frmLivros_Load(object sender, EventArgs e)

{

}

private void toolStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

}

}

formCAdastrarLivro

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace LibrarySystem

{

public partial class frmCadastrarLivros : Form

{

public frmCadastrarLivros()

{

InitializeComponent();

}

#region Botões

private void tsbtnCancelar_Click(object sender, EventArgs e)

{

if (MessageBox.Show("Você tem certeza que deseja voltar e cancelar o cadastro?", "Mensagem do Sistema",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

this.Close();

}

}

private void tsbtnGravar_Click(object sender, EventArgs e)

{

Gravar();

}

private void tsbtnVoltar_Click(object sender, EventArgs e)

{

this.Close();

}

#endregion

#region Métodos

private void Gravar()

{

//Crio uma variável booleana que irá verificar se os campos estão validados

bool camposValidados = false;

try

{

//Instancio a classe de conexão passando como parâmetro a string de conexão ao DataBase LibrarySystem

SqlConnection objConexao = new SqlConnection(@"Data Source=JOATHA-PC\SQLEXPRESS;Initial Catalog=CadastroCRUD;Integrated Security=True;

Initial Catalog=LibrarySystem;Integrated Security=True");

//Armazeno em uma variável do tipo string minha instrução SQL referente à inserção do registro,

//concatenando os valores parametrizados, referentes aos campos que serão preenchidos no form

string strConn = @"INSERT INTO Livros (Nome_Livro, Autor_Livro, Ano_Livro, Genero_Livro, Editora_Livro," +

"Paginas_Livro, Status_Livro) VALUES (@Nome, @Autor, @Ano, @Genero, @Editora, @Paginas, @Status)";

//Uso o objeto instanciado passando como parâmetro a string criada anteriomente e o objeto de conexão ao banco

SqlCommand objCommand = new SqlCommand(strConn, objConexao);

#region Validações dos Campos

//Faço a verificação: se os campos do form estiverem diferentes de nulos uso o método AddWithValue passando como parâmetro

//o Value parametrizado do Insert acima. Se os campos estiverem vazios, chamo o ErrorProvider disparando o erro ao usuário

//Nome do Livro

if (!String.IsNullOrEmpty(txtNomeLivro.Text))

{

objCommand.Parameters.AddWithValue("@Nome", txtNomeLivro.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtNomeLivro, "O campo Nome é obrigatório!");

camposValidados = false;

}

//Autor

if (!String.IsNullOrEmpty(txtAutor.Text))

{

objCommand.Parameters.AddWithValue("@Autor", txtAutor.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtAutor, "O campo Autor é obrigatório!");

camposValidados = false;

}

//Ano

if (!String.IsNullOrEmpty(txtAno.Text))

{

objCommand.Parameters.AddWithValue("@Ano", txtAno.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtAno, "O campo Ano é obrigatório!");

camposValidados = false;

}

//Número de Páginas

if (!String.IsNullOrEmpty(txtPaginas.Text))

{

objCommand.Parameters.AddWithValue("@Paginas", txtPaginas.Text);

camposValidados = true;

}

//Gênero

if (!String.IsNullOrEmpty(txtGenero.Text))

{

objCommand.Parameters.AddWithValue("@Genero", txtGenero.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtGenero, "O campo Gênero é obrigatório!");

camposValidados = false;

}

//Status

if (rbtDisponivel.Checked)

{

objCommand.Parameters.AddWithValue("@Status", "D");

camposValidados = true;

}

else

{

objCommand.Parameters.AddWithValue("@Status", "I");

camposValidados = true;

}

//Editora

if (!String.IsNullOrEmpty(txtEditora.Text))

{

objCommand.Parameters.AddWithValue("@Editora", txtEditora.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtGenero, "O campo Editora é obrigatório!");

camposValidados = false;

}

#endregion

//Verifico se o retorno de minha variável camposValidados é true

if (camposValidados)

{

//Abro a conexão

objConexao.Open();

//Uso o método ExecuteNonQuery para executar os comandos e realizar o Insert no banco

objCommand.ExecuteNonQuery();

//Fecho a conexão

objConexao.Close();

//Exibo a mensagem ao usuário de confirmação da inserção no banco

MessageBox.Show("Registro inserido com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);

//Chamo o método para limpar os campos e dou o foco ao txtNome

LimparCampos();

txtNomeLivro.Focus();

//Habilito o botão Voltar para o usuário

tsbtnVoltar.Enabled = true;

}

else

{

//Exibo a mensagem ao usuário de erro

MessageBox.Show("Ops, ocorreram erros!\n\nPreencha os campos e tente novamente",

"Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

private void LimparCampos()

{

txtNomeLivro.Text = string.Empty;

txtAutor.Text = string.Empty;

txtAno.Text = string.Empty;

txtPaginas.Text = string.Empty;

txtGenero.Text = string.Empty;

txtEditora.Text = string.Empty;

rbtDisponivel.Checked = true;

}

#endregion

private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

}

}

formAlterar

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace LibrarySystem

{

public partial class frmAlterarLivros : Form

{

public frmAlterarLivros()

{

InitializeComponent();

}

#region Variáveis Públicas

public int codigo, ano, paginas;

public string nome, autor, genero, editora, status;

#endregion

#region Botões / Eventos

private void frmAlterarLivros_Load(object sender, EventArgs e)

{

CarregarDados();

}

private void tsbtnGravar_Click(object sender, EventArgs e)

{

AlterarDados();

}

private void tsbtnCancelar_Click(object sender, EventArgs e)

{

CancelarAlteracoes();

}

#endregion

#region Métodos

private void AlterarDados()

{

bool camposValidados = false;

try

{

SqlConnection objConexao = new SqlConnection(@"Data Source=JOATHA-PC\SQLEXPRESS;Initial Catalog=CadastroCRUD;Integrated Security=True;

Initial Catalog=LibrarySystem;Integrated Security=True");

string strConn = @"UPDATE Livros SET Nome_Livro = @Nome, Autor_Livro = @Autor, " +

"Ano_Livro = @Ano, Genero_Livro = @Genero, Editora_Livro = @Editora, " +

"Paginas_Livro = @Paginas, Status_Livro = @Status WHERE Id_Livro = " + codigo;

SqlCommand objCommand = new SqlCommand(strConn, objConexao);

#region Validações dos Campos

if (!String.IsNullOrEmpty(txtNomeLivro.Text))

{

objCommand.Parameters.AddWithValue("@Nome", txtNomeLivro.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtNomeLivro, "O campo Nome é obrigatório!");

camposValidados = false;

}

if (!String.IsNullOrEmpty(txtAutor.Text))

{

objCommand.Parameters.AddWithValue("@Autor", txtAutor.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtAutor, "O campo Autor é obrigatório!");

camposValidados = false;

}

if (!String.IsNullOrEmpty(txtAno.Text))

{

objCommand.Parameters.AddWithValue("@Ano", txtAno.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtAno, "O campo Ano é obrigatório!");

camposValidados = false;

}

if (!String.IsNullOrEmpty(txtGenero.Text))

{

objCommand.Parameters.AddWithValue("@Genero", txtGenero.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtGenero, "O campo Gênero é obrigatório!");

camposValidados = false;

}

if (!String.IsNullOrEmpty(txtEditora.Text))

{

objCommand.Parameters.AddWithValue("@Editora", txtEditora.Text);

camposValidados = true;

}

else

{

epErro.SetError(txtEditora, "O campo Editora é obrigatório!");

camposValidados = false;

}

if (!String.IsNullOrEmpty(txtPaginas.Text))

{

objCommand.Parameters.AddWithValue("@Paginas", txtPaginas.Text);

camposValidados = true;

}

if (rbtDisponivel.Checked == true)

{

objCommand.Parameters.AddWithValue("@Status", "D");

camposValidados = true;

}

else

{

objCommand.Parameters.AddWithValue("@Status", "I");

camposValidados = true;

}

#endregion

if (camposValidados)

{

objConexao.Open();

objCommand.ExecuteNonQuery();

objConexao.Close();

MessageBox.Show("Registro alterado com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);

LimparCampos();

this.Close();

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

private void CancelarAlteracoes()

{

if (MessageBox.Show("Tem certeza que deseja cancelar as alterações e voltar?", "Mensagem do Sistema",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

LimparCampos();

this.Close();

}

}

private void CarregarDados()

{

try

{

txtNomeLivro.Text = nome;

txtAutor.Text = autor;

txtAno.Text = ano.ToString();

txtGenero.Text = genero;

txtEditora.Text = editora;

txtPaginas.Text = paginas.ToString();

if (status == "D")

{

rbtDisponivel.Checked = true;

}

else

{

rbtIndisponivel.Checked = true;

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

private void LimparCampos()

{

try

{

txtNomeLivro.Text = string.Empty;

txtAutor.Text = string.Empty;

txtAno.Text = string.Empty;

txtGenero.Text = string.Empty;

txtEditora.Text = string.Empty;

txtPaginas.Text = string.Empty;

rbtDisponivel.Checked = false;

rbtIndisponivel.Checked = false;

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

#endregion

}

}

formExcluir:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace LibrarySystem

{

public partial class frmAlterarExcluirLivros : Form

{

public frmAlterarExcluirLivros()

{

InitializeComponent();

}

#region Variáveis Públicas

int codigo, ano, paginas;

string nome, autor, genero, editora, status;

#endregion

#region Botões / Eventos

private void dgvDados_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)

{

//Se a célula que o usuário clicou for a do botão Editar atribuo para as variáveis

//publicas o valor de cada célula do Grid, referente ao respectivo registro

if (dgvDados.CurrentCell.Value.ToString() == "Editar")

{

//Passo o ID do registro que será útil em meu UPDATE no outro form

codigo = Convert.ToInt32(dgvDados.CurrentRow.Cells[0].FormattedValue);

nome = dgvDados.CurrentRow.Cells[1].FormattedValue.ToString();

autor = dgvDados.CurrentRow.Cells[2].FormattedValue.ToString();

ano = Convert.ToInt32(dgvDados.CurrentRow.Cells[3].FormattedValue);

genero = dgvDados.CurrentRow.Cells[4].FormattedValue.ToString();

editora = dgvDados.CurrentRow.Cells[5].FormattedValue.ToString();

paginas = Convert.ToInt32(dgvDados.CurrentRow.Cells[6].FormattedValue);

status = dgvDados.CurrentRow.Cells[7].FormattedValue.ToString();

//Chamo o método Editar, passando as variáveis como parâmetros

EditarRegistro(codigo, nome, autor, ano, genero, editora, paginas, status);

}

//Se a célula que o usuário clicou for a do botão Excluir chamo o método Excluir, passando como parâmetro

//a linha selecionada + a primeira célula, que contém meu ID com o valor formatado, convertido para Int32

if (dgvDados.CurrentCell.Value.ToString() == "Excluir")

{

ExcluirRegistro(Convert.ToInt32(dgvDados.CurrentRow.Cells[0].FormattedValue));

}

}

private void frmAlterarExcluirLivros_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dsLibrarySystem.Livros' table. You can move, or remove it, as needed.

this.livrosTableAdapter.FillByDisponivel(this.dsLibrarySystem.Livros);

}

private void tsbtnVoltar_Click(object sender, EventArgs e)

{

this.Close();

}

#endregion

#region Métodos

private void EditarRegistro(int codigo, string nome, string autor, int ano, string genero,

string editora, int paginas, string status)

{

//Instancio o frmAlterar e atribuo ao valor de suas variáveis o valor das variáveis

//pertencentes a assinatura deste método e abro o form, por meio do método ShowDialog

frmAlterarLivros objFrmAlterar = new frmAlterarLivros();

objFrmAlterar.codigo = codigo;

objFrmAlterar.nome = nome;

objFrmAlterar.autor = autor;

objFrmAlterar.ano = ano;

objFrmAlterar.genero = genero;

objFrmAlterar.editora = editora;

objFrmAlterar.paginas = paginas;

objFrmAlterar.status = status;

objFrmAlterar.ShowDialog();

}

private void ExcluirRegistro(int codigo)

{

//Se o usuário confirmar a exclusão, crio a conexão com o banco e excluo o respectivo registro

if (MessageBox.Show("Tem certeza que deseja excluir o registro?", "Mensagem do Sistema",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

try

{

SqlConnection objConexao = new SqlConnection(@"Data Source=JOATHA-PC\SQLEXPRESS;Initial Catalog=CadastroCRUD;Integrated Security=True;

Initial Catalog=LibrarySystem;Integrated Security=True");

string strConn = @"DELETE FROM Livros WHERE ID_LIVRO = @Codigo";

SqlCommand objCommand = new SqlCommand(strConn, objConexao);

objCommand.Parameters.AddWithValue("@Codigo", codigo);

objConexao.Open();

objCommand.ExecuteNonQuery();

objConexao.Close();

MessageBox.Show("Registro excluído com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);

this.livrosTableAdapter.FillBy(dsLibrarySystem.Livros);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

}

#endregion

private void lblMensagem_Click(object sender, EventArgs e)

{

}

private void dgvDados_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}