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)); }
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)); }