protected void atribuir_Click(object sender, EventArgs e) { DAL.DALChamado aDALChamado = new DAL.DALChamado(); Modelo.Chamado aChamado = aDALChamado.Select(Session["idchamado"].ToString()); DropDownList drop = (DropDownList)Repeater3.Items[0].FindControl("atribuidoID"); aChamado.usuario_atribuido_id = drop.SelectedValue; aChamado.status = 2; aDALChamado.UpdateAtribuido(aChamado); Response.Redirect("~//2-Servidor/WebFormCRUDChamado.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, modeloDrop.Text, tombamento.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 inválida"; } //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__sala_id")) { 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("~//2-Servidor/WebFormCRUDChamado.aspx"); } else { Response.Redirect("~//2-Servidor/WebFormAddChamado.aspx"); } }