public ActionResult Index(LoginDetail objLoginDetails) { if (objLoginDetails != null) { if (Common.IsValidEmail(objLoginDetails.Email)) { objLoginDetails.GetTypes = "Email Id"; } else { objLoginDetails.GetTypes = "Usename"; if (dbEntities.ETUsers.Any(x => x.LoginName == objLoginDetails.Email)) { objLoginDetails.Email = dbEntities.ETUsers.Where(x => x.LoginName == objLoginDetails.Email).Select(x => x.Email).First(); } } //////List<long> CompanyId = new List<long>(); //////List<long> TeamId = new List<long>(); //////var data = dbEntities.ETUsers.Where(x => CompanyId.Contains(x.UserID) || TeamId.Contains(x.RoleID)); ////////string strWhere = "UserID = 1"; ////////IQueryable<ETUser> emp = dbEntities.ETUsers.Select<ETUser>(strWhere).AsQueryable(); ////////DataTable dt = dbEntities.ETUsers.ToArray(); //////DataTable dt = new DataTable(); //////if (dt.Columns.Count == 0) //////{ ////// dt.Columns.Add("UserId"); ////// dt.Columns.Add("Teams"); ////// dt.Columns.Add("UserName"); ////// dt.Columns.Add("City"); //////} //////for (int i = 0; i < 10; i++) //////{ ////// dt.Rows.Add(); ////// dt.Rows[i][0] = i; ////// dt.Rows[i][1] = "Microsoft" + (i + 1).ToString(); ////// dt.Rows[i][2] = "Test" + (i + 1).ToString(); ////// dt.Rows[i][3] = "Chennai" + (i + 1).ToString(); //////} //////string condition = "UserId = 1 or Teams = 'Microsoft5' or UserName = '******'"; ////////DataTable dtFilter = dt.Select(condition).CopyToDataTable(); //////var filter = dt.Select(condition); ////////var filters = dbEntities.ETUsers.Where(condition); //////// dbEntities.ETUsers.Select(x => new { //////// x.UserID, x.FirstName, x.LastName, x.Title, x.IsActive, x.IsTwoFactor, x.LoginName, x.MaritalStatus, x.Otp, //////// x.Phone, x.Email, x.UserLevel, x.RoleID ////////}).CopyToDataTable(); //////string input = "data"; //////var result = dbEntities.ETUsers.Where(x => x.UserID.ToString().Contains(input) || x.FirstName.Contains(input) || x.LastName.Contains(input)).ToList(); //////string FirstName = "Dinesh"; //////string LastName = "Viswa"; //////var result1 = dbEntities.ETUsers.Where(x => x.UserID.ToString().Contains(input)).ToList(); //////if (FirstName != "") //////{ ////// var result2 = dbEntities.ETUsers.Where(x => x.FirstName.ToString().Contains(FirstName)).ToList(); ////// result1.Union(result2); //////} //////if (LastName != "") //////{ ////// var result2 = dbEntities.ETUsers.Where(x => x.LastName.ToString().Contains(LastName)).ToList(); ////// result1.Union(result2); //////} LoginDetailCheck checkLogin = repUser.CheckLoginUser(objLoginDetails); if (checkLogin.isSuccess) { ETUser loginDetails = checkLogin.loginDetails; if (loginDetails != null) { List <long> MappedUser = new List <long>(); Session["UserID"] = loginDetails.UserID; Session["UserName"] = loginDetails.FirstName + " " + loginDetails.MiddleName + " " + loginDetails.LastName; Session["RoleID"] = loginDetails.RoleID; Session["RoleName"] = null; //loginDetails.ETRole.RoleName; Session["LoginName"] = loginDetails.LoginName; // New Session["Email"] = loginDetails.Email; Session["Phone"] = loginDetails.Phone; Session["LastName"] = loginDetails.LastName; Session["IsTwoFactor"] = loginDetails.IsTwoFactor; Session["UserLevel"] = loginDetails.UserLevel; Session["ReportingUser"] = loginDetails.ReportingUser; MappedUser = dbEntities.ETUsers.Where(x => x.ReportingUser == loginDetails.UserID || x.UserID == loginDetails.UserID).Select(x => x.UserID).Distinct().ToList(); Session["MappedUser"] = MappedUser; Session.Timeout = 300; repUser.LogForUserLogin(checkLogin, objLoginDetails.Email); var userVerify = dbEntities.ETUserVerifieds.Where(x => x.UserID == loginDetails.UserID && x.IsActive).FirstOrDefault(); if (loginDetails.IsTwoFactor) { return(RedirectToAction("Twofactor", "CommonUser")); } else if (userVerify != null && (!userVerify.IsEmailVefified || !userVerify.IsPhoneVerified)) // || !userVerify.IsOtherVerified)) { if (!userVerify.IsEmailVefified) { //return RedirectToAction("TwofactorEmailVerification?VerifyMode=Email", "CommonUser"); return(RedirectToAction("TwofactorEmailVerification", "CommonUser", new { VerifyMode = "Email" })); } else if (!userVerify.IsPhoneVerified) { return(RedirectToAction("TwofactorPhoneVerification", "CommonUser", new { VerifyMode = "Phone" })); } //else if (!userVerify.IsOtherVerified) // Maybe verify this in future // return RedirectToAction("TwofactorPhoneTabVerification", "CommonUser", new { VerifyMode = "PhoneTab" }); } else { Session["IsVerifyTwofactor"] = "Y"; List <long> lstSubmenuId = dbEntities.ETMenuAccesses.Where(n => n.RoleID == loginDetails.RoleID && n.Status).Select(x => x.SubMenuID).ToList(); if (lstSubmenuId.Count > 0) { ETSubMenu objSubMenu = dbEntities.ETSubMenus.Where(n => lstSubmenuId.Contains(n.SubMenuID) && n.Status && n.IsMainMenu).OrderBy(x => x.OrderNo).FirstOrDefault(); string Url = objSubMenu.SubMenuUrl; if (!string.IsNullOrEmpty(Url)) { string[] urls = Url.Split('/'); if (urls[1] != "" && urls[2] != "") { return(RedirectToAction(urls[2], urls[1])); } } } } } } else { //repUser.LogForUserLogin(checkLogin, objLoginDetails.Email); ViewBag.Error = checkLogin.errorMessage; return(View()); } } return(View()); }
public ActionResult DirectLogin() { if (Request.QueryString["RandomID"] != null) { LoginDetail objLoginDetails = new LoginDetail(); objLoginDetails.Email = Common.DecryptPassword(Request.QueryString["RandomID"].ToString().Trim()); objLoginDetails.Password = Common.DecryptPassword(Request.QueryString["RandomValue"].ToString().Trim()); string VerifyMode = Common.DecryptPassword(Request.QueryString["VerifyMode"].ToString().Trim()); if (Common.IsValidEmail(objLoginDetails.Email)) { objLoginDetails.GetTypes = "Email Id"; } else { objLoginDetails.GetTypes = "Usename"; if (dbEntities.ETUsers.Any(x => x.LoginName == objLoginDetails.Email)) { objLoginDetails.Email = dbEntities.ETUsers.Where(x => x.LoginName == objLoginDetails.Email).Select(x => x.Email).First(); } } string DeviceType = ""; if (VerifyMode == "Phone") { DeviceType = "P"; } else if (VerifyMode == "Email") { DeviceType = "E"; } LoginDetailCheck checkLogin = repUser.CheckLoginUserUsingOtp(objLoginDetails, DeviceType); if (checkLogin.isSuccess && checkLogin.errorMessage == "Valid") { ETUser loginDetails = checkLogin.loginDetails; if (loginDetails != null) { List <long> MappedUser = new List <long>(); Session["UserID"] = loginDetails.UserID; Session["UserName"] = loginDetails.FirstName + " " + loginDetails.MiddleName + " " + loginDetails.LastName; Session["RoleID"] = loginDetails.RoleID; Session["RoleName"] = null; //loginDetails.ETRole.RoleName; Session["LoginName"] = loginDetails.LoginName; // New Session["Email"] = loginDetails.Email; Session["Phone"] = loginDetails.Phone; Session["LastName"] = loginDetails.LastName; Session["IsTwoFactor"] = loginDetails.IsTwoFactor; Session["UserLevel"] = loginDetails.UserLevel; Session["ReportingUser"] = loginDetails.ReportingUser; MappedUser = dbEntities.ETUsers.Where(x => x.ReportingUser == loginDetails.UserID || x.UserID == loginDetails.UserID).Select(x => x.UserID).Distinct().ToList(); Session["MappedUser"] = MappedUser; Session.Timeout = 300; repUser.LogForUserLogin(checkLogin, objLoginDetails.Email); long UserId = Convert.ToInt64(Session["UserID"]); var userVerify = dbEntities.ETUserVerifieds.Where(x => x.UserID == UserId && x.IsActive).FirstOrDefault(); if (userVerify != null && (!userVerify.IsEmailVefified || !userVerify.IsPhoneVerified)) { if (VerifyMode == "Email") { userVerify.IsEmailVefified = true; } else if (VerifyMode == "Phone") { userVerify.IsPhoneVerified = true; } userVerify.ModifiedBy = Convert.ToInt64(Session["UserID"]); userVerify.ModifiedDate = DateTime.Now; dbEntities.Entry(userVerify).State = EntityState.Modified; dbEntities.SaveChanges(); } List <long> lstSubmenuId = dbEntities.ETMenuAccesses.Where(n => n.RoleID == loginDetails.RoleID && n.Status).Select(x => x.SubMenuID).ToList(); if (lstSubmenuId.Count > 0) { Session["IsVerifyTwofactor"] = "Y"; ETSubMenu objSubMenu = dbEntities.ETSubMenus.Where(n => lstSubmenuId.Contains(n.SubMenuID) && n.Status && n.IsMainMenu).OrderBy(x => x.OrderNo).FirstOrDefault(); string Url = objSubMenu.SubMenuUrl; if (!string.IsNullOrEmpty(Url)) { string[] urls = Url.Split('/'); if (urls[1] != "" && urls[2] != "") { return(RedirectToAction(urls[2], urls[1])); } } } } } else if (checkLogin.errorMessage == "Otp") { ViewBag.messagealert = "Otp Expired. Please try again.!"; return(RedirectToAction("Logout", "Login")); } else if (checkLogin.errorMessage == "Device") { ViewBag.messagealert = "Your Device type is Invalid. Please try latest Device Link"; return(RedirectToAction("Logout", "Login")); } else if (checkLogin.errorMessage == "Invalid") { ViewBag.messagealert = "Invalid OTP. Please Enter correct OTP and try again.!"; return(RedirectToAction("Logout", "Login")); } else { ViewBag.Error = checkLogin.errorMessage; ViewBag.messagealert = checkLogin.errorMessage; return(RedirectToAction("Logout", "Login")); } } ViewBag.messagealert = "Invalid Direct Login Url."; return(RedirectToAction("Logout", "Login")); }