コード例 #1
0
ファイル: AdminSiteMap.cs プロジェクト: nhavh/newspaper
        public override SiteMapNode FindSiteMapNode(string rawUrl)
        {
            var i   = rawUrl.IndexOf('?');
            var url = rawUrl;

            if (i > 0)
            {
                url = rawUrl.Substring(0, i);
            }
            var start = url.LastIndexOf('/') + 1;
            var stop  = url.LastIndexOf('.');

            url = url.Substring(start, stop - start);

            var list = AdminUserController.GetCurrentAdminUser().Pages;

            if (list != null)
            {
                foreach (AdminPageInfo page in list)
                {
                    if (page.Visible && url.Equals(page.Name, StringComparison.OrdinalIgnoreCase))
                    {
                        return(new SiteMapNode(this, page.AdminPageID.ToString(), (page.Source == Null.NullString ? "" : page.Link), page.Name));
                    }
                }
            }
            return(null);
        }
コード例 #2
0
        protected void cmdLogin_Click(object sender, EventArgs e)
        {
            var control     = new AdminUserController();
            var objUserInfo = AdminUserController.GetCurrentAdminUser();

            if (String.IsNullOrEmpty(txtConfirmPass.Text.Trim()) || String.IsNullOrEmpty(txtConfirmPass.Text.Trim()) || String.IsNullOrEmpty(txtConfirmPass.Text.Trim()))
            {
                lblResults.Text = "Bạn phải nhập đầy đủ và chính xác thông tin";
                return;
            }
            if (TMV.Utilities.Globals.SHA1Encryption(txtCurrentPass.Text.Trim()) != objUserInfo.Password)
            {
                lblResults.Text = "Mật khẩu hiện tại không chính xác";
                return;
            }
            if (txtNewPass.Text.Trim() != txtConfirmPass.Text.Trim())
            {
                lblResults.Text = "Mật khẩu mới và xác nhận mật khẩu khác nhau";
                return;
            }

            objUserInfo.Password = txtNewPass.Text.Trim();
            control.UpdateAdminUser(objUserInfo);
            lblResults.Text = "Thay đổi mật khẩu thành công. Click Login để đăng nhập vào hệ thống.";
            Response.Redirect("Login.aspx");
        }
コード例 #3
0
        public void AdminUserControllerTest()
        {
            var controller = new AdminUserController(_mock.Object);

            Assert.IsNotNull(controller);
            Assert.IsInstanceOfType(controller, typeof(AdminUserController));
        }
コード例 #4
0
ファイル: MasterPage.Master.cs プロジェクト: nhavh/newspaper
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.UserAgent != null && Request.UserAgent.IndexOf("AppleWebKit", StringComparison.Ordinal) > 0)
            {
                Request.Browser.Adapters.Clear();
            }

            lnkName.Text        = AdminUserController.GetCurrentAdminUser().Username;
            lnkName.NavigateUrl = "~/ChangePassword.aspx";

            BindMenuTop(AdminUserController.GetCurrentAdminUser().PagesEx);
        }
コード例 #5
0
ファイル: ListAdminUser.aspx.cs プロジェクト: nhavh/newspaper
        void GetGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.ToLower() == "add")
            {
                GridViewRow row = (e.CommandSource as Control).Parent.Parent as GridViewRow;
                Hashtable   htd = new Hashtable();

                foreach (TemplateField tf in GridViewManager1.GridView.Columns)
                {
                    GenericItem item = tf.FooterTemplate as GenericItem;
                    if (item == null)
                    {
                        continue;
                    }
                    try
                    {
                        foreach (DictionaryEntry de in item.ExtractValues(row))
                        {
                            htd.Add(de.Key, de.Value);
                        }
                    }
                    catch (Exception ex)
                    {
                        Exceptions.Logger.Error(ex);
                        HtmlHelper.Alert(ex.Message, Page);
                        return;
                    }
                }

                try
                {
                    AdminUserController ctrl = new AdminUserController();
                    AdminUserInfo       info = new AdminUserInfo();
                    foreach (System.Reflection.PropertyInfo property in CBO.GetPropertyInfo(typeof(AdminUserInfo)))
                    {
                        if (htd[property.Name] != null)
                        {
                            property.SetValue(info, htd[property.Name], null);
                        }
                    }
                    ctrl.InsertAdminUser(info);
                    GridViewManager1.GridView.PageIndex = GridViewManager1.GridView.PageCount;
                    GridViewManager1.LoadData();
                }
                catch (Exception ex)
                {
                    Exceptions.Logger.Error(ex);
                    HtmlHelper.Alert(ex.Message, Page);
                }
            }
        }
