// POST: Desafios/Edit/5 // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. /* [HttpPost] * public async Task<ActionResult> EditarUtilizador(EditarUtilizadorViewModel model, string[] selectedTag, HttpPostedFileBase file) * { * var id = User.Identity.GetUserId(); * // Get the userprofile * ApplicationUser user = db.Users.FirstOrDefault(u => u.Id.Equals(id)); * * if (ModelState.IsValid) * { * * if (file != null) * { * var fileName = id + "_" + file.FileName; * file.SaveAs(HttpContext.Server.MapPath("~/Images/") + fileName); + model.ImagePath = fileName; + } + else + { + var filename = user.ImagePath; + model.ImagePath = filename; + } + user.ImagePath = model.ImagePath; + + + atualizarUtilizadorTag(user, selectedTag); + // Update fields + user.DataNascimento = model.DataNascimento; + user.empresa = model.Empresa; + user.Sobre = model.Sobre; + user.Iban = model.Iban; + user.Telemóvel = model.Telemóvel; + user.website = model.Website; + + var result = UserManager.CheckPassword(user, model.Password); + + if (result) + { + await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.Password, model.NovaPassword); + } + else + { + TempData["CustomError"] = "A sua password antiga não está correta"; + } + + db.Entry(user).State = EntityState.Modified; + + db.SaveChanges(); + preencherTagUtilizador(user); + return RedirectToAction("Index", "Home"); // or whatever + } + preencherTagUtilizador(user); + var caminho = user.ImagePath; + model.ImagePath = caminho; + model.Utilizador = user.Nome; + model.Email = user.Email; + return View(model); + }*/ public ActionResult VisualizarPerfilUtilizador(string id) { var utilizador = db.Users.Where(u => u.UserName == id).FirstOrDefault(); if (utilizador != null) { var role = (from s in db.Roles where s.Id == utilizador.TipoUtilizador select s.Name).First(); EditarUtilizadorViewModel PerfilUtilizador = new EditarUtilizadorViewModel(); // reaproveitar o modelview PerfilUtilizador.Utilizador = utilizador.UserName; PerfilUtilizador.Email = utilizador.Email; PerfilUtilizador.Telemóvel = utilizador.Telemóvel; DateTime reference = DateTime.Now; PerfilUtilizador.Idade = CalculaIdade(reference, utilizador.DataNascimento); PerfilUtilizador.TipoUtilizador = role; preencherTagUtilizador(utilizador); PerfilUtilizador.Sobre = utilizador.Sobre; PerfilUtilizador.Empresa = utilizador.empresa; PerfilUtilizador.Website = utilizador.website; PerfilUtilizador.Pontos = utilizador.pontos; PerfilUtilizador.Iban = utilizador.Iban; PerfilUtilizador.ImagePath = utilizador.ImagePath; return(View(PerfilUtilizador)); } else { return(new HttpNotFoundResult("O Perfil que indicou não existe")); } }
public ActionResult _InformacaoBasicaUtilizador(EditarUtilizadorViewModel model, HttpPostedFileBase file) { var user = User.Identity.GetUserId(); var utilizador = db.Users.Where(d => d.Id == user).First(); if (ModelState.IsValid) { if (file != null) { var fileName = utilizador.Id + "_" + file.FileName; file.SaveAs(HttpContext.Server.MapPath("~/Images/") + fileName); model.ImagePath = fileName; } else { var filename = utilizador.ImagePath; model.ImagePath = filename; } utilizador.ImagePath = model.ImagePath; if (model.ApagarFoto == true) { utilizador.ImagePath = null; } } utilizador.Telemóvel = model.Telemóvel; db.SaveChanges(); return(View("~/Views/Account/EditarUtilizador.cshtml")); }
public ActionResult EditarUtilizador() { var id = User.Identity.GetUserId(); // Fetch the userprofile ApplicationUser user = db.Users.Include(u => u.Tags).FirstOrDefault(u => u.Id.Equals(id)); preencherTagUtilizador(user); var role = (from s in db.Roles where s.Id == user.TipoUtilizador select s.Name).First(); // Construct the viewmodel EditarUtilizadorViewModel model = new EditarUtilizadorViewModel(); model.Utilizador = user.Nome; model.Email = user.Email; model.TipoUtilizador = role; model.DataNascimento = user.DataNascimento; model.Empresa = user.empresa; model.Sobre = user.Sobre; model.Iban = user.Iban; model.Telemóvel = user.Telemóvel; model.Website = user.website; model.ImagePath = user.ImagePath; return(View(model)); }
public async Task <ActionResult> EditarUtilizador(EditarUtilizadorViewModel model, string[] selectedTag, HttpPostedFileBase file) { var id = User.Identity.GetUserId(); // Get the userprofile ApplicationUser user = db.Users.FirstOrDefault(u => u.Id.Equals(id)); if (ModelState.IsValid) { if (file != null) { var fileName = id + "_" + file.FileName; file.SaveAs(HttpContext.Server.MapPath("~/Images/") + fileName); model.ImagePath = fileName; } else { var filename = user.ImagePath; model.ImagePath = filename; } user.ImagePath = model.ImagePath; atualizarUtilizadorTag(user, selectedTag); // Update fields user.DataNascimento = model.DataNascimento; user.empresa = model.Empresa; user.Sobre = model.Sobre; user.Iban = model.Iban; user.Telemóvel = model.Telemóvel; user.website = model.Website; var result = UserManager.CheckPassword(user, model.Password); if (result) { await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.Password, model.NovaPassword); } else { TempData["CustomError"] = "A sua password antiga não está correta"; } db.Entry(user).State = EntityState.Modified; db.SaveChanges(); preencherTagUtilizador(user); return(RedirectToAction("Index", "Home")); // or whatever } preencherTagUtilizador(user); var caminho = user.ImagePath; model.ImagePath = caminho; model.Utilizador = user.Nome; model.Email = user.Email; return(View(model)); }
public PartialViewResult _OutrasInformacoes() { var id = User.Identity.GetUserId(); ApplicationUser user = db.Users.Include(u => u.Tags).FirstOrDefault(u => u.Id.Equals(id)); EditarUtilizadorViewModel model = new EditarUtilizadorViewModel(); model.Empresa = user.empresa; model.Iban = user.Iban; model.Website = user.website; model.Sobre = user.Sobre; model.Notificacao = user.Notificacao; return(PartialView("~/Views/PartialViews/OutrasInformacoes.cshtml", model)); }
public PartialViewResult _InformacaoBasica() { var id = User.Identity.GetUserId(); ApplicationUser user = db.Users.Include(u => u.Tags).FirstOrDefault(u => u.Id.Equals(id)); preencherTagUtilizador(user); var role = (from s in db.Roles where s.Id == user.TipoUtilizador select s.Name).First(); EditarUtilizadorViewModel model = new EditarUtilizadorViewModel(); model.Utilizador = user.Nome; model.Email = user.Email; model.ImagePath = user.ImagePath; model.DataNascimento = user.DataNascimento; model.Telemóvel = user.Telemóvel; model.Empresa = user.empresa; model.Iban = user.Iban; model.Website = user.website; model.TipoUtilizador = role; return(PartialView("~/Views/PartialViews/InformacaoBasica.cshtml", model)); }