public ActionResult PostergarEvento(PostergarModel evento) { Funcion funcionAPostergar = db.Funcion.Where(c => (c.codFuncion == evento.idFuncion)).First(); if (evento.proximaFecha <= funcionAPostergar.fecha || evento.proximaFecha <= DateTime.Now) { //TempData["tipo"] = "alert alert-danger"; //TempData["message"]="No puede elegir una fecha anterior"; HttpContext.Response.StatusCode = 500; HttpContext.Response.StatusDescription = "No puede elegir una fecha anterior"; return(PostergarEvento(evento.idEvento + "")); } db.Entry(funcionAPostergar).State = EntityState.Modified; funcionAPostergar.fecha = evento.proximaFecha; funcionAPostergar.horaIni = evento.proximaHora; funcionAPostergar.estado = "POSTERGADO"; funcionAPostergar.fechaPostergado = DateTime.Now;//se guarda la fechaHora del acto de postergar int id = evento.idEvento; Eventos queryEvento = db.Eventos.Where(c => c.codigo == id).First(); db.Entry(queryEvento).State = EntityState.Modified; queryEvento.hanPostergado = true; db.SaveChanges(); ObtenerFechaFin(evento.idEvento); EmailController.EnviarCorreoPostergarcionFuncion(evento.idFuncion); ViewBag.nombreEvento = queryEvento.nombre; int idOrganizador = (int)queryEvento.idOrganizador; ViewBag.idEvento = "" + id; ViewBag.organizadorEvento = db.Organizador.Where(c => c.codOrg == idOrganizador).First().nombOrg; ViewBag.listaFunciones = db.Funcion.Where(c => c.codEvento == id && c.estado != "CANCELADO").ToList(); return(View()); }
public async Task <ActionResult> RegisterClient(RegisterViewModel model) { if (ModelState.IsValid) { int errorr = 0; if (model.tipoDoc == 1) { if (model.codDoc.Length != 8) { ModelState.AddModelError("codDoc", "El DNI debe tener 8 dígitos"); errorr = 1; } List <CuentaUsuario> lcu = db.CuentaUsuario.Where(c => c.tipoDoc == model.tipoDoc && c.codDoc == model.codDoc).ToList(); if (lcu.Count > 0) { ModelState.AddModelError("codDoc", "DNI ya utilizado"); errorr = 1; } if (model.fechaNac > DateTime.Today || model.fechaNac < Convert.ToDateTime("01/01/1900")) { ModelState.AddModelError("fechaNac", "La fecha con rango inválido"); errorr = 1; } } else { if (model.codDoc.Length != 12) { ModelState.AddModelError("codDoc", "El Pasaporte debe tener 12 dígitos"); errorr = 1; } List <CuentaUsuario> lcu = db.CuentaUsuario.Where(c => c.tipoDoc == model.tipoDoc && c.codDoc == model.codDoc).ToList(); if (lcu.Count > 0) { ModelState.AddModelError("codDoc", "Pasaporte ya utilizado"); errorr = 1; } if (model.fechaNac > DateTime.Today || model.fechaNac < Convert.ToDateTime("01/01/1900")) { ModelState.AddModelError("fechaNac", "La fecha con rango inválido"); errorr = 1; } } if (errorr != 1) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var currentUser = UserManager.FindByName(user.UserName); UserManager.AddToRole(user.Id, "Cliente"); CuentaUsuario cuentausuario = new CuentaUsuario(); cuentausuario.correo = model.Email; cuentausuario.apellido = model.apellido; cuentausuario.codDoc = model.codDoc; cuentausuario.codPerfil = 1; cuentausuario.contrasena = model.Password; cuentausuario.direccion = model.direccion; cuentausuario.estado = true; cuentausuario.fechaNac = model.fechaNac; cuentausuario.nombre = model.nombre; cuentausuario.puntos = 0; cuentausuario.sexo = model.sexo; cuentausuario.telefono = model.telefono; cuentausuario.telMovil = model.telMovil; cuentausuario.tipoDoc = model.tipoDoc; cuentausuario.usuario = model.Email; db.CuentaUsuario.Add(cuentausuario); db.SaveChanges(); Session["UsuarioLogueado"] = cuentausuario; EmailController.EnviarCorreoRegistro(model.Email); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); TempData["tipo"] = "alert alert-success"; TempData["message"] = "Registro Exitoso!"; return(RedirectToAction("Index", "Home")); //return View("~/Views/Home/Index.cshtml"); } foreach (var error in result.Errors) { if (!error.Contains("nombre")) { ModelState.AddModelError("", error); } } } else { return(View(model)); } } // If we got this far, something failed, redisplay form return(View(model)); }