public async Task <IActionResult> SetAprovado(int id, bool aprovado) { string Status = CheckStatus(); switch (Status) { case "Admin": Restaurante _restaurante = _context.Restaurantes.Where(r => r.UtilizadorId == id).FirstOrDefault(); if (aprovado) { _restaurante.Aprovado = true; _context.Update(_restaurante); await _context.SaveChangesAsync(); } else { _context.Restaurantes.Remove(_restaurante); await _context.SaveChangesAsync(); Utilizador _utilizador = _context.Utilizadors.Where(r => r.Id == id).FirstOrDefault(); _context.Utilizadors.Remove(_utilizador); await _context.SaveChangesAsync(); } return(RedirectToAction("ListarRestaurantesPro", "Restaurantes")); case "Cliente": case "Restaurante": case "NaoAutenticado": return(RedirectToAction("Login", "Utilizador")); default: return(RedirectToAction("Bloqueado", new RouteValueDictionary( new { controller = "Utilizador", action = "Bloqueado", Motivo = Status }))); } }
public async Task <string> AdicionarFavorito(int Id) { var _Cliente = _context.Clientes.Where(p => p.UtilizadorId.ToString() == HttpContext.Session.GetString("Id")).FirstOrDefault(); var pC = _context.PratoClientes.Where(p => p.PratoId == Id && p.ClienteId == _Cliente.Id).FirstOrDefault(); if (pC != null) { _context.Remove(pC); await _context.SaveChangesAsync(); return("<input id='FavoritoButton' class='ButaoFavoritos' type='submit' value='Adicionar Favorito' />"); } else { PratoCliente _pC = new PratoCliente { PratoId = Id, ClienteId = _Cliente.Id, Cliente = _Cliente }; _context.PratoClientes.Add(_pC); await _context.SaveChangesAsync(); return("<input id='FavoritoButton' class='ButaoFavoritos' style='text - decoration: none; outline: none; background - color: #006600;' type='submit' value='Tirar Favorito' />"); } }
public async Task <IActionResult> Registar([Bind("Id,Name,Email,Username,Password")] Utilizador utilizador, IFormFile files) //ESTE ESTA FUNCIONAL { if (ModelState.IsValid) { List <Utilizador> existe = _context.Utilizadors.AsNoTracking().ToList(); //Parte com cookies var u = existe.FirstOrDefault(u => (u.Username.Equals(utilizador.Username)) || (u.Email.Equals(utilizador.Email))); if (u == null) { try { Random numAleatorio = new Random(); int valorInteiro = numAleatorio.Next(10000, 100000); string NomeFicheiro = valorInteiro + Path.GetFileName(files.FileName); string uploads = Path.Combine(_he.ContentRootPath, "wwwroot/Images/Utilizadores/", NomeFicheiro); FileStream fs = new FileStream(uploads, FileMode.Create); files.CopyTo(fs); fs.Close(); utilizador.Imagem = NomeFicheiro; // opiniao dar id + nome da imagem pq as imagens podem ter nomes iguais } catch (Exception) { utilizador.Imagem = "default_img.jpg"; } utilizador.Bloqueado = true; string codigo = RandomString(10); utilizador.Motivo = "$" + codigo; HttpContext.Session.SetString("Imagem", utilizador.Imagem); // ENVIA EMAIL!!!! var fromAddress = new MailAddress("*****@*****.**", "Jiro"); var toAddress = new MailAddress(utilizador.Email, utilizador.Name); const string fromPassword = "******"; const string subject = "Verificação Email"; string body = "Utilizador/VerificarConta?Ver=" + utilizador.Motivo; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body }) { smtp.Send(message); } _context.Add(utilizador); await _context.SaveChangesAsync(); int clienteId = utilizador.Id; Cliente cliente = new Cliente(); cliente.UtilizadorId = clienteId; _context.Add(cliente); await _context.SaveChangesAsync(); return(RedirectToAction("Login", "Utilizador")); } else { ModelState.AddModelError("Username", "This user already exists"); } } return(View(utilizador)); }