Bruno C. de Paula Exercício Academia 2º Semestre 2010 > PUCPR > BSI Comandos SQL Padrão do TableAdapter Select: Método Método Insert: Método Update: Método Delete: Método 25/07/09 GetData; Fill; Insert; Update; Delete. 2 Objetivo do Exercício Criar uma interface que permita o acompanhamento de um programa de exercícios para um conjunto de alunos de uma academia. 25/07/09 3 Especificação Cada aluno tem um objetivo diferente: emagrecimento, saúde, etc; 25/07/09 4 Especificação Cada aluno pode participar apenas de uma modalidade: Pilates, Corrida, Musculação, etc; 25/07/09 5 Especificação Alunos possuem um peso e uma altura, com os quais é feito o cálculo de seu IMC; É guardado um histórico do usuário. A qualquer momento um aluno pode deixar de ser ativo na academia; 25/07/09 6 Sugestão de modelagem 25/07/09 7 Sugestão de modelagem TbAtletas 25/07/09 8 Sugestão de modelagem TbAcompanhamento 25/07/09 9 Sugestão de modelagem TbModalidades 25/07/09 10 Sugestão de modelagem TbObjetivos 25/07/09 11 Sugestão para a organização das páginas NovoObjetivo.aspx: Criação de um novo objetivo; Usar FormView: DefaultMode=Insert; Dica: Não esqueça da validação de obrigatório (RequiredFieldValidator); E do Label colocado da maneira correta (AssociatedControlId). 25/07/09 12 Sugestão para a organização das páginas ListagemObjetivos.aspx: Listagem dos objetivos; Usar Repeater; <%# Eval(“campo”) %> 25/07/09 13 Sugestão para organização das páginas EditarObjetivo.aspx: Listagem dos objetivos através de uma ListBox ou DropDownList (AutoPostBack=True); Edição dos objetivos através de um FormView; DefaultMode=Edit Dica: não esqueça de criar dois ObjectDataSource: um para a lista e um para o FormView. 25/07/09 14 O ObjectDataSource Pode receber parâmetros EditarObjetivo.aspx Atualizando a 1ª lista 05/11/2015 16 protected void FormView1_ItemUpdated(object sender, FormViewUpdat { DropDownList1.DataBind(); } Sugestão para organização das páginas ExcluirObjetivo.aspx: Listagem dos objetivos através de links em um Repeater com um LinkButton dentro; CommandName=Delete; CommandArgument=<%# Eval(“id”) %> Exclusão do objetivo após confirmação via JavaScript, usar propriedade OnClientClick. 25/07/09 17 ExcluirObjetivo.aspx Confirmar exclusão <script type="text/javascript"> var confirmarExclusao = function() { return confirm("Você tem certeza?"); } </script> 05/11/2015 18 ExcluirObjetivo.aspx Código para exclusão 05/11/2015 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { ObjectDataSource1.DeleteParameters["Original_id"].DefaultValue = e.CommandArgument.ToString(); ObjectDataSource1.Delete(); } } 19 Sugestão para organização das páginas Criar as páginas seguintes a partir deste modelo: NovaModalidade.aspx, ListagemModalidades.aspx, EditarModalidade.aspx e ExcluirModalidade.aspx NovoAtleta.aspx, ListagemAtletas.aspx, EditarAtleta.aspx e ExcluirAtleta.aspx Acompanhamento.aspx – Listar para cada aluno: O peso, altura e imc atual; Cada mudança de peso e altura e o seu IMC no momento. 25/07/09 20