protected void Page_Load(object sender, EventArgs e) { try { if (Session["user"] == null || Session["tipo"] == null || Session["tipo"].ToString() != "Prof") { Response.Redirect("Inic.aspx"); } div_user.InnerHtml = Session["user"].ToString(); ws = new WebService(); if (!IsPostBack) { //Carregar dados do prof para os controlos prof = ws.getProfStaff(Session["user"].ToString()); txt_dataNasc.Text = prof.DataNasc.Year.ToString("0000") + "/" + prof.DataNasc.Month.ToString("00") + "/" + prof.DataNasc.Day.ToString("00"); txt_morada.Text = prof.Morada; txt_nome.Text = prof.Nome; txt_tele.Text = prof.Telefone; } } catch (Exception) { div_outError.InnerHtml = "<br />"; div_outError.InnerHtml = "<p style=\"Color: red;\">Ocorreu um erro ao carregar os dados do professor.</p>"; } }
protected void cbb_moduloo_SelectedIndexChanged(object sender, EventArgs e) { try { if (cbb_moduloo.Text != "-" && cbb_moduloo.Text != "" && cbb_moduloo.Text != null) { cbb_profs.Items.Clear(); cbb_profs.Items.Add("-"); Modulo mod = ws.getModulo(Convert.ToInt32(cbb_moduloo.Text.Substring(0, cbb_moduloo.Text.IndexOf('-') - 1).Trim())); int[] ids = ws.getProfStaffsFromDisc(mod.Sigla); for (int i = 0; i < ids.Count(); i++) { ProfStaff profStaff = ws.getProfStaff(ids[i].ToString()); if (!profStaff.Oculto) { cbb_profs.Items.Add(profStaff.ProfStaffID + " - " + profStaff.Nome); } } } } catch (Exception ee) { div_outError.InnerHtml = "<br/>"; div_outError.InnerHtml += "<p style=\"color:red;\">Ocorreu um erro ao carregar os professores." + ee + "</p>"; } }
protected void btn_login_Click(object sender, EventArgs e) { try { if (txt_username.Text != "" && txt_password.Text != "") { if (txt_username.Text.Substring(0, 1) == "I" || txt_username.Text.Substring(0, 1) == "i") { Aluno aluno = ws.getAluno(txt_username.Text); if (aluno.Password == ws.sha256(txt_password.Text)) { Session["user"] = txt_username.Text; Session["tipo"] = "Aluno"; Response.Redirect("Form_AL_Dashboard.aspx"); } else { div_output.Visible = true; div_output.InnerHtml = "Palavra-passe errada!"; } } else { ProfStaff profStaff = ws.getProfStaff(txt_username.Text); if (profStaff.Password == ws.sha256(txt_password.Text)) { if (profStaff.Tipo == ProfStaff.enumTipo.Prof) { Session["user"] = txt_username.Text; Session["tipo"] = "Prof"; Response.Redirect("Form_Prof_Dashboard.aspx"); //Levar para a Dashboard Prof } else { Session["user"] = txt_username.Text; Session["tipo"] = "Func"; Response.Redirect("Form_Func_Dashboard.aspx"); //Levar para a Dashboard Func } } else { div_output.Visible = true; div_output.InnerHtml = "Palavra-passe errada!"; } } } else { div_output.Visible = true; div_output.InnerHtml = "Por favor preencha todos os campos!"; } } catch (ArgumentOutOfRangeException) { div_output.Visible = true; div_output.InnerHtml = "Esse utilizador não existe!"; } catch (Exception ee) { div_output.Visible = true; div_output.InnerHtml = "Ocorreu um erro ao efetuar o login.<br/>" + ee.Message + "<br/>" + ee.InnerException; } }
public void LoadList() { div_outDados.InnerHtml = ""; Regex dateReg = new Regex(@"(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)"); //Obter lista com os pedidos filtrados //Verificacao e necessaria pois se a combo box nao tiver nada vai dar uma excessao if (txt_dataFim.Text != "" && txt_dataInic.Text != "" && dateReg.IsMatch(txt_dataInic.Text) && dateReg.IsMatch(txt_dataFim.Text)) { if (cbb_modulo.Text != "-") { switch (cbb_estado.SelectedIndex) { case 0: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido(null, null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido(null, null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 1: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido(null, "DataCria", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido(null, "DataCria", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 2: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("PorAprovar", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("PorAprovar", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 3: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("NaoAprovado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("NaoAprovado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 4: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Aprovado", "DataAprov", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("Aprovado", "DataAprov", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 5: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Pago", "DataPago", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("Pago", "DataPago", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 6: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Lancado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("Lancado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; case 7: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Terminado", "DataTermin", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } else { pedidos = ws.queryPedido("Terminado", "DataTermin", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", cbb_modulo.Text.Substring(0, cbb_modulo.Text.IndexOf('-') - 1)); } break; } } else { switch (cbb_estado.SelectedIndex) { case 0: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido(null, null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido(null, null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", "-"); } break; case 1: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido(null, "DataCria", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido(null, "DataCria", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", "-"); } break; case 2: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("PorAprovar", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("PorAprovar", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", "-"); } break; case 3: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("NaoAprovado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("NaoAprovado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", "-"); } break; case 4: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Aprovado", "DataAprov", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("Aprovado", "DataAprov", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", "-"); } break; case 5: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Pago", "DataPago", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("Pago", "DataPago", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", "-"); } break; case 6: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Lancado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("Lancado", null, DateTime.Parse("999-1-1"), DateTime.Parse("999-1-1"), cbb_al.Text, "-", "-"); } break; case 7: if (cbb_prof.Text != "-") { pedidos = ws.queryPedido("Terminado", "DataTermin", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, cbb_prof.Text.Substring(0, cbb_prof.Text.IndexOf('-') - 1), "-"); } else { pedidos = ws.queryPedido("Terminado", "DataTermin", DateTime.Parse(txt_dataInic.Text), DateTime.Parse(txt_dataFim.Text), cbb_al.Text, "-", "-"); } break; } } /*--------------Inserir dados na lsv---------------------*/ if (rdb_consulta.Checked) { for (int i = 0; i < pedidos.Count(); i++) { div_outDados.InnerHtml += "<tr>"; div_outDados.InnerHtml += "<td>" + pedidos[i].PedidoID.ToString() + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].Aluno + "</td>"; ProfStaff prof = ws.getProfStaff(pedidos[i].Prof); div_outDados.InnerHtml += "<td>" + prof.ProfStaffID + " - " + prof.Nome + "</td>"; Modulo modulo = ws.getModulo(pedidos[i].Modulo); div_outDados.InnerHtml += "<td>" + modulo.Sigla + modulo.NumModulo + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].DataExame.ToShortDateString() + "</td>"; switch (pedidos[i].Estado) { case Pedido.enumEstado.Aprovado: div_outDados.InnerHtml += "<td>Aprovado</td>"; break; case Pedido.enumEstado.Pago: div_outDados.InnerHtml += "<td>Pago</td>"; break; case Pedido.enumEstado.PorAprovar: div_outDados.InnerHtml += "<td>Por Aprovar</td>"; break; case Pedido.enumEstado.Terminado: div_outDados.InnerHtml += "<td>Terminado</td>"; break; case Pedido.enumEstado.Lancado: div_outDados.InnerHtml += "<td>Lançado</td>"; break; case Pedido.enumEstado.NaoAprovado: div_outDados.InnerHtml += "<td>Não Aprovado</td>"; break; } if (pedidos[i].Nota != -1) { div_outDados.InnerHtml += "<td>" + pedidos[i].Nota.ToString("00") + "</td>"; } else { div_outDados.InnerHtml += "<td>-</td>"; } switch (pedidos[i].TipoTaxa) { case Pedido.enumTaxa.NULL: div_outDados.InnerHtml += "<td>-</td>"; break; case Pedido.enumTaxa.Epoca: div_outDados.InnerHtml += "<td>Dentro da Época</td>"; break; case Pedido.enumTaxa.ForaEpoca: div_outDados.InnerHtml += "<td>Fora da Época</td>"; break; case Pedido.enumTaxa.Isento: div_outDados.InnerHtml += "<td>Isento</td>"; break; } if (pedidos[i].Preco != -1) { div_outDados.InnerHtml += "<td>" + pedidos[i].Preco.ToString("0.00") + "€</td>"; } else { div_outDados.InnerHtml += "<td>-</td>"; } div_outDados.InnerHtml += "</tr>"; } } else { if (rdb_aprov.Checked) { for (int i = 0; i < pedidos.Count(); i++) { if (pedidos[i].Estado == Pedido.enumEstado.PorAprovar) { div_outDados.InnerHtml += "<tr>"; div_outDados.InnerHtml += "<td>" + pedidos[i].PedidoID.ToString() + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].Aluno + "</td>"; ProfStaff prof = ws.getProfStaff(pedidos[i].Prof); div_outDados.InnerHtml += "<td>" + prof.ProfStaffID + " - " + prof.Nome + "</td>"; Modulo modulo = ws.getModulo(pedidos[i].Modulo); div_outDados.InnerHtml += "<td>" + modulo.Sigla + modulo.NumModulo + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].DataExame.ToShortDateString() + "</td>"; if (pedidos[i].Nota != -1) { div_outDados.InnerHtml += "<td>" + pedidos[i].Nota.ToString("00") + "</td>"; } else { div_outDados.InnerHtml += "<td>-</td>"; } switch (pedidos[i].TipoTaxa) { case Pedido.enumTaxa.NULL: div_outDados.InnerHtml += "<td>-</td>"; break; case Pedido.enumTaxa.Epoca: div_outDados.InnerHtml += "<td>Dentro da Época</td>"; break; case Pedido.enumTaxa.ForaEpoca: div_outDados.InnerHtml += "<td>Fora da Época</td>"; break; case Pedido.enumTaxa.Isento: div_outDados.InnerHtml += "<td>Isento</td>"; break; } if (pedidos[i].Preco != -1) { div_outDados.InnerHtml += "<td>" + pedidos[i].Preco.ToString("0.00") + "€</td>"; } else { div_outDados.InnerHtml += "<td>-</td>"; } //Colocar os botoes aqui div_outDados.InnerHtml += "<td width=\"100px\"><input formmethod=\"post\" style=\"color: rgba(255,255,255,00);\" formaction=\"AprovPedido_Func.aspx\" id=\"A" + pedidos[i].PedidoID + "\" name=\"btn\" class=\"btn btn-xs btn-success\" type=\"submit\" value=\"" + pedidos[i].PedidoID + "\" /><input id=\"N" + pedidos[i].PedidoID + "\" formmethod=\"post\" formaction=\"RejeitPedido_Func.aspx\" class=\"btn btn-xs btn-danger\" type=\"submit\" style=\"margin-left: 16px; color: rgba(255,255,255,00);\" name=\"btn\" value=\"" + pedidos[i].PedidoID + "\" /></td>"; div_outDados.InnerHtml += "</tr>"; } } } else { for (int i = 0; i < pedidos.Count(); i++) { if (pedidos[i].Estado != Pedido.enumEstado.PorAprovar && pedidos[i].Estado != Pedido.enumEstado.NaoAprovado && pedidos[i].Preco == -1) { div_outDados.InnerHtml += "<tr>"; div_outDados.InnerHtml += "<td>" + pedidos[i].PedidoID.ToString() + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].Aluno + "</td>"; ProfStaff prof = ws.getProfStaff(pedidos[i].Prof); div_outDados.InnerHtml += "<td>" + prof.ProfStaffID + " - " + prof.Nome + "</td>"; Modulo modulo = ws.getModulo(pedidos[i].Modulo); div_outDados.InnerHtml += "<td>" + modulo.Sigla + modulo.NumModulo + "</td>"; div_outDados.InnerHtml += "<td>" + pedidos[i].DataExame.ToShortDateString() + "</td>"; switch (pedidos[i].Estado) { case Pedido.enumEstado.Aprovado: div_outDados.InnerHtml += "<td>Aprovado</td>"; break; case Pedido.enumEstado.Pago: div_outDados.InnerHtml += "<td>Pago</td>"; break; case Pedido.enumEstado.PorAprovar: div_outDados.InnerHtml += "<td>Por Aprovar</td>"; break; case Pedido.enumEstado.Terminado: div_outDados.InnerHtml += "<td>Terminado</td>"; break; case Pedido.enumEstado.Lancado: div_outDados.InnerHtml += "<td>Lançado</td>"; break; case Pedido.enumEstado.NaoAprovado: div_outDados.InnerHtml += "<td>Não Aprovado</td>"; break; } switch (pedidos[i].TipoTaxa) { case Pedido.enumTaxa.NULL: div_outDados.InnerHtml += "<td>-</td>"; break; case Pedido.enumTaxa.Epoca: div_outDados.InnerHtml += "<td>Dentro da Época</td>"; break; case Pedido.enumTaxa.ForaEpoca: div_outDados.InnerHtml += "<td>Fora da Época</td>"; break; case Pedido.enumTaxa.Isento: div_outDados.InnerHtml += "<td>Isento</td>"; break; } if (pedidos[i].Preco != -1) { div_outDados.InnerHtml += "<td>" + pedidos[i].Preco.ToString("0.00") + "€</td>"; } else { div_outDados.InnerHtml += "<td>-</td>"; } //Meter caixas de texto div_outDados.InnerHtml += "<td width=\"120px\"><input id=\"" + pedidos[i].PedidoID.ToString() + "\" name=\"" + pedidos[i].PedidoID.ToString() + "\" type=\"number\" min=\"0\" class=\"form-control\" /></td>"; div_outDados.InnerHtml += "</tr>"; } } } } } else { div_out.InnerHtml = "<br />"; div_out.InnerHtml += "<p style=\"color:red;\">Formato da data invalido.</p>"; } /*------------------------------------------------------*/ }
protected void btn_register_Click(object sender, EventArgs e) { if (switch_al.Checked) { //Adição de um Professor à BD if (txt_password.Text != txt_repeat_password.Text) { //error - no match pwd div_output.Visible = true; div_output.InnerHtml = "As passwords não coincidem!"; txt_password.Text = string.Empty; txt_repeat_password.Text = string.Empty; return; } else { DateTime.TryParse(txt_data_nasc.Text, out dateFinal); if (dateFinal >= DateTime.Now) { //error - data nasc inválida div_output.Visible = true; div_output.InnerHtml = "A data de nascimento não pode ser maior que a atual!"; txt_data_nasc.Text = string.Empty; return; } else { if (!telReg.IsMatch(txt_contact.Text)) { //error - formato tel n respeitado div_output.Visible = true; div_output.InnerHtml = "O formato do número de telemóvel não foi respeitado!\nConsulte a tooltip da caixa de texto para mais informações."; txt_contact.Text = string.Empty; return; } else { if (!cbb_ac.Checked && !cbb_ai.Checked && !cbb_ef.Checked && !cbb_fq.Checked && !cbb_ing.Checked && !cbb_mat.Checked && !cbb_psi.Checked && !cbb_pt.Checked && !cbb_rc.Checked && !cbb_so.Checked && !cbb_tic.Checked) { //error - 0 disciplinas selected div_output.Visible = true; div_output.InnerHtml = "Tem que ter pelo menos 1 disciplina selecionada!"; return; } else { if (webs.checkProfStaff(txt_username.Text)) { //error - user existente ProfStaff tempProf = webs.getProfStaff(txt_username.Text); div_output.Visible = true; switch (tempProf.Tipo) { case ProfStaff.enumTipo.Prof: div_output.InnerHtml = "O id: " + txt_username.Text + " já está atribuído a um Professor."; break; case ProfStaff.enumTipo.Func: div_output.InnerHtml = "O id: " + txt_username.Text + " já está atribuído a um Funcionário."; break; case ProfStaff.enumTipo.NULL: div_output.InnerHtml = "O id: " + txt_username.Text + " já está atribuído a um Utilizador."; break; default: div_output.InnerHtml = "O id: " + txt_username.Text + " já está atribuído a um Utilizador."; break; } txt_username.Text = string.Empty; } else { ProfStaff prof = new ProfStaff(); prof.ProfStaffID = txt_username.Text; prof.DataCria = DateTime.Now; prof.DataNasc = dateFinal; prof.Morada = txt_morada.Text; prof.Nome = txt_name.Text; prof.Password = webs.sha256(txt_password.Text); prof.Telefone = txt_contact.Text; prof.Tipo = ProfStaff.enumTipo.Prof; if (cbb_ac.Checked) { prof.Sigla.Add("AC"); } if (cbb_ai.Checked) { prof.Sigla.Add("AI"); } if (cbb_ef.Checked) { prof.Sigla.Add("EF"); } if (cbb_fq.Checked) { prof.Sigla.Add("FQ"); } if (cbb_ing.Checked) { prof.Sigla.Add("ING"); } if (cbb_mat.Checked) { prof.Sigla.Add("MAT"); } if (cbb_psi.Checked) { prof.Sigla.Add("PSI"); } if (cbb_pt.Checked) { prof.Sigla.Add("PT"); } if (cbb_rc.Checked) { prof.Sigla.Add("RC"); } if (cbb_so.Checked) { prof.Sigla.Add("SO"); } if (cbb_tic.Checked) { prof.Sigla.Add("TIC"); } webs.addProfStaff(prof); Response.Redirect("Inic.aspx"); } } } } } } else { //Adição de um Aluno à DB if (!alRegex.IsMatch(txt_username.Text) && txt_username.Text.Length != 7) { //error - formato do username para um aluno não respeitado div_output.Visible = true; div_output.InnerHtml = "O formato do username não foi respeitado!\nConsulte a tooltip da caixa de texto username para mais informações."; return; } else { if (txt_password.Text != txt_repeat_password.Text) { //error - no match pwd div_output.Visible = true; div_output.InnerHtml = "As passwords não coincidem!"; txt_password.Text = string.Empty; txt_repeat_password.Text = string.Empty; return; } else { DateTime.TryParse(txt_data_nasc.Text, out dateFinal); if (dateFinal >= DateTime.Now) { //error - data nasc invalida div_output.Visible = true; div_output.InnerHtml = "A data de nascimento não pode ser maior que a atual!"; txt_data_nasc.Text = string.Empty; return; } else { if (!telReg.IsMatch(txt_contact.Text)) { //error - formato tel não respeitado div_output.Visible = true; div_output.InnerHtml = "O formato do número de telemóvel não foi respeitado!\nConsulte a tooltip da caixa de texto para mais informações."; txt_contact.Text = string.Empty; return; } else { if (webs.checkAluno("I" + txt_username.Text.Substring(1))) { //error - aluno já existe div_output.Visible = true; div_output.InnerHtml = "O aluno com o id: " + txt_username.Text + " já existe."; txt_username.Text = string.Empty; return; } else { Aluno al = new Aluno(); al.AlunoID = "I" + txt_username.Text.Substring(1); al.DataCria = DateTime.Now; al.DataNasc = dateFinal; al.Morada = txt_morada.Text; al.Nome = txt_name.Text; al.Password = webs.sha256(txt_password.Text); al.Telefone = txt_contact.Text; al.Turma = txt_turma.Text; webs.addAluno(al); Response.Redirect("Inic.aspx"); } } } } } } }