public ActionResult Create(ForoCreateViewModel viewModel) { if (ModelState.IsValid) { var userId = ((ClaimsIdentity)User.Identity).FindFirst("UserId").Value; viewModel.hilo.AlumnoId = userId; viewModel.hilo.AlumnoRespuestaId = userId; var NombreUsuario = ((ClaimsIdentity)User.Identity).FindFirst("NombreUsuario").Value; var ClienteId = ((ClaimsIdentity)User.Identity).FindFirst("ClienteId").Value; if (string.IsNullOrEmpty(ClienteId)) { ClienteId = ((int)ClientesId.Azulita).ToString(); } viewModel.hilo.CreadoPor = NombreUsuario; viewModel.hilo.RespondidoPor = NombreUsuario; viewModel.hilo.FechaCreacion = DateTime.Now; viewModel.hilo.FechaRespuesta = DateTime.Now; viewModel.hilo.ForoCategoriaId = viewModel.ForoCategoria.ForoCategoriaId; if (User.IsInRole("Admin")) { string cliente = (string)RouteData.Values["cliente"]; var clienteActual = db.Clientes.FirstOrDefault(cl => cl.NombreUrl.ToUpper() == cliente.ToUpper()); if (clienteActual == null) { clienteActual = db.Clientes.Find((int)ClientesId.Azulita); } ClienteId = clienteActual.ClienteId.ToString(); viewModel.hilo.RespondidoPorAdmin = true; viewModel.hilo.Admin = true; } else { viewModel.hilo.RespondidoPorAdmin = false; viewModel.hilo.Admin = false; } viewModel.hilo.ClienteId = Convert.ToInt32(ClienteId); db.ForoHilos.Add(viewModel.hilo); db.SaveChanges(); return(RedirectToAction("Hilo", "Foro", new { id = viewModel.hilo.ForoHiloId })); } var categoria = db.ForoCategorias.SingleOrDefault(s => s.ForoCategoriaId == viewModel.ForoCategoria.ForoCategoriaId); viewModel.ForoCategoria = categoria; return(View(viewModel)); }
// GET: Alumno/Foro/Create public ActionResult Create(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var categoria = db.ForoCategorias.SingleOrDefault(s => s.ForoCategoriaId == id); if (categoria == null) { return(HttpNotFound()); } ForoCreateViewModel viewModel = new ForoCreateViewModel(); viewModel.ForoCategoria = categoria; return(View(viewModel)); }