public ActionResult Index()
 {
     ViewBag.Error        = string.Empty;
     ViewBag.messagealert = string.Empty;
     if (Session["UserID"] != null)
     {
         string      roleName     = Convert.ToString(Session["RoleName"]);
         long        roleId       = Convert.ToInt64(Session["RoleID"]);
         List <long> lstSubmenuId = dbEntities.ETMenuAccesses.Where(n => n.RoleID == 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
     {
         ViewBag.messagealert = TempData["SessionExpired"];
     }
     return(View());
 }
Exemple #2
0
        public ActionResult SubMenu_add(ETSubMenu SubMenu)
        {
            TempData["messagealert"] = string.Empty;
            ViewBag.messagealert     = string.Empty;

            if (ModelState.IsValid)
            {
                if (SubMenu != null)
                {
                    if (repSubMenu.SubMenuIsExist(SubMenu.SubMenuName, 0))
                    {
                        ViewBag.messagealert = "SubMenu already exist";
                        ViewBag.MenuList     = repSubMenu.getMenuType();
                        return(View(SubMenu));
                    }
                    else
                    {
                        SubMenu.CreatedBy    = Convert.ToInt64(Session["UserID"]);
                        SubMenu.CreatedDate  = DateTime.Now;
                        SubMenu.ModifiedBy   = Convert.ToInt64(Session["UserID"]);
                        SubMenu.ModifiedDate = DateTime.Now;
                        dbEntities.ETSubMenus.Add(SubMenu);
                        dbEntities.SaveChanges();
                        if (SubMenu.SubMenuID != 0)
                        {
                            TempData["messagealert"] = Status.Save;
                        }
                    }
                }
                return(RedirectToAction("Index", "SubMenu"));
            }
            return(View());
        }
Exemple #3
0
        public bool SubMenuUpdateStatus(bool status, long SubMenuid)
        {
            SubMenu = new ETSubMenu();
            SubMenu = repSubMenu.GetSubMenu(SubMenuid);

            if (SubMenu != null)
            {
                if (status)
                {
                    SubMenu.Status       = false;
                    SubMenu.ModifiedBy   = Convert.ToInt64(Session["UserID"]);
                    SubMenu.ModifiedDate = DateTime.Now;
                }
                else
                {
                    SubMenu.Status       = true;
                    SubMenu.ModifiedBy   = Convert.ToInt64(Session["UserID"]);
                    SubMenu.ModifiedDate = DateTime.Now;
                }
                dbEntities.Entry(SubMenu).State = EntityState.Modified;
                dbEntities.SaveChanges();
                return(true);
            }

            return(false);
        }
Exemple #4
0
        public bool SubMenuDelete(long id)
        {
            if (!dbEntities.ETUsers.Where(x => x.UserID == 1).Any()) // Need to change
            {
                TempData["messagealert"] = Status.Delete;
                SubMenu = new ETSubMenu();
                SubMenu = dbEntities.ETSubMenus.Where(x => x.SubMenuID == id).SingleOrDefault();
                if (SubMenu != null)
                {
                    dbEntities.ETSubMenus.Remove(SubMenu);
                    dbEntities.SaveChanges();
                    return(true);
                }
            }
            return(false);

            //if (!dbEntities.TBL_ADMIN_USER.Where(x => x.ROLE_ID == id).Any())
            //{
            //    TempData["messagealert"] = Status.Delete;
            //    role = new TBL_ROLE();
            //    role = dbEntities.TBL_ROLE.Where(x => x.ROLE_ID == id && x.ROLE_NAME != "superadmin").SingleOrDefault();
            //    if (role != null)
            //    {
            //        dbEntities.TBL_ROLE.Remove(role);
            //        dbEntities.SaveChanges();
            //        return true;
            //    }
            //}
            //return false;
        }
Exemple #5
0
 public ActionResult SubMenu_edit(long Id)
 {
     ViewBag.messagealert = string.Empty;
     SubMenu          = new ETSubMenu();
     SubMenu          = repSubMenu.GetSubMenu(Id);
     ViewBag.MenuList = repSubMenu.getMenuType();
     return(View(SubMenu));
 }
Exemple #6
0
        public ActionResult SubMenu_view(long Id)
        {
            SubMenu = repSubMenu.GetSubMenu(Id);
            ETMenu MenuNames = dbEntities.ETMenus.Where(x => x.MenuID == SubMenu.MenuID).Single();

            SubMenu.MenuName = MenuNames.MenuName;
            return(View(SubMenu));
        }
        public ActionResult TwofactorPhoneVerification(TwoFactorVerification UserOtp)
        {
            TempData["messagealert"] = string.Empty;
            var    errors  = ModelState.Values.SelectMany(v => v.Errors);
            string IsValid = OtpStatusVerify(Convert.ToInt64(Session["UserID"]), UserOtp.Otp, "P");

            if (IsValid == "Valid")
            {
                long UserId     = Convert.ToInt64(Session["UserID"]);
                var  userVerify = dbEntities.ETUserVerifieds.Where(x => x.UserID == UserId && x.IsActive && !x.IsPhoneVerified).FirstOrDefault();
                if (userVerify != null)
                {
                    userVerify.IsPhoneVerified         = true;
                    userVerify.ModifiedBy              = Convert.ToInt64(Session["UserID"]);
                    userVerify.ModifiedDate            = DateTime.Now;
                    dbEntities.Entry(userVerify).State = EntityState.Modified;
                    dbEntities.SaveChanges();
                }
                long        RoleID       = Convert.ToInt64(Session["RoleID"]);
                List <long> lstSubmenuId = dbEntities.ETMenuAccesses.Where(n => n.RoleID == 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
                {
                    return(RedirectToAction("Logout", "Login"));
                }
            }
            else if (IsValid == "Otp")
            {
                ViewBag.messagealert = "Otp Expired. Please try again.!";
                return(View());
            }
            else if (IsValid == "Device")
            {
                ViewBag.messagealert = "Your Device type is Invalid. Please try latest Device Link";
                return(View());
            }
            else
            {
                ViewBag.messagealert = "Invalid OTP. Please Enter correct OTP and try again.!";
                return(View());
            }
            ViewBag.messagealert = "Invalid OTP. Some problem in Verification. Please Try after some time.!";
            return(View());
        }
Exemple #8
0
        public ActionResult SubMenu_edit(long id, ETSubMenu updateSubMenu)
        {
            TempData["messagealert"] = string.Empty;

            if (ModelState.IsValid)
            {
                SubMenu = new ETSubMenu();
                SubMenu = repSubMenu.GetSubMenu(id);

                if (repSubMenu.SubMenuIsExist(updateSubMenu.SubMenuName, id))
                {
                    ViewBag.messagealert = "SubMenu already exist";
                    ViewBag.MenuList     = repSubMenu.getMenuType();
                    return(View(SubMenu));
                }
                else
                {
                    try
                    {
                        //SubMenu.MenuName = string.Empty;
                        SubMenu.MenuID                  = updateSubMenu.MenuID;
                        SubMenu.SubMenuName             = updateSubMenu.SubMenuName;
                        SubMenu.SubMenuUrl              = updateSubMenu.SubMenuUrl;
                        SubMenu.OrderNo                 = updateSubMenu.OrderNo;
                        SubMenu.Status                  = updateSubMenu.Status;
                        SubMenu.IsMainMenu              = updateSubMenu.IsMainMenu;
                        SubMenu.ModifiedBy              = Convert.ToInt64(Session["UserID"]);
                        SubMenu.ModifiedDate            = DateTime.Now;
                        dbEntities.Entry(SubMenu).State = EntityState.Modified;
                        dbEntities.SaveChanges();
                        if (SubMenu.SubMenuID != 0)
                        {
                            TempData["messagealert"] = Status.Update;
                        }
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                    {
                        Exception raise = dbEx;
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                string message = string.Format("{0}:{1}",
                                                               validationErrors.Entry.Entity.ToString(),
                                                               validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                raise = new InvalidOperationException(message, raise);
                            }
                        }
                        throw raise;
                    }
                }
                return(RedirectToAction("Index", "SubMenu"));
            }
            return(View());
        }
        //[HttpPost]
        //public ActionResult SkipVerification()
        public ActionResult SkipVerification()
        {
            long        RoleID       = Convert.ToInt64(Session["RoleID"]);
            List <long> lstSubmenuId = dbEntities.ETMenuAccesses.Where(n => n.RoleID == RoleID && n.Status).Select(x => x.SubMenuID).ToList();

            if (lstSubmenuId.Count > 0)
            {
                Session["IsVerifyTwofactor"] = "N";
                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]));
                        //return Response.Redirect("/Login");
                    }
                }
            }
            ViewBag.messagealert = "You don't have access!.";
            return(RedirectToAction("Logout", "Login"));
        }
        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"));
        }