Exemple #1
0
        public async Task <IActionResult> Create([Bind("DiretorServicoID,Codigo,Nome,Contacto,Email,CC")] DiretorServico diretorServico)
        {
            var numero   = diretorServico.Codigo;
            var email    = diretorServico.Email;
            var nCC      = diretorServico.CC;
            var contacto = diretorServico.Contacto;

            //Validar Numero Mecanografico
            if (numMecIsInvalid(numero) == true)
            {
                //Mensagem de erro se o codigo for inválido
                ModelState.AddModelError("Codigo", "Este código já existe");
            }

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

            //Validar CC através do check digit
            if (!ValidateNumeroDocumentoCC(nCC))
            {
                //Mensagem de erro se o nº de CC é inválido
                ModelState.AddModelError("CC", "Nº de CC inválido");
            }

            //Validar CC
            if (ccIsInvalid(nCC))
            {
                //Mensagem de erro se o nº de CC já existe
                ModelState.AddModelError("CC", "Nº de CC já existente");
            }

            //Validar contacto
            if (contactoIsInvalid(contacto))
            {
                //Mensagem de erro se o contacto já existe
                ModelState.AddModelError("Contacto", "Contacto já existente");
            }


            if (ModelState.IsValid)
            {
                if (!contactoIsInvalid(contacto) || !numMecIsInvalid(numero) || !emailIsInvalid(email) || !ccIsInvalid(nCC) || ValidateNumeroDocumentoCC(nCC))
                {
                    diretorServico.Codigo = "D" + diretorServico.Codigo;
                    _context.Add(diretorServico);
                    await _context.SaveChangesAsync();

                    TempData["insertSuccess"] = "Registo inserido com sucesso!";
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(diretorServico));
        }
Exemple #2
0
        public async Task <IActionResult> Edit(int id, [Bind("DiretorServicoID,Codigo,Nome,Contacto,Email,CC")] DiretorServico diretorServico)
        {
            var numero   = diretorServico.Codigo;
            var email    = diretorServico.Email;
            var nCC      = diretorServico.CC;
            var idDir    = diretorServico.DiretorServicoID;
            var contacto = diretorServico.Contacto;

            //Validar Numero Mecanografico
            if (numMecIsInvalidEdit(numero, idDir) == true)
            {
                //Mensagem de erro se o número mecanográfico for inválido
                ModelState.AddModelError("Codigo", "Este código já existe");
            }

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

            //Validar CC através do check digit
            if (!ValidateNumeroDocumentoCC(nCC))
            {
                //Mensagem de erro se o nº de CC é inválido
                ModelState.AddModelError("CC", "Nº de CC inválido");
            }

            //Validar CC
            if (ccIsInvalidEdit(nCC, idDir))
            {
                //Mensagem de erro se o nº de CC já existe
                ModelState.AddModelError("CC", "Nº de CC já existente");
            }

            //Validar Contacto
            if (contactoIsInvalidEdit(contacto, idDir))
            {
                //Mensagem de erro se o contacto já existe
                ModelState.AddModelError("Contacto", "Contacto já existente");
            }


            if (id != diretorServico.DiretorServicoID)
            {
                return(RedirectToAction(nameof(Error)));
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (!contactoIsInvalidEdit(contacto, idDir) || !ccIsInvalidEdit(nCC, idDir) || !emailIsInvalidEdit(email, idDir) || !numMecIsInvalidEdit(numero, idDir) || ValidateNumeroDocumentoCC(nCC))
                    {
                        diretorServico.Codigo = "D" + diretorServico.Codigo;
                        _context.Update(diretorServico);
                        await _context.SaveChangesAsync();

                        TempData["successEdit"] = "Registo alterado com sucesso";
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DiretorServicoExists(diretorServico.DiretorServicoID))
                    {
                        return(RedirectToAction(nameof(Error)));
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(diretorServico));
        }