コード例 #1
0
 public void ExpireCandidateLogin(UpdateCandidateLoginExpireStatusViewModel model)
 {
     try
     {
         if (model != null)
         {
             int CandidateUserRowID = db.PQCandidateLogins.Where(w => w.UserID.Trim() == model.UserID).FirstOrDefault().CandidateUserRowID;
             if (CandidateUserRowID > 0)
             {
                 db.PQCandidateLogins.Single(w => w.CandidateUserRowID == CandidateUserRowID).UserType = model.UserType;
                 db.PQCandidateLogins.Single(w => w.CandidateUserRowID == CandidateUserRowID).Status   = model.Status;
             }
         }
         else
         {
             throw new Exception("Invalid block user details!");
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #2
0
        public ActionResult CandidateLogin(CandidateLoginViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (string.Compare(model.CRPUserName, "", false) == 0 && string.Compare(model.CRPPassWord, "", false) == 0)
                    {
                        ModelState.AddModelError("", "Enter User Name and Password");
                    }
                    else if (string.Compare(model.CRPUserName, "", false) == 0 && string.Compare(model.CRPPassWord, "", false) != 0)
                    {
                        ModelState.AddModelError("", "Enter User Name");
                    }
                    else if (!(string.Compare(model.CRPUserName, "", false) != 0 && string.Compare(model.CRPPassWord, "", false) == 0))
                    {
                        DateTime today      = DateTime.Today;
                        string   str        = model.CRPUserName.Trim().ToLower();
                        string   str1       = model.CRPPassWord.Trim().ToLower();
                        string[] strArrays1 = str.Split(' ');
                        string[] strArrays2 = str1.Split(' ');
                        string   str2       = strArrays1[0];
                        string   str3       = strArrays2[0];

                        if (!(string.Compare(str2, "select", false) == 0 || string.Compare(str2, "exec", false) == 0 || string.Compare(str2, "execute", false) == 0 || string.Compare(str2, "drop", false) == 0 || string.Compare(str2, "truncate", false) == 0 || string.Compare(str2, "insert", false) == 0 || string.Compare(str2, "update", false) == 0 || string.Compare(str2, "delete", false) == 0 || string.Compare(str2, "union", false) == 0 || string.Compare(str2, "create", false) == 0)
                            )
                        {
                            if (!(string.Compare(str3, "select", false) == 0 || string.Compare(str3, "exec", false) == 0 || string.Compare(str3, "execute", false) == 0 || string.Compare(str3, "drop", false) == 0 || string.Compare(str3, "truncate", false) == 0 || string.Compare(str3, "insert", false) == 0 || string.Compare(str3, "update", false) == 0 || string.Compare(str3, "delete", false) == 0 || string.Compare(str2, "union", false) == 0 || string.Compare(str2, "create", false) == 0)
                                )
                            {
                                string UserName     = model.CRPUserName.Trim();
                                string UserPassword = model.CRPPassWord.Trim();
                                string encPassword  = clsCommonMethods.PasswordEncrypt(model.CRPPassWord.Trim());

                                CandidateUserLoggedViewModel loggedUser = new CandidateUserLoggedViewModel();
                                try
                                {
                                    if (IsValidEmail(UserName))
                                    {
                                        loggedUser = repoAccount.GetInsuffCandidateUserLoggedDetails(UserName, encPassword);
                                    }
                                    else
                                    {
                                        loggedUser = repoAccount.GetCandidateUserLoggedDetails(UserName, encPassword);
                                    }
                                }
                                catch (Exception exception1)
                                {
                                    ViewBag.ErrorMsg = exception1.Message;
                                    clsCommonMethods.ErrorLog(Server.MapPath("~\\ErrorLogs\\Logfiles"), exception1.Message, exception1.StackTrace);
                                }

                                if (loggedUser == null)
                                {
                                    this.Session.Abandon();
                                    ViewBag.ErrorMsg = "Login Failed.Try Again!";
                                    clsCommonMethods.UserLog(Server.MapPath("~\\ErrorLogs\\Unauthorized_UserLog"), UserName, UserPassword, "Candidate");
                                    return(View());
                                }
                                else
                                {
                                    Session["CadidateUserName"]   = UserName;
                                    Session["CandidateUserRowID"] = loggedUser.CandidateUserRowID;
                                    Session["ClientRowID"]        = loggedUser.ClientRowID;
                                    Session["HRApproval"]         = loggedUser.HRApprovalRequired;
                                    Session["TempPersonalRowID"]  = loggedUser.TempPersonalRowID;
                                    Session["LoginCandidateName"] = loggedUser.CandidateName;
                                    Session["CandidateEmail"]     = loggedUser.CandidateEmail;
                                    Session["YTRApplicable"]      = loggedUser.YTRApplicable;
                                    Session["CreatedBy"]          = loggedUser.CreatedBy;
                                    Session["ClientUType"]        = "Candidate";
                                    Session["Valid"] = 1;

                                    if (Convert.ToInt32(Session["Valid"]) == 1)
                                    {
                                        DateTime dateTime          = DateTime.Today;
                                        TimeSpan TimeSinceCreation = new TimeSpan();

                                        if (loggedUser.ModifiedTime != null)
                                        {
                                            TimeSinceCreation = dateTime.Subtract(loggedUser.ModifiedTime.Value);
                                        }
                                        else
                                        {
                                            TimeSinceCreation = dateTime.Subtract(loggedUser.CreatedTime.Value);
                                        }

                                        if (TimeSinceCreation.Days > 15)
                                        {
                                            ViewBag.ErrorMsg = "Your password has expired. Please contact your Administrator!";
                                            try
                                            {
                                                UpdateCandidateLoginExpireStatusViewModel loginExpire = new UpdateCandidateLoginExpireStatusViewModel();
                                                loginExpire.UserID   = UserName;
                                                loginExpire.UserType = 0;
                                                loginExpire.Status   = 0;

                                                repoAccount.ExpireCandidateLogin(loginExpire);
                                                repoAccount.SaveChanges();
                                            }
                                            catch (Exception exception11)
                                            {
                                                clsCommonMethods.ErrorLog(Server.MapPath("~\\ErrorLogs\\Logfiles"), exception11.Message, exception11.StackTrace);
                                            }

                                            Session.Abandon();
                                            return(View());
                                        }
                                        else if (TimeSinceCreation.Days < 0)
                                        {
                                            clsCommonMethods.UserLog(Server.MapPath("~\\ErrorLogs\\Unauthorized_UserLog"), UserName, UserPassword, "Candidate");
                                            ViewBag.ErrorMsg = "Invalid login. Please Try again!";
                                            Session.Abandon();
                                            return(View());
                                        }
                                    }

                                    AddUserLoggedInDetailViewModel loggedInDetails = new AddUserLoggedInDetailViewModel();
                                    loggedInDetails.LoginName   = loggedUser.CandidateName;
                                    loggedInDetails.LoginType   = loggedUser.CreatedBy;
                                    loggedInDetails.LoginId     = UserName;
                                    loggedInDetails.LoginBy     = "Candidate";
                                    loggedInDetails.IPDetails   = Request.UserHostAddress;
                                    loggedInDetails.LoginDate   = DateTime.Now;
                                    loggedInDetails.LoginStatus = 1;

                                    Session["LoginDetailRowID"] = repoAccount.AddUserLoggedInDetails(loggedInDetails);
                                }

                                FormsAuthentication.SetAuthCookie(UserName, false);
                                if (IsValidEmail(UserName))
                                {
                                    Session["CInsufficiency"] = "YES";
                                    return(RedirectToAction("Index", "CandidateInsuff", new { area = "Candidate" }));
                                }
                                else
                                {
                                    return(RedirectToAction("Index", "Home", new { area = "Candidate" }));
                                }
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Enter Password");
                    }
                }
                else
                {
                    var query = from state in ModelState.Values
                                from error in state.Errors
                                select error.ErrorMessage;

                    var    errorList = query.ToList();
                    string strError  = string.Empty;
                    foreach (string str in errorList)
                    {
                        strError += str + "\n";
                    }

                    ModelState.AddModelError("", strError);
                }
            }
            catch (Exception Ex)
            {
                ViewBag.ErrorMsg = Ex.Message;
                clsCommonMethods.ErrorLog(Server.MapPath("~\\ErrorLogs\\Logfiles"), Ex.Message, Ex.StackTrace);
            }

            return(View());
        }