コード例 #6
0
ファイル: Login.aspx.cs プロジェクト: nhavh/newspaper
        protected void cmdLogin_Click(object sender, EventArgs e)
        {
            var control     = new AdminUserController();
            var objUserInfo = control.AdminUserLogin(txtUsername.Text.Trim(), txtPassword.Text);

            if (objUserInfo == null)
            {
                lblResults.Text = "Tên đăng nhập hoặc Mật khẩu không chính xác";
                return;
            }

            AdminUserController.AdminUserLogin(objUserInfo, true);
            FormsAuthentication.RedirectFromLoginPage(txtUsername.Text.Trim(), chkRemember.Checked);
        }
コード例 #7
0
        public async Task DeleteAdminUserAsyncTest()
        {
            _mock.Setup(p => p.DeleteAdminUserAsync(GetTestAdminDeleteDto()));
            var controller   = new AdminUserController(_mock.Object);
            var actionResult = await controller.DeleteAdminUserAsync(GetTestAdminDeleteDto());

            var contentResult = actionResult as OkNegotiatedContentResult <BaseApiResponse>;


            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOfType(actionResult, typeof(IHttpActionResult));
            Assert.IsNotNull(contentResult);
            Assert.IsInstanceOfType(contentResult, typeof(OkNegotiatedContentResult <BaseApiResponse>));
            Assert.IsNotNull(contentResult.Content);
        }
コード例 #8
0
        public async Task GetAdminUserByEmaildAsyncTest()
        {
            _mock.Setup(p => p.GetAdminUserByEmailAsync("*****@*****.**")).ReturnsAsync(new AdminUserDto());
            var controller   = new AdminUserController(_mock.Object);
            var actionResult = await controller.GetAdminUserByEmaildAsync("*****@*****.**");

            var contentResult = actionResult as OkNegotiatedContentResult <BaseApiResponse>;

            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOfType(actionResult, typeof(IHttpActionResult));
            Assert.IsNotNull(contentResult);
            Assert.IsInstanceOfType(contentResult, typeof(OkNegotiatedContentResult <BaseApiResponse>));
            Assert.IsNotNull(contentResult.Content);
            Assert.IsInstanceOfType(contentResult.Content.Data, typeof(AdminUserDto));
        }
コード例 #9
0
        public async Task GetAllAdminUserAsyncTest()
        {
            _mock.Setup(p => p.GetAllAsync(1, 10, null)).ReturnsAsync(new PageContainer <AdminUserEditDto>());
            var controller   = new AdminUserController(_mock.Object);
            var actionResult = await controller.GetAllAsync(1, 10, null);

            var contentResult = actionResult as OkNegotiatedContentResult <BaseApiResponse>;

            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOfType(actionResult, typeof(IHttpActionResult));
            Assert.IsNotNull(contentResult);
            Assert.IsInstanceOfType(contentResult, typeof(OkNegotiatedContentResult <BaseApiResponse>));
            Assert.IsNotNull(contentResult.Content);
            Assert.IsInstanceOfType(contentResult.Content.Data, typeof(PageContainer <AdminUserEditDto>));
        }
