Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, [Bind("IDVoluntarios,Nome,Telefone,Email,Morada,DataNasc,NrTotalEntregas")] Voluntarios voluntarios)
        {
            var email        = voluntarios.Email;
            var morada       = voluntarios.Morada;
            var telefone     = voluntarios.Telefone;
            var idVoluntario = voluntarios.IDVoluntarios;


            if (id != voluntarios.IDVoluntarios)
            {
                return(NotFound());
            }

            //Validar Email
            if (emailrepetidoEditar(email, idVoluntario) == true)
            {
                //Mensagem de erro se o email for repetido
                ModelState.AddModelError("Email", "Este email já existe");
            }

            //Validar morada
            if (moradarepetidaEditar(morada, idVoluntario) == true)
            {
                //Mensagem de erro se a morada ja existir noutro registo
                ModelState.AddModelError("Morada", "Esta morada já foi utilizada");
            }
            //Validar Contacto
            if (contactorepetidoEditar(telefone, idVoluntario))
            {
                //Mensagem de erro se o contacto ja existe
                ModelState.AddModelError("Telefone", "Contacto já utilizado");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (!emailrepetidoEditar(email, idVoluntario) || moradarepetidaEditar(morada, idVoluntario) || contactorepetidoEditar(telefone, idVoluntario))
                    {
                        _context.Update(voluntarios);
                        await _context.SaveChangesAsync();

                        TempData["successEdit"] = "Registo alterado com sucesso";
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VoluntariosExists(voluntarios.IDVoluntarios))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(voluntarios));
        }
Esempio n. 2
0
        private void BtnConfirmaVoluntario_ServerClick(object sender, EventArgs e)
        {
            int         idVoluntario = Convert.ToInt32(hiddenVoluntario.Value);
            Voluntarios voluntario   = ong.Voluntarios.Where(v => v.idDoador == idVoluntario).Single();

            voluntario.situacao        = "Confirmado";
            bd.Entry(voluntario).State = EntityState.Modified;
            bd.SaveChanges();
        }
Esempio n. 3
0
        public async Task <IActionResult> Create([Bind("IDVoluntarios,Nome,Telefone,Email,Morada,DataNasc,NrTotalEntregas")] Voluntarios voluntarios)
        {
            var email    = voluntarios.Email;
            var morada   = voluntarios.Morada;
            var telefone = voluntarios.Telefone;


            //Validar Email
            if (emailrepetidoCriar(email) == true)
            {
                //Mensagem de erro se o email for inválido
                ModelState.AddModelError("Email", "Este email já existe");
            }

            //Validar morada
            if (moradarepetidaCriar(morada) == true)
            {
                //Mensagem de erro se a morada ja existir noutro registo
                ModelState.AddModelError("Morada", "Esta morada já foi utilizada");
            }
            //Validar Contacto
            if (contactorepetidoCriar(telefone))
            {
                //Mensagem de erro se o contacto ja existe
                ModelState.AddModelError("Telefone", "Contacto já utilizado");
            }

            if (ModelState.IsValid)
            {
                if (!emailrepetidoCriar(email) || moradarepetidaCriar(morada) || contactorepetidoCriar(telefone))
                {
                    _context.Add(voluntarios);

                    await _context.SaveChangesAsync();

                    TempData["notice"] = "Registo inserido com sucesso!";
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(voluntarios));
        }