public async Task <IActionResult> Create(SecretariaViewModel secretariaViewModel) { if (!ModelState.IsValid) { return(View(secretariaViewModel)); } secretariaViewModel.CPF = secretariaViewModel.CPF.ApenasNumeros(); secretariaViewModel.Telefone = secretariaViewModel.Telefone.ApenasNumeros(); var secretaria = _mapper.Map <Secretaria>(secretariaViewModel); if ((await _secretariaRepository.Buscar(m => Equals(m.CPF, secretariaViewModel.CPF))).Any()) { ModelState.AddModelError(string.Empty, "CPF já cadastrado!"); return(View(secretariaViewModel)); } var usuarioIdentity = await _usuarioService.CadastrarSecretaria(secretariaViewModel.Email, secretariaViewModel.Email, secretariaViewModel.Senha); if (usuarioIdentity == null) { ModelState.AddModelError(string.Empty, "Email já em utilização!"); return(View(secretariaViewModel)); } secretaria.UsuarioId = Guid.Parse(usuarioIdentity.Id); await _secretariaRepository.Adicionar(secretaria); return(RedirectToAction("Index")); }
public async Task <IActionResult> Edit(Guid id, SecretariaViewModel secretariaViewModel) { if (id != secretariaViewModel.Id) { return(NotFound()); } if (!ModelState.IsValid) { return(View(secretariaViewModel)); } secretariaViewModel.CPF = secretariaViewModel.CPF.ApenasNumeros(); secretariaViewModel.Telefone = secretariaViewModel.Telefone.ApenasNumeros(); if (!await _usuarioService.AtualizeEmail(secretariaViewModel.UsuarioId, secretariaViewModel.Email)) { ModelState.AddModelError(string.Empty, "Não foi possível atualizar o email."); return(View(secretariaViewModel)); } if (!await _usuarioService.AtualizeSenha(secretariaViewModel.UsuarioId, secretariaViewModel.SenhaAntiga, secretariaViewModel.Senha)) { ModelState.AddModelError(string.Empty, "Não foi possível atualizar a senha."); return(View(secretariaViewModel)); } var secretaria = _mapper.Map <Secretaria>(secretariaViewModel); await _secretariaRepository.Atualizar(secretaria); return(RedirectToAction("Index")); }