Exemplo n.º 1
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            var RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(dbContext));

            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    Utilidades.RolesParqueadero rolesParqueadero = new Utilidades.RolesParqueadero();
                    string id = Request["Roles"];

                    if (id != "0")
                    {
                        rolesParqueadero.AddPermisionToUser(model.Email, RoleManager.Roles.Where(t => t.Id == id).FirstOrDefault().Name);
                    }
                    else
                    {
                        result.Errors.Append("Por favor seleccionar rol.");
                    }

                    ParqueaderoUsuarioDetalle parqueaderoUsuarioDetalle = new ParqueaderoUsuarioDetalle();

                    parqueaderoUsuarioDetalle.Id_Parq    = db.Parqueaderoes.Find(model.Id_Parq).Id_Parq;
                    parqueaderoUsuarioDetalle.Id_PUD     = Guid.NewGuid();
                    parqueaderoUsuarioDetalle.IdUser_PUD = user.Id;

                    db.ParqueaderoUsuarioDetalle.Add(parqueaderoUsuarioDetalle);
                    await db.SaveChangesAsync();

                    //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                    // For more information on how to enable account confirmation and password reset please visit https://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>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }
            var ListaRoles = RoleManager.Roles.ToList();

            ListaRoles.Add(new IdentityRole {
                Id = "0", Name = "seleccione el Rol..."
            });
            ViewBag.Roles = new SelectList(ListaRoles.OrderBy(r => r.Id), "Id", "Name");

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemplo n.º 2
0
        public IngresoVehiculoView CagarVista(IngresoVehiculoView ingresoVehiculoView)
        {
            try
            {
                IdUsuario = User.Identity.GetUserId();
                Parqueadero               Parqueadero               = new Parqueadero();
                List <TipoVehiculos>      ltstiPoVehiculos          = new List <TipoVehiculos>();
                List <Documento>          ltsDocumentos             = new List <Documento>();
                Vehiculo                  vehiculo                  = new Vehiculo();
                ParqueaderoUsuarioDetalle parqueaderoUsuarioDetalle = new ParqueaderoUsuarioDetalle();
                parqueaderoUsuarioDetalle = db.ParqueaderoUsuarioDetalle.Where(t => t.IdUser_PUD == IdUsuario).FirstOrDefault();
                Parqueadero      = db.Parqueaderoes.Find(parqueaderoUsuarioDetalle.Id_Parq);
                ltstiPoVehiculos = db.TipoVehiculos.ToList();

                foreach (Documento item in db.Documento.Where(t => t.Id_Parq == Parqueadero.Id_Parq && t.Estado_Doc == true).ToList())
                {
                    Documento documento = GetCalculoHoraValor(item);

                    if (documento.FechaCreacion_Doc.Date == DateTime.Now.Date)
                    {
                        documento.VehiculosHoy = true;
                    }

                    ltsDocumentos.Add(documento);
                }

                ingresoVehiculoView.TipoVehiculos = ltstiPoVehiculos;
                ingresoVehiculoView.Vehiculo      = vehiculo;
                ingresoVehiculoView.Parqueadero   = Parqueadero;
                ingresoVehiculoView.Documento     = ltsDocumentos.ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(ingresoVehiculoView);
        }
        public async Task <ActionResult> Create(Parqueadero parqueadero)
        {
            using (var transacion = db.Database.BeginTransaction())
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        RolesParqueadero rolesParqueadero = new RolesParqueadero();
                        var ResultadoParqueadero          = db.Parqueaderoes.Where(t => t.NitEmpresa_Parq == parqueadero.NitEmpresa_Parq).ToList();
                        if (ResultadoParqueadero.Count > 0)
                        {
                            throw new Exception(string.Format("El parquero {0} con número nit {1} ya existe, por favor intente recordar la contraseña.", parqueadero.NombreEmpresa_Parq, parqueadero.NitEmpresa_Parq));
                        }

                        var user = new ApplicationUser {
                            UserName = parqueadero.Correo_Parq, Email = parqueadero.Correo_Parq
                        };
                        var result = await UserManager.CreateAsync(user, parqueadero.CorreoContra_Parq);

                        if (result.Succeeded)
                        {
                            await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                            rolesParqueadero.AddPermisionToUser(user.Email, "Administrador");

                            parqueadero.Id_Parq = Guid.NewGuid();
                            db.Parqueaderoes.Add(parqueadero);
                            await db.SaveChangesAsync();

                            foreach (TipoVehiculos item in db.TipoVehiculos.ToList())
                            {
                                item.Valor_TVeh      = parqueadero.Valor_Parq;
                                db.Entry(item).State = EntityState.Modified;
                                await db.SaveChangesAsync();
                            }

                            ParqueaderoUsuarioDetalle parqueaderoUsuarioDetalle = new ParqueaderoUsuarioDetalle();

                            parqueaderoUsuarioDetalle.Id_Parq    = parqueadero.Id_Parq;
                            parqueaderoUsuarioDetalle.Id_PUD     = Guid.NewGuid();
                            parqueaderoUsuarioDetalle.IdUser_PUD = user.Id;

                            db.ParqueaderoUsuarioDetalle.Add(parqueaderoUsuarioDetalle);
                            await db.SaveChangesAsync();


                            transacion.Commit();
                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            foreach (var item in result.Errors)
                            {
                                ModelState.AddModelError(string.Empty, string.Format("Error al crear: {0}", item));
                            }

                            transacion.Rollback();
                            return(View(parqueadero));
                        }
                    }
                    else
                    {
                        return(View(parqueadero));
                        //return Json("Error", JsonRequestBehavior.AllowGet);
                    }
                }
                catch (Exception ex)
                {
                    transacion.Rollback();
                    ModelState.AddModelError(string.Empty, string.Format("Error al crear: {0}", ex.Message));
                    return(View(parqueadero));
                    //return Json(string.Format("Error: {0}",ex.Message), JsonRequestBehavior.AllowGet);
                }
            }
            //return Json(parqueadero, JsonRequestBehavior.AllowGet);
            return(View(parqueadero));
        }