Пример #1
0
        public async Task <ActionResult> Nuevo(GrabaClienteViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // Debemos codificar la reserva
                    await CreaUsuario(model);

                    servicioClientes.Nuevo(Mapper.Map <GrabaClienteViewModel, GrabaClienteDto>(model));
                    // transferencia de datos entre capas
                    return(RedirectToAction("Index", "AdmHome", new { area = "Administrativa" }));
                }
                // reconstruir el objeto anterior <ReservaViewModel>
                ModelState.AddModelError("", "Hubo Error en el Modelo");
                return(View(model));
            }
            catch (ErrorCreandoCliente ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
 public ActionResult Editar(GrabaClienteViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var cliente = Mapper.Map <GrabaClienteViewModel, ClienteDto>(model);
             servicioClientes.Actualizar(cliente);
             return(RedirectToAction("Index", "AdmHome", new { area = "Administrativa" }));
         }
         ModelState.AddModelError("", "Hubo Error en el Modelo");
         return(View(model));
     }
     catch (Exception)
     {
         ModelState.AddModelError("", "Hubo Error en el Modelo");
         return(View(model));
     }
 }
Пример #3
0
        private async Task <IdentityResult> CreaUsuario(GrabaClienteViewModel cliente)
        {
            using (ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>())
            {
                var usuarioCliente = new ApplicationUser()
                {
                    UserName            = cliente.CorreoElectronico,
                    Email               = cliente.CorreoElectronico,
                    Nombre              = cliente.Nombre,
                    DebeCambiarPassword = true
                };

                await userManager.CreateAsync(usuarioCliente, "P@$$w0rd");

                userManager.AddToRole(usuarioCliente.Id, "Cliente");
                string code = await userManager.GeneratePasswordResetTokenAsync(usuarioCliente.Id);

                var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = usuarioCliente.Id, code = code, area = "" }, protocol: Request.Url.Scheme);
                await userManager.SendEmailAsync(usuarioCliente.Id, "Crear contraseña", "Para Crear su contraseña, haga clic <a href=\"" + callbackUrl + "\">aquí</a>");
            }
            return(null);
        }