Ejemplo n.º 1
0
    public async Task<IActionResult> RegisterUserAsync([FromBody] NewUserRequest request)
    {
        if (!ModelState.IsValid)
           { return BadRequest(new Resp<object>{ IsSuccess = false, Message = MessageErrorHelper.showModelStateError(ModelState) }); }

        var user  = await _userHelper.GetUserByEmailAsync(request.Correo);
        if (user != null)
           { return BadRequest(new Resp<object> { IsSuccess = false, Message = MessageCenter.appTextEmailUsed }); }

        var newUser = new UsuarioViewModel {  Correo    = request.Correo
                                            , CellPhone = request.CellPhone
                                            , FirstName = request.FirstName
                                            , LastName  = request.LastName
                                            , RoleId    = request.RoleId
                                            , Rol       = _combosHelper.GetComboRolesByValue(request.RoleId.ToString())
                                            , Password  = request.Password                                               
                                            , PasswordConfirm = request.PasswordConfirm                                               
                                            };

        var addUserResult  = await _userHelper.AddUsuario(newUser);         
        if (addUserResult != IdentityResult.Success)
           { return BadRequest(new Resp<object> { IsSuccess = false, Message = MessageErrorHelper.showIdentityResultError(addUserResult) }); }       

        var userLogin = await _userHelper.GetUserByEmailAsync(request.Correo);
        var myToken   = await _userHelper.GenerateEmailConfirmationTokenAsync(userLogin);
        var tokenLink = Url.Action("ConfirmEmail", "Account", new { userid = userLogin.Id,
                                                                    token  = myToken
                                                                  }, protocol: HttpContext.Request.Scheme);
            
        _mailHelper.SendEmailAccountConfirmation(request.Correo, tokenLink);
        
        return Ok(new Resp<object>{ IsSuccess = true, Message = MessageCenter.commonMessageEmailInst });

    }    
Ejemplo n.º 2
0
   /*[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]*/
    public async Task<IActionResult> GetUserByEmailAsync([FromBody]EmailRequest request)
    {
        if (!ModelState.IsValid)
           { return BadRequest(MessageErrorHelper.showModelStateError(ModelState)); }
            
        var usuario = await _dataContext.Usuarios.Include(c => c.UserLogin)
                                                    .Include(c => c.Automotores)
                                                    .Include(c => c.Tramites).ThenInclude(a => a.Adjuntos)
                                                    .Include(c => c.Tramites).ThenInclude(t => t.TipoTramite)
                                                    .Include(c => c.Tramites).ThenInclude(s => s.Status)
                                                    .Include(c => c.Tramites).ThenInclude(b => b.Automotor)
                                                    .Include(c => c.DatosFiscales)
                                                    .FirstOrDefaultAsync(u => u.UserLogin.NormalizedEmail == request.Email.ToUpper());
        if ( usuario == null )
           { return NotFound(request); }

        
        IList<string> roles = await _userHelper.GetRolesByUserAsync(usuario?.UserLogin);        

        return Ok(ToUsuarioResponse( usuario
                                    , roles.FirstOrDefault().ToString()
                                    , _combosHelper.GetTipoTramites()
                                    , await _dataContext.Requisitos.Include(r => r.TipoTramite).ToListAsync()
                                    , await _dataContext.FormasDePago.ToListAsync()
                                    )
                );

    }//GetUsuarioByEmail
Ejemplo n.º 3
0
    /*[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]*/
    public async Task<IActionResult> GetFondosInversionByFilter([FromBody]FilterFondoInversion request)
    {
        if ( !ModelState.IsValid )
           { return BadRequest(MessageErrorHelper.showModelStateError(ModelState)); }

            var personaFisica = true;
            var personaMoral = true;
            var personaMoralNoContri = false;
            var sociedadesDeInversion = false;
            var montoMin = 10000000;

            ICollection<FondosInversionMontosMinimos> fondos = await _dataContext.FondosInversionMontosMinimos.Include(fi => fi.Precios).Where(fi => (fi.Activo == MessageCenter.FONDO_ACTIVO) && (fi.MontoMinimo >= montoMin)).ToListAsync();
            fondos = personaFisica == true ? fondos.Where(fi => fi.PersonaFisica == true).ToList() : fondos;
            fondos = personaMoral == true ? fondos.Where(fi => fi.PersonaMoral == true).ToList() : fondos;
            fondos = personaMoralNoContri == true ? fondos.Where(fi => fi.PersonaMoralNoContribuyente == true).ToList() : fondos;
            fondos = sociedadesDeInversion == true ? fondos.Where(fi => fi.SociedadesDeInversion == true).ToList() : fondos;


            return Ok();

    }//GetFondosInversionByFilter
Ejemplo n.º 4
0
        public async Task<IActionResult> Register(UsuarioViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var rol       = _combosHelper.GetComboRoles().Where(r => r.Value == viewModel.RoleId.ToString()).Select(r => r.Text);
                viewModel.Rol = rol.FirstOrDefault().ToString();

                var addUserResult = await _userHelper.AddUsuario(viewModel);                
                if (addUserResult == IdentityResult.Success)                
                    { 
                    var userLogin = await _userHelper.GetUserByEmailAsync(viewModel.Correo);
                    await _dataContext.Usuarios.AddAsync(new Usuario {  DatosFiscales = null, FirstName = viewModel.FirstName, LastName= viewModel.LastName, UserLogin = userLogin });
                    await _dataContext.SaveChangesAsync();
                    //ToDo: implementar el guardado en sesión del TOKEN
                    /*TokenResponse token = _userHelper.BuildToken(new LoginTARequest { Email = view.Correo, Password = view.Password, RememberMe = false });                    
                    var result = await _userHelper.LoginAsync(new LoginTARequest { Email =view.Correo, Password = view.Password, RememberMe= false });
                    if (result.Succeeded)
                       { return RedirectToAction("Index", "Home"); }
                    */
                    var defaultToken = await _userHelper.GenerateEmailConfirmationTokenAsync(userLogin);
                    var tokenLink = Url.Action("ConfirmEmail", "Account", new { userid = userLogin.Id,
                                                                                token = defaultToken
                                                                              }
                                                , protocol: HttpContext.Request.Scheme);

                    _mailHelper.SendEmailAccountConfirmation(viewModel.Correo, tokenLink);                        

                    ViewBag.Message = MessageCenter.commonMessageEmailInst;
                    
                     return View(viewModel);
                }

                ModelState.AddModelError(string.Empty, MessageErrorHelper.showIdentityResultError(addUserResult) );
                viewModel.Rol = rol.FirstOrDefault().ToString();
                return View(viewModel);

            }

            return View(viewModel);
        }