コード例 #10
0
ファイル: AdminSiteMap.cs プロジェクト: nhavh/newspaper
        public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
        {
            var col  = new SiteMapNodeCollection();
            var id   = int.Parse(node.Key);
            var list = AdminUserController.GetCurrentAdminUser().Pages;

            if (list != null)
            {
                foreach (AdminPageInfo page in list)
                {
                    if (page.Visible && page.ParentID == id)
                    {
                        col.Add(new SiteMapNode(this, page.AdminPageID.ToString(), (page.Source == Null.NullString ? "" : ("~" + page.Link)), page.Name));
                    }
                }
            }
            return(col);
        }
コード例 #11
0
ファイル: AdminMembership.cs プロジェクト: nhavh/newspaper
        public void OnAuthenticateRequest(object s, EventArgs e)
        {
            var context  = ((HttpApplication)s).Context;
            var request  = context.Request;
            var response = context.Response;

            if (!request.Url.LocalPath.ToLower().EndsWith(Globals.InstanceExtension))
            {
                return;
            }

            if (request.IsAuthenticated)
            {
                var objUser = AdminUserController.GetCachedAdminUser(context.User.Identity.Name);

                if (objUser == null || objUser.Username.ToLower() != context.User.Identity.Name.ToLower())
                {
                    AdminUserController.AdminUserSignOut();
                    response.Redirect(request.RawUrl, true);
                    return;
                }

                if (request.Cookies["username"] == null)
                {
                    var currentDateTime = DateTime.Now;
                    var userTicket      = new FormsAuthenticationTicket(1, context.User.Identity.Name, currentDateTime, currentDateTime.AddHours(1), false, objUser.Username);
                    var username        = FormsAuthentication.Encrypt(userTicket);

                    var httpCookie = response.Cookies["username"];
                    if (httpCookie != null)
                    {
                        httpCookie.Value   = username;
                        httpCookie.Path    = "/";
                        httpCookie.Expires = currentDateTime.AddMinutes(1);
                    }
                }
                context.Items.Add("AdminUserInfo", objUser);
            }

            if (HttpContext.Current.Items["AdminUserInfo"] == null)
            {
                context.Items.Add("AdminUserInfo", new AdminUserInfo());
            }
        }
