public ActionResult Agregar(SocioViewModel model) { if (ModelState.IsValid) { string idUsuario; var identityResultado = UsuariosRepositorio.Agregar(model.Email, out idUsuario); if (identityResultado.Succeeded) { var socio = new SocioWeb { Id = idUsuario, NombreApellidoORazonSocial = model.NombreApellidoORazonSocial, Telefono = model.Telefono, NroCuenta = model.NroCuenta, TipoCuenta = model.TipoCuenta, IdSucursal = model.IdSucursal.Value }; string tokenActivacion = UsuariosRepositorio.GenerarTokenActivacionCuenta(idUsuario); string urlActivarCuenta = String.Format("{0}{1}", Request.Url.GetLeftPart(UriPartial.Authority), Url.Action("ActivarCuenta", "Acceso", new { u = socio.Id, c = tokenActivacion })); try { SociosRepositorio.Agregar(socio); UsuariosRepositorio.AsignarRol(idUsuario, RolesNombres.SOCIO); var correos = new ServidorCorreos(); correos.EnviarCorreo(model.Email, "Activación de Cuenta", "ActivarCuentaSocio", campos: new Dictionary <string, string> { { "ActivarCuentaURL", urlActivarCuenta } }); _controllerHelper.CargarResultadoOk(String.Format("El Socio {0} fue creado correctamente!", model.Email)); ModelState.Clear(); model = new SocioViewModel(); } catch (Exception) { SociosRepositorio.Eliminar(idUsuario); UsuariosRepositorio.Eliminar(idUsuario); throw; } } else { _controllerHelper.CargarErrores(identityResultado.Errors); } } CargarListasSocioViewModel(model); return(View(model)); }
public ActionResult MiCuenta(MiCuentaViewModel modelo) { if (ModelState.IsValid) { bool hayError = false; if (modelo.SeDebeActualizarContraseña) { var resultado = UsuariosRepositorio.CambiarContraseña(Socio.Id, modelo.ContraseñaActual, modelo.ContraseñaNueva); if (!resultado.Succeeded) { ControllerHelper.CargarErrores(resultado.Errors); hayError = true; } } if (!hayError) { // En la web var socio = Socio; socio.NombreApellidoORazonSocial = modelo.NombreApellidoORazonSocial; socio.Telefono = modelo.Telefono; SociosRepositorio.Actualizar(socio); SociosHelper.SocioNombreApellidoORazonSocial = socio.NombreApellidoORazonSocial; // En Sucursal var _socio = new Socio() { Codigo = Convert.ToInt32(modelo.NumeroSocio), Nombre = modelo.NombreApellidoORazonSocial, Domicilio = modelo.Domicilio, Localidad = modelo.Localidad, CodPostal = modelo.CodPostal, Telefono = modelo.Telefono, Fax = modelo.Fax, Celular = modelo.Celular, Email = modelo.Email, TipoDocumento = modelo.TipoDocumento, NroDocumento = Convert.ToInt64(modelo.NumeroDocumento), }; var respuesta = ServicioSocio.ActualizarDatosDelSocio(_socio); ControllerHelper.CargarResultadoOk("Sus datos" + (modelo.SeDebeActualizarContraseña ? " y su contraseña" : String.Empty) + " fueron actualizados correctamente!"); } } return(View(modelo)); }