Beispiel #1
0
        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());
        }
Beispiel #2
0
        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));
        }