コード例 #12
0
        public async Task Delete_DeleteUser_NotFound404()
        {
            // Arrange
            var editUser = new Mock <IEditableUserAsync>();
            var mapper   = new Mock <IMapper>();

            var adminUserController = new AdminUserController(
                editUser.Object,
                mapper.Object);

            editUser.Setup(eu => eu.DeleteAsync(_user.Id))
            .Throws(new ObjectNotFoundException("Some message."));

            // Act
            var result = await adminUserController.Delete(_user.Id);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
コード例 #13
0
        public void Get_GetUserByIdIfUserNotFound_NotFound404()
        {
            // Arrange
            var getUser = new Mock <IGetableUser>();
            var mapper  = new Mock <IMapper>();

            var adminUserController = new AdminUserController(
                getUser.Object,
                mapper.Object);

            getUser.Setup(gu => gu.GetById(_user.Id))
            .Throws(new ObjectNotFoundException("User not found."));

            // Act
            var result = adminUserController.Get(_user.Id);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
コード例 #14
0
        public void Get_GetUsersIfUsersNoMore_NotFound404()
        {
            // Arrange
            var getUser = new Mock <IGetableUser>();
            var mapper  = new Mock <IMapper>();

            var adminUserController = new AdminUserController(
                getUser.Object,
                mapper.Object);
            var invalidIndex = -1;

            getUser.Setup(gu => gu.GetByPagination(invalidIndex))
            .Throws(new ObjectNotFoundException("Invalid index."));

            // Act
            var result = adminUserController.Get(invalidIndex);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
コード例 #15
0
        public void Get_GetUsersIfIndexInvalid_BadRequest400()
        {
            // Arrange
            var getUser = new Mock <IGetableUser>();
            var mapper  = new Mock <IMapper>();

            var adminUserController = new AdminUserController(
                getUser.Object,
                mapper.Object);
            var validIndex = 0;

            getUser.Setup(gu => gu.GetByPagination(validIndex))
            .Throws(new ObjectNotFoundException("No more users."));

            // Act
            var result = adminUserController.Get(validIndex);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
コード例 #16
0
        public async Task Delete_DeleteUserById_OkObjectResult()
        {
            // Arrange
            var editableUser = new Mock <IEditableUserAsync>();
            var mapper       = new Mock <IMapper>();

            editableUser.Setup(eu => eu.DeleteAsync(_user.Id).Result)
            .Returns(_user);

            var adminUserController = new AdminUserController(
                editableUser.Object,
                mapper.Object);

            // Act
            var result = await adminUserController.Delete(_user.Id);

            // Assert
            Assert.NotNull(adminUserController);
            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result.Result);
        }
        public void Get_GetUserById_OkObjectResult()
        {
            // Arrange
            var getableUser = new Mock <IGetableUser>();
            var mapper      = new Mock <IMapper>();

            getableUser.Setup(gu => gu.GetById(_user.Id))
            .Returns(_user);

            var adminUserController = new AdminUserController(
                getableUser.Object,
                mapper.Object);

            // Act
            var result = adminUserController.Get(_user.Id);

            // Assert
            Assert.NotNull(adminUserController);
            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result.Result);
        }
コード例 #18
0
 public AdminUserControllerShould()
 {
     _mockRepository = new Mock <IAdminUserRepository>();
     _sut            = new AdminUserController(_mockRepository.Object, _userManager, _dataBaseContext);
 }
コード例 #19
0
ファイル: MasterPage.Master.cs プロジェクト: nhavh/newspaper
 protected void btnLogout_Click(object sender, EventArgs e)
 {
     AdminUserController.AdminUserSignOut();
     Response.Redirect("~/Login.aspx", true);
 }
コード例 #20
0
        /// <summary>
        /// Admin user menu, Admin User object as parameter for handling session timer and ping function
        /// </summary>
        /// <param name="admin"></param>
        public static void AdminUserMenu(User admin)
        {
            bool isAdminUserMenuRunning = true;

            while (isAdminUserMenuRunning)
            {
                Console.Clear();
                ASCII.AdminUserMenuASCII();
                Console.WriteLine("[1] List all users");
                Console.WriteLine("[2] Find user");
                Console.WriteLine("[3] Add user");
                Console.WriteLine("[4] Show best costumer");
                Console.WriteLine("[5] Promote user");
                Console.WriteLine("[6] Demote user");
                Console.WriteLine("[7] Activate user");
                Console.WriteLine("[8] Deactivate user");
                Console.WriteLine("[9] Go back to main admin menu");
                Console.WriteLine("[10] Go back to main menu");
                Console.WriteLine("[11] Quit application");

                int.TryParse(Console.ReadLine(), out var AdminUserMenuInput);

                switch (AdminUserMenuInput)
                {
                case 1:
                    AdminUserController.ListAllUsers(admin);
                    break;

                case 2:
                    AdminUserController.FindUser(admin);
                    break;

                case 3:
                    AdminUserController.AddUser(admin);
                    break;

                case 4:
                    AdminUserController.BestCostumer(admin);
                    break;

                case 5:
                    AdminUserController.PromoteUser(admin);
                    break;

                case 6:
                    AdminUserController.DemoteUser(admin);
                    break;

                case 7:
                    AdminUserController.ActivateUser(admin);
                    break;

                case 8:
                    AdminUserController.DeactivateUser(admin);
                    break;

                case 9:
                    isAdminUserMenuRunning = false;
                    break;

                case 10:
                    isAdminUserMenuRunning = false;
                    isAdminMenuRunning     = false;
                    break;

                case 11:
                    isAdminUserMenuRunning = false;
                    isAdminMenuRunning     = false;
                    MainMenuController.isMainMenuRunning = false;
                    break;
                }
            }
        }