⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actions.cs

📁 smark.data是基于C#开发的轻量级数据访问组件。 提供以下功能封: 1)提供了跨数据库类型操作能力 2)基于程线存储的数据访问上下文对象
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections.Generic;
namespace Smark.Users.WebApp
{


    public class ActionBase : NClay.Web.Presenter
    {
        protected bool mIsLogin = false;
        [NClay.Web.Service.OutputXml()]
        public bool IsLogin
        {
            get
            {
                return mIsLogin;
            }
        }
        protected User mLoginer;

        public User Loginer
        {
            get
            {
                return mLoginer;
            }
        }
        protected override void OnExecute()
        {
            base.OnExecute();
            mLoginer= _UserService.Load(Context.HttpContext.User.Identity.Name);
            mIsLogin = Loginer != null;
            if (SigninAccess && Loginer == null)
                NotLoginDo();
        }
        
        public UserService _UserService
        {
            get
            {
                return new UserService();
            }
        }
        protected virtual void NotLoginDo()
        {
            throw new Exception("非法操作!");
        }
        protected virtual bool SigninAccess
        {
            get
            {
                return false;
            }
        }
    }
    [NClay.Web.Filter("\\.*")]
    public class AllFilter : NClay.Web.IFilterHandler
    {
        #region IFilterHandler 成员

        public void Execute(NClay.Web.FilterContext context)
        {
            Smark.Data.DBContext.DB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + NClay.CoreFun.AppPath + "user.mdb";
            context.Execute();
        }

        #endregion
    }

    [NClay.Web.Service.ActionMapper("Register")]
    public class Actions : ActionBase
    {
        public User User
        {
            get;
            set;
        }
        protected override void OnGet()
        {
            Result result = _UserService.Register(User);
            if (result != Result.处理成功)
                throw new Exception(result.ToString());
            base.OnPost();
        }

    }

     [NClay.Web.Service.ActionMapper("List")]
    public class List : ActionBase
    {
        public string MatchName
        {
            get;
            set;
        }
        public string MatchEMail
        {
            get;
            set;
        }
        [NClay.Web.Service.OutputXml()]
        public NClay.DataPage DataPage
        {
            get;
            set;
        }
        [NClay.Web.Service.OutputXml()]
        public IList<User> Items
        {
            get;
            set;
        }
        protected override void OnGet()
        {
            int count =0;
            Items = _UserService.List(MatchEMail, MatchName,
                new Smark.Data.Region { Start=DataPage.PageSize*DataPage.PageIndex, Size=DataPage.PageSize }, null, out count);
            DataPage.RecordCount = count;
            base.OnGet();
        }
        protected override bool SigninAccess
        {
            get
            {
                return true;
            }
        }
    }

     [NClay.Web.Service.ActionMapper("TicketExaminer")]
     public class TicketExaminer : ActionBase
     {
     }

     [NClay.Web.Service.ActionMapper("login")] 
    public class Login : ActionBase
     {
         protected override void OnGet()
         {
             ImageValidate.Check();
             mLoginer = _UserService.Login(UserName, UserPWD);
             mIsLogin = mLoginer != null;
             if (mLoginer != null)
             {
                 FormsAuthentication.SetAuthCookie(Loginer.UserName, true);
             }
             
             base.OnGet();
         }
         public string UserName
         {
             get;
             set;
         }
         public string UserPWD
         {
             get;
             set;
         }
         public NClay.Web.Actions.ImageValidate ImageValidate
         {
             get;
             set;
         }
     }

     [NClay.Web.Service.ActionMapper("changepwd")] 
     public class ChangePWD : ActionBase
     {
         public string UserName
         {
             get;
             set;
         }
         public string NewPWD
         {
             get;
             set;
         }
         protected override void OnGet()
         {
             Result result= _UserService.ChangePwd(UserName, NewPWD);
             if (result != Result.处理成功)
                 throw new Exception(result.ToString());
             base.OnGet();
         }
         protected override bool SigninAccess
         {
             get
             {
                 return true;
             }
         }
     }

     [NClay.Web.Service.ActionMapper("SetEnabled")]  
     public class SetEnabled : ActionBase
     {
         public string[] UserName
         {
             get;
             set;
         }
         public bool Enabled
         {
             get;
             set;
         }
         protected override void OnGet()
         {
             _UserService.Enabled(Enabled, UserName);
             base.OnGet();
         }
         protected override bool SigninAccess
         {
             get
             {
                 return true;
             }
         }
     }

     //[NClay.Web.Service.ActionMapper("AddUser")]  
     public class AddUser : ActionBase
     {
         protected override void OnGet()
         {
             Smark.Users.User user;
             for (int i = 0; i < 500; i++)
             {
                 user = new User();
                 user.UserName = "henry" + i;
                 user.UserPWD = "1234";
                 user.CreateDate = DateTime.Parse(DateTime.Now.ToShortDateString());
                 user.Enabled = true;
                 user.EMail = "henryfan" + i + "@msn.com";
                 user.Save();
             }
             base.OnGet();
         }
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -