public ActionResult GoTo(FormCollection collection)
        {
            int branchId = Convert.ToInt32(collection["BranchId"]);
            int roleId   = Convert.ToInt32(collection["RoleId"]);
            var roles    = (List <ViewAssignedUserRole>)Session["Roles"];
            var user     = (ViewUser)Session["user"];

            user.Roles = roles.Find(n => n.RoleId == roleId).RoleName;
            bool r      = _iCommonManager.UpdateCurrentUserRole(user, roleId);
            var  branch = _iBranchManager.GetById(branchId);

            Session["BranchId"] = branchId;
            Session["Branch"]   = branch;

            if (user.IsPasswordChangeRequired)
            {
                return(RedirectToAction("ChangePassword", "Home", new { area = "CommonArea", id = user.UserId }));
            }
            switch (user.Roles)
            {
            case "Admin":
                return(RedirectToAction("Home", "Home", new { area = "Admin" }));

            case "SuperUser":
                return(RedirectToAction("Home", "Home", new { area = "SuperAdmin" }));

            case "SalesExecutive":
            case "SalesManager":
            case "CorporateSalesManager":
            case "DistributionManager":
            case "SalesAdmin":
                return(RedirectToAction("Home", "Home", new { area = "Sales" }));

            case "SystemAdmin":
                return(RedirectToAction("Home", "Home", new { area = "Editor" }));

            case "AccountExecutive":
            case "AccountManager":
                return(RedirectToAction("Home", "Home", new { area = "AccountsAndFinance" }));

            case "Management":
                return(RedirectToAction("Home", "Home", new { area = "Management" }));

            case "ServiceExecutive":
                return(RedirectToAction("Home", "Home", new { area = "Services" }));

            case "ServiceManager":
                return(RedirectToAction("Home", "Home", new { area = "Services" }));

            case "ServiceManagement":
            case "GeneralServiceManagement":
                return(RedirectToAction("PendingList", "ServiceManagement", new { area = "Services" }));

            case "StoreManagerFactory":
                return(RedirectToAction("Home", "Home", new { area = "Production" }));

            case "ProductionManager":
                return(RedirectToAction("Home", "ProductionManager", new { area = "Production" }));

            case "DispatchManager":
                return(RedirectToAction("Home", "DispatchManager", new { area = "Production" }));

            case "FqcExecutive":
                return(RedirectToAction("Home", "Qc", new { area = "Production" }));

            case "PH":
                return(RedirectToAction("Home", "ProductionHead", new { area = "Production" }));

            case "R&D":
                return(RedirectToAction("Home", "Home", new { area = "ResearchAndDevelopment" }));

            case "R&DManager":
                return(RedirectToAction("Home", "Home", new { area = "ResearchAndDevelopment" }));

            case "SCMExecutive":
                return(RedirectToAction("Home", "Home", new { area = "SCM" }));

            case "SCMManager":
                return(RedirectToAction("Home", "Home", new { area = "SCM" }));

            case "HRExecutive":
                return(RedirectToAction("Home", "Home", new { area = "HR" }));

            case "Corporate":
            case "CorporateSalesAdmin":
                return(RedirectToAction("Home", "Home", new { area = "Corporate" }));

            default:
                return(RedirectToAction("LogIn", "LogIn", new { area = "" }));
            }
        }