Esempio n. 1
0
        protected void btn_ConfirmarPassword_ServerClick(object sender, EventArgs e)
        {
            try
            {
                string password = txt_password.Text;
                int    id_user  = int.Parse(Session["id_user"].ToString());

                if (UserLogin.CheckUserPassword(id_user, password))
                {
                    div_erro.Visible = false;

                    Models.User user = new Models.User();

                    string   email       = txt_email.Text;
                    string   nome        = txt_nome.Text;
                    string   nif         = txt_nif.Text;
                    string   newPassword = txt_newpassowrd.Text;
                    DateTime data_nasc   = DateTime.Parse(txt_data_nasc.Text);

                    if (email == String.Empty || email.Contains("@") == false || email.Contains(".") == false)
                    {
                        throw new Exception("O email indicado não é válido.");
                    }

                    if (DateTime.Now.Year - data_nasc.Year < 16)
                    {
                        throw new Exception("Deves ter no mímimo 16 anos para poderes usar a Food4U");
                    }

                    if (nome == String.Empty || nome.Trim().Length < 3)
                    {
                        throw new Exception("O nome indicado não é válido. Deve ter pelo menos 3 letras.");
                    }

                    int inif = int.Parse(nif);
                    if (nif.Trim().Length != 9)
                    {
                        throw new Exception("O NIF indicado não é válido. Deve ter 9 digitos.");
                    }

                    if (newPassword != "")
                    {
                        if (newPassword.Length <= 3)
                        {
                            throw new Exception("Nova Password Inválida");
                        }
                    }

                    user.id        = id_user;
                    user.email     = email;
                    user.nome      = nome;
                    user.nif       = nif;
                    user.data_nasc = data_nasc;
                    user.password  = newPassword;

                    user.Atualizar();

                    div_erro2.Visible     = false;
                    btn_confirmar.Visible = false;
                    btn_cancelar.Visible  = false;
                    btn_editar.Visible    = true;

                    txt_email.Attributes.Add("readonly", "true");
                    txt_nome.Attributes.Add("readonly", "true");
                    txt_nif.Attributes.Add("readonly", "true");
                    txt_data_nasc.Attributes.Add("readonly", "true");
                    txt_newpassowrd.Attributes.Add("readonly", "true");


                    txt_email.CssClass       = "form-control-plaintext w-75";
                    txt_nome.CssClass        = "form-control-plaintext w-75";
                    txt_nif.CssClass         = "form-control-plaintext w-75";
                    txt_data_nasc.CssClass   = "form-control-plaintext w-75";
                    txt_newpassowrd.CssClass = "form-control-plaintext w-75";

                    txt_newpassowrd.Attributes["value"] = "";

                    AtualizarUser();
                }
                else
                {
                    throw new Exception("Palavra-Passe errada");
                }
            }
            catch (Exception erro)
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenModal", "openConfirmPassword()", true);

                lb_erro.Text = erro.Message;
                div_erro.Attributes["class"] = "alert alert-danger";
                div_erro.Visible             = true;
            }
        }