Example #1
0
        public ActionResult Login(string ReturnUrl)
        {
            AdminPage backEndPage = new AdminPage();

            backEndPage.PageName = "Login";
            ViewBag.AdminPage    = backEndPage;
            BackEndLogin backEndLogin = new BackEndLogin()
            {
                ReturnUrl = ReturnUrl
            };

            return(View(backEndLogin));
        }
Example #2
0
        public ActionResult Login(BackEndLogin backEndLogin, string ReturnUrl)
        {
            AdminPage backEndPage = new AdminPage();

            backEndPage.PageName = "Login";
            ViewBag.AdminPage    = backEndPage;
            if (ModelState.IsValidOrRefresh())
            {
                Users users = new Users();
                User  user  = users.GetUserByUserNameAndPassword(backEndLogin.Username, backEndLogin.Password);
                if (user.IsNotNull())
                {
                    ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.SuccessfullyLoggedIn);
                    var tenant = users.GetTenantByUsername(backEndLogin.Username);
                    if (tenant != null)
                    {
                        // 1. Tạo người dùng (User) - UserName, Password
                        // 2. Quản lý công ty -> Tạo công ty (Tenant) - Tên, MST, ServerName, DbBName, DbUserName, DbPassword, UserName
                        // 3. Quản lý công ty -> Cập nhật lại thông tin UserName cho công ty (Tenant) nếu Tenant chưa có UserName
                        //
                        // Mỗi 1 công ty (Tenant) có duy nhất 1 mã số thuế (trùng với tên đăng nhập vào hệ thống)
                        // Mỗi 1 công ty (Tenant) có duy nhất 1 connection string = { ServerName, DbBName, DbUserName, DbPassword, DbPort (optional) }
                        // Mỗi 1 công ty (Tenant) có nhiều Đơn Vị Cơ Sở (dvcs)
                        // Khi Login xong thì connection string sẽ thay đổi theo mã số thuế { ServerName, DbBName, DbUserName, DbPassword, DbPort (optional) }
                        AdoHelper2.ConnectionString = DataHelper.BuildDynamicConnectionString(ConfigurationManager.ConnectionStrings["SM17ConnectionString"].ConnectionString, tenant);
                        user.Dvcs   = tenant.Dvcs;
                        user.Tenant = tenant;
                    }
                    BackEndSessions.CurrentUser = user;
                    AdminPages backEndPages = new AdminPages();
                    BackEndSessions.CurrentMenu = backEndPages.GetMenuByGroupId(user.GroupId);
                    if (ReturnUrl.IsNotEmptyOrWhiteSpace())
                    {
                        return(Redirect(HttpUtility.UrlDecode(ReturnUrl)));
                    }
                    else
                    {
                        return(RedirectToAction("Dashboard"));
                    }
                }
                else
                {
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UsernameOrPasswordNotValid);
                }
            }

            return(View(backEndLogin));
        }
Example #3
0
        public ActionResult Login(BackEndLogin backEndLogin, string ReturnUrl)
        {
            AdminPage backEndPage = new AdminPage();

            backEndPage.PageName = "Login";
            ViewBag.AdminPage    = backEndPage;

            if (ModelState.IsValidOrRefresh())
            {
                Users users = new Users();
                User  user  = users.GetUserByUserNameAndPassword(backEndLogin.Username, backEndLogin.Password);
                if (user.IsNotNull())
                {
                    ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.SuccessfullyLoggedIn);

                    BackEndSessions.CurrentUser = user;

                    AdminPages backEndPages = new AdminPages();
                    BackEndSessions.CurrentMenu = backEndPages.GetMenuByGroupId(user.GroupId);

                    if (ReturnUrl.IsNotEmptyOrWhiteSpace())
                    {
                        return(Redirect(HttpUtility.UrlDecode(ReturnUrl)));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UsernameOrPasswordNotValid);
                }
            }

            return(View(backEndLogin));
        }