简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd 添加评论的功能实现
2012-09-02 18:42
991 查看
其实系统里的所有的对象,就是加100个字段1000个字段,也是有描述不完的功能需要描述的,这时候我们其实还是希望有个可以对任何系统里的对象都可以进行评论的一个功能,这样任何想说明的,都能随时加个评论就可以了。这样方便系统里的多个用户之间沟通交流。其实很早就想做个这样的功能,但是由于一直没时间,就等到最近空了,才做了这个评论功能,打算对系统的所有的窗体都实现可以进行评论的功能改进。
程序里就用了SQLBuilder工具类的功能,代码编写简单,同时能支持多数据库的支持,将来有需要更换数据库时就不会头疼了。
1 //--------------------------------------------------------------------
2 // All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd.
3 //--------------------------------------------------------------------
4
5 using System;
6 using System.Windows.Forms;
7
8 namespace DotNet.WinForm
9 {
10 using DotNet.Business;
11 using DotNet.Utilities;
12
13 /// <summary>
14 /// FrmCommentAdd.cs
15 /// 添加评论
16 ///
17 /// 修改记录
18 ///
19 /// 2012.08.26 版本:1.0 JiRiGaLa 添加功能页面编写。
20 ///
21 /// 版本:1.0
22 ///
23 /// <author>
24 /// <name>JiRiGaLa</name>
25 /// <date>2012.08.26</date>
26 /// </author>
27 /// </summary>
28 public partial class FrmCommentAdd : BaseForm
29 {
30 public FrmCommentAdd()
31 {
32 InitializeComponent();
33 }
34
35 public FrmCommentAdd(string categoryCode, string objectId)
36 : this()
37 {
38 this.CategoryCode = categoryCode;
39 this.ObjectId = objectId;
40 }
41
42 private string categoryCode = string.Empty;
43 /// <summary>
44 /// 分类
45 /// </summary>
46 public string CategoryCode
47 {
48 get
49 {
50 return categoryCode;
51 }
52 set
53 {
54 categoryCode = value;
55 }
56 }
57
58 private string objectId = string.Empty;
59 /// <summary>
60 /// 实体主键
61 /// </summary>
62 public string ObjectId
63 {
64 get
65 {
66 return objectId;
67 }
68 set
69 {
70 objectId = value;
71 }
72 }
73
74 #region public override bool SaveEntity() 保存
75 /// <summary>
76 /// 保存
77 /// </summary>
78 /// <returns>保存成功</returns>
79 public override bool SaveEntity()
80 {
81 bool returnValue = false;
82 SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
83 sqlBuilder.BeginInsert(BaseCommentEntity.TableName);
84 sqlBuilder.SetValue(BaseCommentEntity.FieldCategoryCode, this.CategoryCode);
85 sqlBuilder.SetValue(BaseCommentEntity.FieldObjectId, this.ObjectId);
86 sqlBuilder.SetValue(BaseCommentEntity.FieldContents, this.txtComment.Text);
87 sqlBuilder.SetValue(BaseCommentEntity.FieldWorked, this.chkWorked.Checked ? 1 : 0);
88 sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentId, this.UserInfo.DepartmentId);
89 sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentName, this.UserInfo.DepartmentName);
90 sqlBuilder.SetValue(BaseCommentEntity.FieldCreateUserId, this.UserInfo.Id);
91 sqlBuilder.SetValue(BaseCommentEntity.FieldCreateBy, this.UserInfo.RealName);
92 sqlBuilder.SetDBNow(BaseCommentEntity.FieldCreateOn);
93 sqlBuilder.SetValue(BaseCommentEntity.FieldIPAddress, this.UserInfo.IPAddress);
94 sqlBuilder.SetValue(BaseCommentEntity.FieldEnabled, 1);
95 sqlBuilder.SetValue(BaseCommentEntity.FieldDeletionStateCode, 0);
96 returnValue = sqlBuilder.EndInsert() > 0;
97 return returnValue;
98 }
99 #endregion
#region public override bool CheckInput() 检查输入的有效性
/// <summary>
/// 检查输入的有效性
/// </summary>
/// <returns>有效</returns>
public override bool CheckInput()
{
bool returnValue = true;
this.txtComment.Text = this.txtComment.Text.TrimEnd();
if (string.IsNullOrEmpty(this.txtComment.Text))
{
MessageBox.Show(AppMessage.Format(AppMessage.MSG0007, AppMessage.MSG9984), AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.txtComment.Focus();
return false;
}
return returnValue;
}
#endregion
#region private void ClearForm()
/// <summary>
/// 清除窗体
/// </summary>
private void ClearForm()
{
this.txtComment.Text = string.Empty;
this.txtComment.Focus();
}
#endregion
#region private void AddComment(bool close)
/// <summary>
/// 保存评论
/// </summary>
/// <param name="close">关闭窗体</param>
private void AddComment(bool close)
{
// 检查输入的有效性
if (this.CheckInput())
{
// 设置鼠标繁忙状态,并保留原先的状态
Cursor holdCursor = this.Cursor;
this.Cursor = Cursors.WaitCursor;
try
{
if (this.SaveEntity())
{
// 数据发生了变化
this.Changed = true;
if (close)
{
this.DialogResult = DialogResult.OK;
// 关闭窗口
this.Close();
}
else
{
this.ClearForm();
}
}
}
catch (Exception ex)
{
this.ProcessException(ex);
}
finally
{
// 设置鼠标默认状态,原来的光标状态
this.Cursor = holdCursor;
}
}
}
#endregion
private void btnAdd_Click(object sender, EventArgs e)
{
this.AddComment(false);
}
private void btnSave_Click(object sender, EventArgs e)
{
this.AddComment(true);
}
}
}
相关文章推荐
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentEdit 编辑评论的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList 所有评论列表的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit 添加评论功能页面效果
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentEdit
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets 显示某个对象的评论列表的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmKnowledge日积月累功能的实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit
- 简单快速开发C\S架构程序用最简单的不分层最快的效率
- 收了100元辛苦费,写了一个最简单的C#ASP.NET的3层架构例子代码,源码是通过代码生成器生成的【写程序的效率神奇的高】
- 配置实现-适易快速开发架构实现功能总结
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- c#开发一个“记事本”程序,要求能够实现文件的新建、打开、编辑、保存功能
- 利用XML配置实现增删改查的.net快速开发架构 简单的构建信息管理系统架构
- Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
- 简单的一个C++中traits功能的实现例子
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- html表单配合php实现一些简单功能的例子