代码改变世界

【自然框架】开源社区活动,会员注册的第一份代码!

  金色海洋(jyk)  阅读(2660)  评论(28编辑  收藏  举报

 

  前情回顾:  

  自然框架开源社区的第一次活动——实现会员注册

    人员表设计思想 —— 也许会有点帮助

    自然框架开发系列(一):自然框架 和 AgileEAS.NET 合作,开发b/s的药店系统!

 

  漫长的期待,终于等来了第一份代码,这份代码由“好坏”提供。十分感谢对活动的支持!他工作也很忙,经常加班,昨天是他第一次不用加班,晚上写到凌晨3点多,10点起来又写到现在才写完。我也是刚刚收到这份代码,简单的看了一下。

 

  项目是按照三层的方式来编写,分成了五个项目。

 

  几个类图:

 

 

  说明:

  1. 由于我的数据库设计的原因,导致设计成了三个实体类。这个怪我没说清楚。我的想法是,设计数据库就按照需求和数据库的规则来做;设计实体类,那么就按照需求和面向对象的规则来做。不能相互影响。这个当时没说清楚,给大家带来了不变,表示歉意!这里补充说明一下,同时也期待大家的代码!
  2. 理解这份代码后,我会提出我的看法,同时也期待大家的意见,不过我们是对代码不对人目的是给朋友帮忙,而不是找领导的感觉,呵呵。请大家注意了!

  

 =========================================

 

  摘录几段代码,其他的代码可以下载“好坏”的会员注册完整代码

 

  UI:

复制代码
protected void btn_Click(object sender, EventArgs e)
        {
           
            
            PersonInfo person 
= new PersonInfo();
            PersonUserInfo puser 
= new PersonUserInfo();
            OSUserInfo osuser 
= new OSUserInfo();
                     
            person.PersonName 
= TBName.Text;
            person.Birthday 
= Convert.ToDateTime(TBBirthday.Text);
            person.IDCard 
= TBCardNum.Text;
            person.Gender 
= DropDownListGender.SelectedValue;
            puser.Email 
= TBEmail.Text;
            puser.UserCode 
= TBCode.Text;
            puser.UserPassword 
= FormsAuthentication.HashPasswordForStoringInConfigFile(TBPWD.Text,"MD5");
            puser.UserPassword2 
= puser.UserPassword;
            puser.LoginIP 
= Request.UserHostAddress; 
            osuser.ProvinceID 
= Convert.ToInt32(DropDownListProvince.SelectedValue);
            osuser.CityID 
= Convert.ToInt32(DropDownListCity.SelectedValue);
            osuser.CountyID 
= Convert.ToInt32(DropDownListCounty.SelectedValue);
            osuser.NikeName 
= TBNikeName.Text;

            
string message = "";
            
bool flag = ir.IsRegistered(person, puser, osuser,ref message);
            
if (flag)
            {
                ir.SentEmail(puser);
                Response.Redirect(
"Succeed.aspx");
            }
            
else
            {
                RegisterStartupScript(
"show""<script>window.alert('" + message + "');</script>");
            }
            

        }
复制代码

 

BLL:

 

复制代码
 public bool IsRegistered(PersonInfo person, PersonUserInfo puser, OSUserInfo osuser, ref string message)
        {
            
if (isUnusedCode(puser.UserCode) == false)
            {
                message 
= "账号已被使用,请重新注册!";
                
return false;
            }
            
if (isUnusedEmail(puser.Email) == false)
            {
                message 
= "邮箱已被使用,请重新注册!";
                
return false;
            }
            
bool flag = dal.insert(person, puser, osuser);

            
return flag;
        }
复制代码

 

 

 


 

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2007-04-15 由猫捉老鼠想起的——关于继承、接口和引用
2
点击右上角即可分享
微信分享提示