Beispiel #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            uC客房详细1.客房BindingSource.EndEdit();

            //特殊校验: 必须有租户,且租户姓名、身份证号必须和以前一致。
            if (kf.租户 != history.租户 || kf.身份证号 != history.身份证号)
            {
                KryptonMessageBox.Show("【续租】时,租户姓名、身份证号必须和之前协议相同。", "数据校验失败");
                return;
            }
            //协议时间必须连续
            if (kf.期始.Value.Date != history.期止.AddDays(1).Date)
            {
                KryptonMessageBox.Show(string.Format("【续租】时,协议时间必须和之前协议时间连续。\r\n(上次协议期止时间为{0})", history.期止.ToShortDateString()), "数据校验失败");
                return;
            }

            string check = kf.CheckRules();

            if (!string.IsNullOrEmpty(check))
            {
                KryptonMessageBox.Show(check, "数据校验失败");
                return;
            }

            //此时加入新的【客房出租历史记录】对象
            context.客房出租历史记录.AddObject(history);

            string msg;

            if (Helper.saveData(context, kf, out msg))
            {
                KryptonMessageBox.Show(msg, "成功续租客房");
                if (this.Owner is Main)
                {
                    (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。
                }
                Close();
            }
            else
            {
                KryptonMessageBox.Show(msg, "失败");
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            uC客房详细1.客房BindingSource.EndEdit();

            //特殊校验: 必须有租户
            if (string.IsNullOrEmpty(kf.租户))
            {
                KryptonMessageBox.Show("请填写租户姓名!", "数据校验失败");
                return;
            }

            string check = kf.CheckRules();

            if (!string.IsNullOrEmpty(check))
            {
                KryptonMessageBox.Show(check, "数据校验失败");
                return;
            }

            if (Main.context.ObjectStateManager.GetObjectStateEntry(kf).State == EntityState.Unchanged)
            {
                Close(); //如果编辑状态下,未做任何修改,则直接退出
            }
            else
            {
                string msg;
                if (Helper.saveData(kf, out msg))
                {
                    DialogResult = DialogResult.OK;//传出成功标志,主界面会提示是否马上进行首期收租。
                    KryptonMessageBox.Show(msg, "成功出租客房");
                    if (this.Owner is Main)
                    {
                        (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。
                    }
                    Close();
                }
                else
                {
                    KryptonMessageBox.Show(msg, "失败");
                }
            }
        }
Beispiel #3
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            uC客房详细1.客房BindingSource.EndEdit();

            string check = kf.CheckRules();

            if (!string.IsNullOrEmpty(check))
            {
                KryptonMessageBox.Show(check, "数据校验失败");
                return;
            }
            if (isNew)//新增
            {
                string msg;
                if (Helper.saveData(context, kf, out msg))
                {
                    KryptonMessageBox.Show(msg, "成功新增客房");
                    if (this.Owner is Main)
                    {
                        (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。
                    }
                    Close();
                }
                else
                {
                    KryptonMessageBox.Show(msg, "失败");
                }
            }
            else//编辑
            {
                if (context.ObjectStateManager.GetObjectStateEntry(kf).State == EntityState.Unchanged)
                {
                    Close(); //如果编辑状态下,未做任何修改,则直接退出
                }
                else
                {
                    //-----如果客房租户名或身份证变更,那么需同时更改[客房出租历史记录]里相关项。(判断同一个租户的关键依据<租户有可能同名同姓>)----------
                    var    kfModifies = context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).First(m => m.Entity.Equals(kf));
                    string origin租户   = null;
                    string origin身份证号 = null;
                    if (kfModifies.GetModifiedProperties().Contains("租户"))
                    {
                        origin租户 = kfModifies.OriginalValues["租户"].ToString();
                    }
                    if (kfModifies.GetModifiedProperties().Contains("身份证号"))
                    {
                        origin身份证号 = kfModifies.OriginalValues["身份证号"].ToString();
                    }
                    if (origin租户 != null || origin身份证号 != null) //客房租户名或身份证有变动
                    {
                        if (origin租户 == null)                   //租户未更改
                        {
                            origin租户 = kf.租户;
                        }
                        if (origin身份证号 == null) //身份证号未更改
                        {
                            origin身份证号 = kf.身份证号;
                        }
                        //通过origin值查询历史记录,看有无此租户对应记录
                        foreach (var history in kf.客房出租历史记录.Where(m => m.租户 == origin租户 && m.身份证号 == origin身份证号))
                        {
                            history.身份证号 = kf.身份证号;
                            history.租户   = kf.租户;
                        }
                    }

                    string msg;
                    if (Helper.saveData(context, kf, out msg))
                    {
                        KryptonMessageBox.Show(msg, "成功编辑客房");
                        if (this.Owner is Main)
                        {
                            (this.Owner as Main).RefreshAndLocateTree(kf);//刷新TreeView,并定位到kf节点。
                        }
                        Close();
                    }
                    else
                    {
                        KryptonMessageBox.Show(msg, "失败");
                    }
                }
            }
        }