protected void Repeater3_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Reabrir") { string id; int index = Convert.ToInt32(e.CommandArgument); id = e.CommandArgument.ToString(); Session["id"] = id; DAL.DALChamado arquivo = new DAL.DALChamado(); Modelo.Chamado mchamado; mchamado = arquivo.Select(id); mchamado.status = 4; arquivo.Update(mchamado); Response.Redirect("~//2-Servidor/WebFormChamadosFechadosServidor.aspx"); } }
protected void add_Click1(object sender, EventArgs e) { //Chamada do Modelo e do DAL para gravar valor no banco Modelo.Chamado aChamado; DAL.DALChamado aDALChamado = new DAL.DALChamado();; //Conversão de da quantidade de equipamento de string para int int quantidade = 0; //Caso seja um inteiro, efetua a conversão //Caso contrário, retornará 0 para ser tratado no trigger do banco if (int.TryParse(quantidadeeq.Text, out int result)) { quantidade = Convert.ToInt32(quantidadeeq.Text); } else { quantidade = 0; } //Salva os valores pegos na WebForm na classe modelo aChamado = new Modelo.Chamado("1", Session["idusuario"].ToString(), salaDrop.Text, catDrop.Text, 1, Convert.ToInt32(statusEI.Text), "", Convert.ToString(resumo.Text), quantidade, DateTime.Now); //bool para controle de erros //ok == true -> Erro inexistente //ok == false = -> Erro existente bool ok = true; //TryCatch para tratamento de possíveis erros //Os erros serão apresentados na tela quando a página for atualizada try { aDALChamado.Insert(aChamado); } //Erros capturados pelos triggers no banco de dados catch (SqlException error) { //Caso um erro seja detectado, ok se torna false ok = false; //Resumo vazio if (error.Message.Contains("Para abrir um chamado você deve indicar o problema")) { Session["MsgErroresumop"] = "Para abrir um chamado você deve indicar o problema"; } //Quantidade de máquinas com defeito menor que 1 if (error.Message.Contains("A quantidade de equipamentos deve ser um número maior que 0")) { Session["MsgErromaqdef"] = "A quantidade de equipamentos deve ser um número maior que 0"; } //Quantidade de máquinas maior que o existente na sala if (error.Message.Contains("Numero maximo de maquinas excedido")) { Session["MsgErromaqdef"] = "Número máximo de equipamentos excedido"; } //Nenhum equipamento foi escolhido -- Caso esse erro ocorra, nenhum dos outros será chamado, pois ele ocorre antes do trigger if (error.Message.Contains("FK__Chamado__salas__5EBF139D")) { Session["MsgErrosala"] = "Voce deve selecionar a sala que possui equipamentos com defeito"; } } //Erro de erro de conversão que pode acontecer no DAL catch (FormatException errorFormat) { //Caso um erro seja detectado, ok se torna false ok = false; //Nenhum equipamento foi escolhido //Esse erro não será tratado caso a língua padrão da máquina onde a aplicação foi instalada for diferente do português // Acontecerá, pois o Format Exception é gerado automaticamente //Nenhum equipamento foi escolhido -- Caso esse erro ocorra, nenhum dos outros será chamado, pois ele ocorre antes do trigger if (errorFormat.Message.Contains("A cadeia de caracteres de entrada não estava em um formato correto")) { Session["MsgErrosala"] = "Deve haver uma sala válido existente"; } } //If para confirmação de erro //Caso não ocorra algum erro, o usuário é redirecionado para o crud //Caso haja erro, a página atualiza exibe as mensagens de erro if (ok) { Response.Redirect("~//3-Bolsista/WebFormCRUDChamadoBolsista.aspx"); } else { Response.Redirect("~//3-Bolsista/WebFormAddChamadoBolsista.aspx"); } }