Example #1
0
 public IActionResult Login(UserViewModel user)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var result = authHandler.Login(user.Email.Trim(), user.Password);
             if (null != result)
             {
                 if (result.RoleName != "Admin")
                 {
                     return(SetSession(result));
                 }
                 else
                 {
                     ModelState.AddModelError("ErrorMessage", string.Format("{0}", "You are not allowed to login here!"));
                 }
             }
             else
             {
                 ModelState.AddModelError("ErrorMessage", string.Format("{0}", "Entered user credentials are not valid"));
             }
         }
     }
     catch (InvalidUserCredentialsException ex)
     {
         Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
         ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
     }
     catch (UserNotFoundException ex)
     {
         Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
         ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
     }
     catch (NotApprovedByAdminException ex)
     {
         Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
         ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
     }
     catch (Exception ex)
     {
         Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
         //ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
         ModelState.AddModelError("ErrorMessage", string.Format("{0}", "Entered user credentials are not valid"));
     }
     return(View("JobSeekerLogin"));
 }
Example #2
0
        public IActionResult Login(UserViewModel user)
        {
            try
            {
                var result = authHandler.Login(user.Email.Trim(), user.Password);
                //if (result != null && result.IsApproved == "False")
                //{
                //    throw new NotApprovedByAdminException("Sorry!!! Your account is not activated. Contact your tech deck.");
                //}
                if (null != result)
                {
                    var identity = new ClaimsIdentity(new[] {
                        new Claim(ClaimTypes.Email, result.Email),
                        new Claim(ClaimTypes.Role, result.RoleName)
                    }, CookieAuthenticationDefaults.AuthenticationScheme);

                    var principal = new ClaimsPrincipal(identity);
                    HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                    if (!string.IsNullOrEmpty(result.PasswordExpirayDate) && DateTime.Now.Date <= Convert.ToDateTime(result.PasswordExpirayDate))
                    {
                        //Handled if image url exist in db but not available physically
                        string picpath = hostingEnviroment.WebRootPath + result.ProfilePic;
                        if (!System.IO.File.Exists(picpath))
                        {
                            string fName = $@"\ProfilePic\" + "Avatar.jpg";
                            result.ProfilePic = fName;
                        }
                        HttpContext.Session.Set <UserViewModel>(Constants.SessionKeyUserInfo, result);
                        authHandler.UserActivity(result.UserId);
                        return(GoAhead(result.RoleName, result.UserId));
                        //return View("Index");
                    }
                    else
                    {
                        return(View("CreateNewPassword"));
                    }
                }
            }
            catch (InvalidUserCredentialsException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (UserNotFoundException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (NotApprovedByAdminException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            return(View("JobSeekerLogin"));
        }
Example #3
0
 public async Task <IActionResult> Login(JObject body)
 {
     try
     {
         return(Ok(await authHandler.Login(body)));
     }
     catch (BadRequestException ex)
     {
         return(Ok(APIResult.ErrorResult(HttpStatusCode.BadRequest, ex.Message)));
     }
     catch (Exception ex)
     {
         return(Ok(APIResult.ErrorResult(HttpStatusCode.InternalServerError, ex.Message)));
     }
 }
Example #4
0
 public async Task <Response <AuthInfoDTO> > Login([Required, FromBody] AuthDTO dto)
 {
     return(await _authHandler.Login(dto));
 }