CSFrameworkV6旗舰版 | 单表基础资料窗体完整C#源码|C/S开发框架

设备管理窗体

数据查询

数据编辑

UI Form - 单表基础资料标准窗体
using CartonERP.Business;
using CartonERP.Common;
using CartonERP.Library;
using CartonERP.Library.CommonClass;
using CartonERP.Models;
using CSFrameworkV6.Core;
using CSFrameworkV6.Core.Extensions;
using System;
namespace CartonERP.DataDictionary
{
public partial class frm_Machine : frmBaseDataDictionary
{
private bll_Machine _BLL;
public frm_Machine()
{
InitializeComponent();
}
private void frm_Machine_Load(object sender, EventArgs e)
{
this.InitializeForm();
}
protected override void InitializeForm()
{
_SummaryView = new DevGridView(gvSummary);
_DetailGroupControl = pcDetailEditor;
_BLL = new bll_Machine();
base.InitializeForm();
this.BoundLookupData();
}
public override void BoundLookupData()
{
DataBinderTools.BoundUser(lucLastUpdatedBy);
DataBinderTools.BoundUser(lucCreatedBy);
DataBinderTools.BoundUser(txtCreatedBy.Properties);
DataBinderTools.BoundUser(txtLastUpdatedBy.Properties);
}
public override void InitButtons()
{
base.InitButtons();
_buttons.RemoveButton(ButtonNameList.btnRefreshDataDict);
}
protected override void ShowSummary()
{
}
protected override void DoBindingSummaryEditor(object summary)
{
this.DoBindingEditorPanel(pcDetailEditor, summary);
}
public override void DoAdd(IButtonInfo sender)
{
try
{
frmWaitingEx.ShowMe(this);
_BLL.CreateDataBinder(null);
this.DoBindingSummaryEditor(_BLL.DataBinder);
this._UpdateType = UpdateType.Add;
this.SetEditMode();
this.ButtonStateChanged(_UpdateType);
this.ShowDetailPage(true);
}
finally
{
frmWaitingEx.HideMe(this);
}
}
public override void DoDelete(IButtonInfo sender)
{
AssertFocusedRow();
if (!Msg.AskQuestion("确定要删除吗?")) return;
try
{
frmWaitingEx.ShowMe(this);
var row = _SummaryView.GetFocusedRow() as dt_Machine;
var result = _BLL.Delete(row.isid);
AssertEqual(result, true, "删除记录时发生错误!");
this.DeleteSummaryRow(_SummaryView.FocusedRowHandle);
if (_SummaryView.FocusedRowHandle < 0)
{
ShowSummaryPage(true);
}
else
{
_BLL.CreateDataBinder(_SummaryView.GetFocusedRow() as dt_Machine);
DoBindingSummaryEditor(_BLL.DataBinder);
}
}
finally
{
frmWaitingEx.HideMe(this);
}
}
public override void DoEdit(IButtonInfo sender)
{
base.DoEdit(sender);
}
public override void DoViewContent(IButtonInfo sender)
{
AssertFocusedRow();
try
{
frmWaitingEx.ShowMe(this);
_BLL.CreateDataBinder(_SummaryView.GetObject<dt_Machine>());
this.DoBindingSummaryEditor(_BLL.DataBinder);
this.ButtonStateChanged(_UpdateType);
this.ShowDetailPage(false);
}
finally
{
frmWaitingEx.HideMe(this);
}
}
public override void DoSave(IButtonInfo sender)
{
try
{
frmWaitingEx.ShowMe(this);
this.UpdateLastControl();
if (!ValidatingData()) return;
bool result = _BLL.Update(_UpdateType);
if (result)
{
var dt = _BLL.GetDataByKey(_BLL.DataBinder.isid);
this.UpdateSummaryRow(dt);
this.DoSave_ResetState();
this.NotifyDataDictChanged<dt_Machine>();
}
else
{
Msg.Warning("保存失败!");
}
}
finally
{
frmWaitingEx.HideMe(this);
}
}
protected override void ButtonStateChanged(UpdateType currentState)
{
base.ButtonStateChanged(currentState);
txtCreatedBy.Properties.ReadOnly = true;
txtCreationDate.Properties.ReadOnly = true;
txtLastUpdateDate.Properties.ReadOnly = true;
txtLastUpdatedBy.Properties.ReadOnly = true;
}
private void btnEmpty_Click(object sender, EventArgs e)
{
base.ClearContainerEditorText(pnlSearch);
}
private void btnQuery_Click(object sender, EventArgs e)
{
try
{
frmWaitingEx.ShowMe(this);
var input = new req_Machine
{
MachineName = txt_MachineName.EditValue.ToStringEx(),
Model = txt_Model.EditValue.ToStringEx(),
};
var data = _BLL.Query(input);
this.DoBindingSummaryGrid(data);
this.ShowSummaryPage(true);
}
finally
{
frmWaitingEx.HideMe(this);
}
}
protected override bool ValidatingData()
{
var isInvalid = false
| CommonTools.IsInvalid(txtMachineName)
| CommonTools.IsInvalid(txtInstallDate)
| CommonTools.IsInvalid(txtModel);
if (isInvalid) return false;
return true;
}
public override void DoShowLog(IButtonInfo button)
{
this.MainForm.OpenModuleForm(Globals.LogViewerForm, "", nameof(dt_Machine));
}
}
}
BLL - 业务逻辑层代码
using CartonERP.Common;
using CartonERP.DataAccess;
using CartonERP.Interfaces;
using CartonERP.Models;
using CartonERP.WebApiClient;
using CSFrameworkV6.Core;
using System;
using System.Collections.Generic;
namespace CartonERP.Business
{
public class bll_Machine : bllBaseDataDict<dt_Machine>
{
private IBridge_Machine _Bridge;
public bll_Machine()
{
_SummaryTableName = nameof(dt_Machine);
_KeyFieldName = nameof(dt_Machine.isid);
_DataDictBridge = BridgeFactory.CreateDataDictBridge<dt_Machine>();
_Bridge = this.CreateBridge();
}
private IBridge_Machine CreateBridge()
{
if (BridgeFactory.IsADODirect)
return new dal_Machine(Loginer.CurrentUser);
if (BridgeFactory.IsWebApi)
return new WebApi_Machine();
throw new CustomException(BridgeFactory.UNKNOW_BRIDGE_TYPE);
}
public override void CreateDataBinder(dt_Machine sourceRow)
{
base.CreateDataBinder(sourceRow);
if (sourceRow == null)
{
_DataBinder.isid = IdHelper.GetId();
_DataBinder.InstallDate = DateTime.Today;
}
}
public List<dt_Machine> Query(req_Machine input)
{
return _Bridge.Query(input);
}
}
}
DAL - 数据访问层代码
using CartonERP.Interfaces;
using CartonERP.Models;
using CartonERP.Models.UpdateModel;
using CSFrameworkV6.Core;
using CSFrameworkV6.Core.Extensions;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace CartonERP.DataAccess
{
[DefaultORM_UpdateMode(typeof(dt_Machine), true)]
public class dal_Machine : dalBaseDataDict<dt_Machine>, IBridge_Machine
{
public dal_Machine(Loginer loginer): base(loginer)
{
}
public override List<dt_Machine> GetSummaryData()
{
var q = _Database.GetQueryable<dt_Machine>();
return q.Take(100).ToList();
}
public override List<dt_Machine> GetLookupData()
{
return _Database.GetQueryable<dt_Machine>().ToList();
}
public override bool CheckNoExists(string keyValue)
{
var q = _Database.GetQueryable<dt_Machine>();
return q.Any(a => a.MachineName == keyValue);
}
public override dt_Machine GetDataByKey(string keyValue)
{
var q = _Database.GetQueryable<dt_Machine>();
return q.Where(w => w.isid == keyValue).FirstOrDefault();
}
public override bool Delete(string keyValue)
{
return this.Delete(this.GetDataByKey(keyValue));
}
public List<dt_Machine> Query(req_Machine input)
{
var q = _Database.GetQueryable<dt_Machine>();
if (!input.MachineName.IsEmpty())
q = q.Where(w => w.MachineName.CompareTo(input.MachineName) == 0);
if (!input.Model.IsEmpty())
q = q.Where(w => w.Model.CompareTo(input.Model) == 0);
return q.ToList();
}
public override SaveResult UpdateEx(MasterDataUpdate<dt_Machine> data)
{
return base.UpdateEx(data);
}
public override bool Update(MasterDataUpdate<dt_Machine> data)
{
return base.Update(data);
}
protected override string SetDataSN(MasterDataUpdate<dt_Machine> data)
{
return string.Empty;
}
}
}
Model - 设备管理实体模型
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CartonERP.Models
{
[Table("dt_Machine")]
public class dt_Machine
{
#region 所有字段属性
[Key, Column(Order = 1)]
public String isid { get; set; }
public String MachineName { get; set; }
public String Model { get; set; }
public String BrandName { get; set; }
public String Manufacturer { get; set; }
public Int32? Quantity { get; set; }
public Decimal? CostAmount { get; set; }
public String InstallLocation { get; set; }
public DateTime? InstallDate { get; set; }
public String CreatedBy { get; set; }
public DateTime? CreationDate { get; set; }
public DateTime? LastUpdateDate { get; set; }
public String LastUpdatedBy { get; set; }
#endregion
}
}
扫一扫加作者微信