public ActionResult Create(CorredorViewModel model) { if (ModelState.IsValid) { var corrida = db.Corridas.Include(x => x.Participantes).Where(x => x.Id == model.CorridaId).FirstOrDefault(); var corredor = db.Corredors.Include(x => x.Corridas).Where(dado => dado.Email == model.Email).FirstOrDefault(); if (corredor == null) { Corredor novoCorredor = new Corredor(); novoCorredor.PesoAtual = model.PesoIcinial; novoCorredor.PesoIcinial = model.PesoIcinial; novoCorredor.Nome = model.Nome; novoCorredor.Email = model.Email; novoCorredor.urlImagemCorredor = model.urlImagemCorredor; novoCorredor.PesoObjetivo = RetornarPesoObjetivo(db.Corridas.Find(model.CorridaId), novoCorredor.PesoAtual); db.Corredors.Add(novoCorredor); corredor = novoCorredor; } corrida.Participantes.Add(corredor); db.Entry(corrida).State = EntityState.Modified; db.SaveChanges(); NotificaPorEmail.NotificarNovoCorredor(corrida.EmailADM, "O corredor " + corredor.Nome + " Deseja participar da corrida " + corrida.Titulo + " Faça seu login vá em corredores e aprove seu cadastro"); return(View("EnvioConfirmado")); } return(View(model)); }
public async Task <ActionResult> Aprovar(int id) { var corredor = db.Corredors.Include(x => x.Corridas).Where(x => x.Id == id).FirstOrDefault(); var user = db.Users.Where(dado => dado.UserName == corredor.Email).FirstOrDefault(); if (user == null) { var passwordHash = new PasswordHasher(); string password = TratamentoString.CalcularMD5Hash(corredor.Email).Substring(1, 8); user = new ApplicationUser { UserName = corredor.Email, Email = corredor.Email, TipoUsuario = TipoConta.Corredor }; var result = await UserManager.CreateAsync(user, password); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.ToString()); if (!ModelState.IsValid) { return(RedirectToAction("index")); } } NotificaPorEmail.NotificarNovoCorredor(user.Email, "Seu cadastro na Corrida foi aprovado Seu Usuario é " + user.Email + " Sua Senha é " + password); } corredor.Aprovado = true; corredor.UserId = user.Id; db.Entry(corredor).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("index")); }
public async Task <ActionResult> Create(Corrida corrida) { var user = db.Users.Where(dado => dado.UserName == corrida.EmailADM).FirstOrDefault(); if (ModelState.IsValid) { string password = "******"; if (user == null) { var passwordHash = new PasswordHasher(); password = TratamentoString.CalcularMD5Hash(corrida.EmailADM).Substring(1, 8); user = new ApplicationUser { UserName = corrida.EmailADM, Email = corrida.EmailADM, TipoUsuario = TipoConta.Administrador }; var result = await UserManager.CreateAsync(user, password); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.ToString()); if (!ModelState.IsValid) { return(View(corrida)); } } } var link = "http://www.corridadepeso.com.br/corrida/link/" + TratamentoString.CalcularMD5Hash(corrida.Titulo); corrida.UserId = user.Id; corrida.Link = TratamentoString.CalcularMD5Hash(corrida.Titulo); db.Corridas.Add(corrida); db.SaveChanges(); NotificaPorEmail.NotificarNovoCadastro(user.Email, password, user.Email, link); return(RedirectToAction("CorridasPublicas")); } return(View(corrida)); }