public 客房出租Form(Guid kfID) { InitializeComponent(); uC客房详细1.tbKfName.ReadOnly = true;//客房名字不许更改 uC客房详细1.tbKfName.StateCommon.Content.Color1 = Color.Red; this.kf = context.客房.FirstOrDefault(m => m.ID == kfID); }
public void 客房出租_Click(object sender, EventArgs e) { //出租 if (treeView1.SelectedNode != null && treeView1.SelectedNode.Tag is 客房) { 客房 kf = treeView1.SelectedNode.Tag as 客房; if (!string.IsNullOrEmpty(kf.租户)) { return; } using (客房出租Form rent = new 客房出租Form(kf.ID)) { DialogResult result = rent.ShowDialog(this); if (result == DialogResult.OK) { if (KryptonMessageBox.Show("客房已成功出租,是否立即进行首期收租?", "首期收租询问", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (客房收租Form collectRent = new 客房收租Form(kf.ID)) { collectRent.ShowDialog(this); } } } } } }
private void btnOK_Click(object sender, EventArgs e) { 客房租金明细BindingSource.EndEdit(); //string check = collectRent.CheckRules(); //if (!string.IsNullOrEmpty(check)) //{ // KryptonMessageBox.Show(check, "数据校验失败"); // return; //} //此时加入新的【客房出租历史记录】对象 context.客房出租历史记录.AddObject(history); //客房删除租户等相关信息,转为‘未出租’状态 kf.移除租户信息(); string msg; if (Helper.saveData(context, collectRent, out msg)) { KryptonMessageBox.Show(msg, "成功退租"); if (this.Owner is Main) { (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。 } Close(); } else { KryptonMessageBox.Show(msg, "失败"); context.客房出租历史记录.DeleteObject(history);//失败移除 //恢复kf的租户信息 kf = context.客房.FirstOrDefault(m => m.ID == kf.ID); } }
private void kfForm_Load(object sender, EventArgs e) { Text = string.Format("{0}客房", isNew? "新增":"编辑"); 源房BindingSource.DataSource = 源房.GetYF(context).Execute(MergeOption.AppendOnly); if (isNew) //新增 { BtnOkAndContinue.Visible = true; //保存并继续按钮可见 kf = new 客房(); kf.源房ID = this.yfID; cmbYF.SelectedValue = this.yfID; context.客房.AddObject(kf);//此操作后可实现外键同步 } else//编辑 { cmbYF.SelectedValue = kf.源房ID; //如果存在交租记录,那么不允许编辑水电气始码 if (kf.客房租金明细.Count > 0) { uC客房详细1.tbKF水始码.Enabled = false; uC客房详细1.tbKF电始码.Enabled = false; uC客房详细1.tbKF气始码.Enabled = false; } } uC客房详细1.客房BindingSource.DataSource = kf; }
private void kryptonDataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 0)//首列 { 客房 k = e.Value as 客房; e.Value = string.Format("[{0}] - {1}", k.源房.房名, k.命名); } }
private 客房出租历史记录 history = new 客房出租历史记录();//构造一个新的【客房出租历史记录】对象,并赋值 public 客房续租Form(Guid kfID) { InitializeComponent(); uC客房详细1.tbKfName.ReadOnly = true;//客房名字不许更改 uC客房详细1.tbKfName.StateCommon.Content.Color1 = Color.Red; uC客房详细1.toolTip1.SetToolTip(uC客房详细1.tbKfName, "客房名字不允许更改"); uC客房详细1.tbKF水始码.Enabled = false;//续租时水电气始码不许更改 uC客房详细1.tbKF电始码.Enabled = false; uC客房详细1.tbKF气始码.Enabled = false; this.kf = context.客房.FirstOrDefault(m => m.ID == kfID); }
public void 编辑客房_Click(object sender, EventArgs e) { //编辑客房 if (treeView1.SelectedNode != null && treeView1.SelectedNode.Tag is 客房) { 客房 kf = treeView1.SelectedNode.Tag as 客房; using (客房Form kF = new 客房Form(kf)) { kF.ShowDialog(this); } } }
private void kryptonDataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { 客房出租历史记录 entity = 客房出租历史记录BindingSource.Current as 客房出租历史记录; 客房 kf = entity.客房; /*只允许删除“历史”客户的记录。因为[续租]后当前租户相关租房信息转到‘客房出租历史记录’表里,那么如果 * 欲删除的记录是当前客户上次续租的合约记录的话,以后的退租操作无法正常进行(退租时要计算该客户整个 * 签约期内的款项、押金等等,多退少补)。*/ //1. //删除某条出租历史记录后,相关的【客房收租明细】信息也自动删除。 }
private void BtnOkAndContinue_Click(object sender, EventArgs e) { uC客房详细1.客房BindingSource.EndEdit(); string check = kf.CheckRules(); if (!string.IsNullOrEmpty(check)) { KryptonMessageBox.Show(check, "数据校验失败"); return; } #if DEBUG System.Diagnostics.Debug.Assert(isNew);//只有新增状态才有此按钮 #endif string msg; if (Helper.saveData(context, kf, out msg)) { KryptonMessageBox.Show(string.Format("成功新增客房[{0}]。您可以继续添加客房!", kf.命名), "成功新增客房"); if (this.Owner is Main) { (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。 } 客房 old = kf; kf = new 客房() { 面积 = old.面积, 含厨房 = old.含厨房, 含卫生间 = old.含卫生间, 源房ID = old.源房ID, 押金 = old.押金, 月租金 = old.月租金, 支付月数 = old.支付月数, 水始码 = old.水始码, 电始码 = old.电始码, 气始码 = old.气始码, 月宽带费 = old.月宽带费, 月物业费 = old.月物业费, 月厨房费 = old.月厨房费, 备注 = old.备注 }; context.客房.AddObject(kf);//此操作后可实现外键同步 uC客房详细1.客房BindingSource.DataSource = kf; } else { KryptonMessageBox.Show(msg, "失败"); } }
private void BtnSelectKF_Click(object sender, EventArgs e) { using (客房选择Form form = new 客房选择Form(客房筛选.客房出租)) { var result = form.ShowDialog(this); if (result == System.Windows.Forms.DialogResult.OK) { kf = form.selectedKF; uC客房详细1.客房BindingSource.DataSource = kf; kryptonHeader1.Values.Heading = kf.源房.房名; kryptonHeader1.Values.Description = kf.命名; } } }
private void llbKF_LinkClicked(object sender, EventArgs e) { using (客房选择Form form = new 客房选择Form(context, 客房筛选.客房收租)) { var result = form.ShowDialog(this); if (result == System.Windows.Forms.DialogResult.OK) { if (kf != form.selectedKF) { kf = form.selectedKF; ChangeKF(kf.ID); } } } }
private void raBtn_CheckedChanged(object sender, EventArgs e) { llbKF.Enabled = raBtnOne.Checked; if (raBtnAll.Checked) { 客房出租历史记录BindingSource.DataSource = 客房出租历史记录.GetKfHistoryDetails(context, null).Execute(MergeOption.AppendOnly); llbKF.Values.ExtraText = "<请选择>"; kf = null; } else if (raBtnOne.Checked) { 客房出租历史记录BindingSource.DataSource = null; } }
private void raBtn_CheckedChanged(object sender, EventArgs e) { llbKF.Enabled = raBtnOne.Checked; BtnAdd.Visible = raBtnOne.Checked; if (raBtnAll.Checked) { 客房租金明细BindingSource.DataSource = 客房租金明细.GetRentDetails(null).Execute(MergeOption.AppendOnly); llbKF.Values.ExtraText = "<请选择>"; kf = null; } else if (raBtnOne.Checked) { 客房租金明细BindingSource.DataSource = null; } }
public void 客房退租_Click(object sender, EventArgs e) { //客房退租 if (treeView1.SelectedNode != null && treeView1.SelectedNode.Tag is 客房) { 客房 kf = treeView1.SelectedNode.Tag as 客房; if (string.IsNullOrEmpty(kf.租户))//未租 { return; } using (客房退租Form tz = new 客房退租Form(kf.ID)) { tz.ShowDialog(this); } } }
private void BtnAdd_Click(object sender, EventArgs e) { if (kf == null) { KryptonMessageBox.Show("请先选择欲收租的客房!"); return; } using (客房收租Form sz = new 客房收租Form(kf)) { sz.ShowDialog(this); kf = sz.kf;//也许用户在新增收租里有一次更改了kf,此时回传 } //最后,不管有没有更新,刷新DataGridView ChangeKF(); }
private void BtnSelectKF_Click(object sender, EventArgs e) { using (客房选择Form form = new 客房选择Form(客房筛选.客房收租)) { var result = form.ShowDialog(this); if (result == System.Windows.Forms.DialogResult.OK) { if (kf != form.selectedKF) { Main.context.客房租金明细.DeleteObject(collectRent); kf = form.selectedKF; kryptonHeader1.Values.Heading = kf.源房.房名; kryptonHeader1.Values.Description = kf.命名; BindingData(); } } } }
private void kfForm_Load(object sender, EventArgs e) { Text = string.Format("{0}客房", isNew? "新增":"编辑"); 源房BindingSource.DataSource = 源房.GetYF().Execute(MergeOption.AppendOnly); if (isNew) //新增 { BtnOkAndContinue.Visible = true; //保存并继续按钮可见 kf = new 客房(); kf.源房ID = this.yfID; cmbYF.SelectedValue = this.yfID; Main.context.客房.AddObject(kf);//此操作后可实现外键同步 } else//编辑 { cmbYF.SelectedValue = kf.源房ID; } uC客房详细1.客房BindingSource.DataSource = kf; }
public void 除客房_Click(object sender, EventArgs e) { //删除客房 if (treeView1.SelectedNode != null && treeView1.SelectedNode.Tag is 客房) { 客房 kf = treeView1.SelectedNode.Tag as 客房; string txt = string.Format("确定要删除客房 [{0}] 吗?\r\n(将同时删除此客房下所有关联的信息)", kf.命名); var result = KryptonMessageBox.Show(txt, "客房删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (result == DialogResult.OK) { context.DeleteObject(kf); string msg; if (Helper.saveData(context, kf, out msg)) { //删除客房后,删除相关的提醒 var tx = context.提醒.Where(m => m.客房ID == kf.ID).ToList(); for (int i = tx.Count - 1; i >= 0; i--) { context.提醒.DeleteObject(tx[i]); } //删除源房后,删除相关日常损耗 var sh = context.日常损耗.Where(m => m.客房ID == kf.ID).ToList(); for (int i = sh.Count - 1; i >= 0; i--) { context.日常损耗.DeleteObject(sh[i]); } KryptonMessageBox.Show(msg, "成功删除客房"); RefreshAndLocateTree(null); LoadOrRefreshUC(null); } else { KryptonMessageBox.Show(msg, "失败"); context.Refresh(System.Data.Objects.RefreshMode.StoreWins, kf); } //clearObjectManagement(); } } }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { e.Node.SelectedImageIndex = e.Node.ImageIndex;//不变更选定的树节点图标 object entity = e.Node.Tag; if (entity is 客房) { BtnOK.Enabled = true; selectedKF = entity as 客房; kryptonHeaderGroup1.ValuesSecondary.Heading = string.Format("当前选择:{0} - {1}", selectedKF.源房.房名, selectedKF.命名); } else { BtnOK.Enabled = false; selectedKF = null; kryptonHeaderGroup1.ValuesSecondary.Heading = "当前选择:<无>"; } }
public void 客房收租_Click(object sender, EventArgs e) { //客房收租 if (treeView1.SelectedNode != null && treeView1.SelectedNode.Tag is 客房) { 客房 kf = treeView1.SelectedNode.Tag as 客房; if (string.IsNullOrEmpty(kf.租户))//未租 { return; } if (kf.期止 < DateTime.Now)//已租,协议到期,请续租或退租 { KryptonMessageBox.Show("协议到期,请续租或退租。"); return; } using (客房收租Form collectRent = new 客房收租Form(kf.ID)) { collectRent.ShowDialog(this); } } }
private void BtnDel_Click(object sender, EventArgs e) { 客房出租历史记录 entity = 客房出租历史记录BindingSource.Current as 客房出租历史记录; if (entity == null) { return; } 客房 tempKF = entity.客房; ////只允许删除“历史”客户的记录。因为[续租]后当前租户相关租房信息转到‘客房出租历史记录’表里,那么如果 ////欲删除的记录是当前客户上次续租的合约记录的话,以后的退租操作无法正常进行(退租时要计算该客户整个 ////签约期内的款项、押金等等,多退少补)。*/ if (tempKF.租户 == entity.租户 && tempKF.身份证号 == entity.身份证号) { KryptonMessageBox.Show("此条【客房出租历史记录】相关信息涉及到当前租户,无法删除。\r\n(当前租户退租后,才能删除此租户相关的【客房出租历史记录】。)", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else//删除某条出租历史记录后,相关的【客房收租明细】信息也自动删除。 { List <客房租金明细> willBeDeletedList = 客房出租历史记录.GetHistoryRentDetails(entity); int num = willBeDeletedList.Count(); string msg = string.Format("删除此条记录,该记录包含的收租明细信息[{0}条]都将被删除!\r\n(详见上方操作说明)\r\n是否删除?", num); if (KryptonMessageBox.Show(msg, "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { //删除当前选中的‘客房出租历史记录’ 客房出租历史记录BindingSource.RemoveCurrent(); //删除关联的‘客房收租明细’ foreach (var o in willBeDeletedList) { context.客房租金明细.DeleteObject(o); } } } }
public 客房Form(客房 kf) { InitializeComponent(); isNew = false; this.kf = kf; }
public 客房出租Form(客房 kf) { InitializeComponent(); this.kf = kf; }
public 客房收租Form(Guid kfID) { InitializeComponent(); this.kf = context.客房.FirstOrDefault(m => m.ID == kfID); IsFirstLoad = true; }
public 客房Form(客房 kf) { InitializeComponent(); isNew = false; this.kf = context.客房.FirstOrDefault(m => m.ID == kf.ID); }