public UsuarioFuncionario Cadastrar(UsuarioCadastrarVM vm, string sessionId = null) { var model = Data.Create(); model.Inject(vm); model.Funcionario = _context.Set <Funcionario>().Create(); model.Funcionario.Inject(vm); model.Funcionario.CargoId = vm.CargoId.Value; model.SessionId = sessionId; model.Notificacoes = EnumExtensions.GetEnumerable <TipoEventoEnum>().Select(a => new UsuarioNotificacao { Notificar = true, TipoEvento = a }).ToList(); _mailProvider.SendAsync(MailTemplateEnum.Welcome, model.Email, null, model.Funcionario.Nome); return(Save(model)); }
public async Task <ActionResult> Cadastrar(UsuarioCadastrarVM vm) { if (ModelState.IsValid) { if (!await CheckRecaptchaAsync()) { this.AlertError("Atenção!", "Captcha inválido"); ViewBag.Cargos = _cargoDomain.GetSelectList(); return(View(vm)); } Login(_domain.Cadastrar(vm, Session.SessionID)); return(RedirectToAction("Index", "Funcionario")); } this.AlertError(); ViewBag.Cargos = _cargoDomain.GetSelectList(); return(View(vm)); }