예제 #1
0
        private void RegistarCandidatoParaFazerLogin(ConvocadoViewModel convocadoViewModel)
        {
            if (ObterDadosConvocado(convocadoViewModel, out var dadosConvocado))
            {
                return;
            }

            var user = new ApplicationUser
            {
                Id       = dadosConvocado.ConvocadoId.ToString(),
                UserName = convocadoViewModel.Email,
                Email    = convocadoViewModel.Email
            };

            var dados = _userManager.FindByEmail(user.Email);

            if (dados != null)
            {
                return;
            }
            _userManager.Create(user, GerarSenha());
            var user2 = _userManager.FindByName(dadosConvocado.Email);

            _userManager.AddToRole(user2.Id, RolesNames.ROLE_CONVOCADO);
        }
 public ConvocadoViewModel Update(ConvocadoViewModel obj)
 {
     BeginTransaction();
     _convocadoService.Update(Mapper.Map <ConvocadoViewModel, Convocado>(obj));
     Commit();
     return(obj);
 }
예제 #3
0
        public ActionResult Edit(ConvocadoViewModel convocadoViewModel)
        {
            if (!ModelState.IsValid)
            {
                RetornaViewBagsDasSelectList();
                return(View(convocadoViewModel));
            }

            if (!_convocadoAppService.VerificaSeHaSobrenome(convocadoViewModel.Nome))
            {
                ModelState.AddModelError("Nome", "O campo nome deve ter um sobrenome");
                RetornaViewBagsDasSelectList();
                return(View(convocadoViewModel));
            }

            if (!_convocadoAppService.VerificaSeHaSobrenome(convocadoViewModel.Mae))
            {
                ModelState.AddModelError("Mae", "O campo nome deve ter um sobrenome");
                RetornaViewBagsDasSelectList();
                return(View(convocadoViewModel));
            }

            if (!_convocadoAppService.VerificaSeHaSobrenome(convocadoViewModel.Pai))
            {
                ModelState.AddModelError("Pai", "O campo nome deve ter um sobrenome");
                RetornaViewBagsDasSelectList();
                return(View(convocadoViewModel));
            }

            _convocadoAppService.Update(convocadoViewModel);

            return(RedirectToAction("Edit", new { id = convocadoViewModel.ConvocadoId, modal = true }));
        }
예제 #4
0
        public string ObterBodyParaEnvioEmail(ConvocadoViewModel convocacao)
        {
            var context     = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            var dadosCandidato = userManager.FindByEmail(convocacao.Email);

            var dadosConvocacao = _convocacaoService.GetOne(a =>
                                                            a.ProcessoId.Equals(convocacao.ProcessoId) && a.ConvocadoId.Equals(convocacao.ConvocadoId));
            var dadosProcesso = _processoAppService.GetById(convocacao.ProcessoId);

            var contentEmail = _sysConfig.GetHelpFile("EmailDeConvocacao");
            var body         = GetTagContent(contentEmail, "body");

            if (body == string.Empty)
            {
                return(string.Empty);
            }

            var senhaCandidato = _passwordGenerator.GetPassword();

            userManager.RemovePassword(dadosCandidato.Id);
            userManager.AddPassword(dadosCandidato.Id, senhaCandidato);

            body = body.Replace("{DATA}", dadosConvocacao.DataEntregaDocumentos.ToString());
            body = body.Replace("{HORA}", dadosConvocacao.HorarioEntregaDocumento);
            body = body.Replace("{ENDERECO}", dadosConvocacao.EnderecoEntregaDocumento);
            body = body.Replace("{NOMECONVOCACAO}", dadosProcesso.Nome);
            body = body.Replace("{USUARIO}", convocacao.Nome);
            body = body.Replace("{SENHA}", senhaCandidato);

            return(body);
        }
예제 #5
0
        private string ObterAssuntoEmail(ConvocadoViewModel convocacao)
        {
            var dadosProcesso = _processoAppService.GetById(convocacao.ProcessoId);

            return(string.Format("Prezado candidato {0} você está convocado para o {1}", convocacao.Nome,
                                 dadosProcesso.Nome));
        }
        public ConvocadoViewModel Add(ConvocadoViewModel obj)
        {
            var convocado = Mapper.Map <ConvocadoViewModel, Convocado>(obj);

            BeginTransaction();
            _convocadoService.Add(convocado);
            Commit();
            return(obj);
        }
예제 #7
0
 public ActionResult Create(ConvocadoViewModel convocadoViewModel)
 {
     if (!ModelState.IsValid)
     {
         return(View(convocadoViewModel));
     }
     _convocadoAppService.Add(convocadoViewModel);
     return(RedirectToAction("Index"));
 }
예제 #8
0
 private bool ObterDadosConvocado(ConvocadoViewModel convocadoViewModel, out ConvocadoViewModel dadosConvocado)
 {
     dadosConvocado = _convocadoAppService.Search(a => a.ConvocadoId.Equals(convocadoViewModel.ConvocadoId))
                      .FirstOrDefault();
     if (dadosConvocado == null)
     {
         return(true);
     }
     return(false);
 }
        public ActionResult ListaConvocados(string ProcessoId, string cargo)
        {
            var dadosConvocadoViewModel = new ConvocadoViewModel
            {
                CargoId    = Guid.Parse(cargo),
                ProcessoId = Guid.Parse(ProcessoId)
            };

            var convocados = _convocacaoAppService.Search(a => a.ProcessoId.Equals(dadosConvocadoViewModel.ProcessoId));

            ViewBag.DadosConvocacao = _processoAppService.GetById(dadosConvocadoViewModel.ProcessoId);
            ViewBag.ListaCandidatos = _convocadoAppService
                                      .Search(a => a.CargoId.Equals(dadosConvocadoViewModel.CargoId)).OrderBy(a => a.Posicao)
                                      .Where(a => convocados.All(p2 => p2.ConvocadoId != a.ConvocadoId));

            ViewBag.DadosCargo    = _cargoAppService.GetById(dadosConvocadoViewModel.CargoId);
            ViewBag.ProcessoId    = ProcessoId;
            ViewBag.dadosProcesso = _processoAppService.GetById(Guid.Parse(ProcessoId));

            return(View());
        }
예제 #10
0
        private void EnviarEmailAsync(ConvocadoViewModel dadosConvocado)
        {
            var user = _userManager.FindByName(dadosConvocado.Email);

            _userManager.SendEmail(user.Id, ObterAssuntoEmail(dadosConvocado), ObterBodyParaEnvioEmail(dadosConvocado));
        }