void Accept() { try { if (Tenat_CheckValidate() == false) { return; } MessageBoxResult result = NoteBox.Show("Bạn có muốn thêm hợp đồng này hay không?", "Thông báo", NoteBoxLevel.Question); if (MessageBoxResult.Yes != result) { return; } #region Thêm mới khách hàng Customer_Info _Customer_Info = Get_Customer_Info(); if (_Customer_Info == null) { NoteBox.Show("Lỗi khởi tạo khách cho thuê nhà", "", NoteBoxLevel.Error); return; } decimal _customer_id = -1; // kiểm tra xem thằng tên khách hàng đó và số đt đó đã có trong db chưa // nếu có rồi thì ko insert nữa string _name = txtRenter_Name.Text.ToUpper(); if (_name == "") { _name = CommonData.c_All_Value; } string _phone = txtPhone.Text.ToUpper(); if (_phone == "") { _phone = CommonData.c_All_Value; } List <Customer_Info> _lst = c_Customer_Controller.Customer_Search(_name, _phone); if (_lst.Count > 0) { // có rồi thì sử dụng luôn // update ngược thông tin lại if (c_Customer_Controller.Customer_Update(_lst[0].Customer_Id, _Customer_Info) == false) { NoteBox.Show("Lỗi cập nhật mới khách thuê nhà", "", NoteBoxLevel.Error); return; } _customer_id = _lst[0].Customer_Id; } else { // không có thì thêm mới _customer_id = c_Customer_Controller.Customer_Insert(_Customer_Info); if (_customer_id == -1) { NoteBox.Show("Lỗi thêm mới khách thuê nhà", "", NoteBoxLevel.Error); return; } } #endregion #region Hợp đồng Contract_Info _Contract_Info = Get_Contract_Info(_customer_id); if (_Contract_Info == null) { NoteBox.Show("Lỗi khởi tạo hợp đồng thuê nhà", "", NoteBoxLevel.Error); return; } decimal _contract_id = _Contract_Controller.Contract_Insert(_Contract_Info); if (_contract_id == -1) { NoteBox.Show("Lỗi thêm mới hợp đồng cho thuê nhà", "", NoteBoxLevel.Error); c_Customer_Controller.Customer_Delete(_customer_id); return; } #endregion #region Phí môi giới foreach (Fees_Revenue_Info _Fees_Revenue_Info in c_lst_Fee) { _Fees_Revenue_Info.Contract_Id = _contract_id; _Fees_Revenue_Info.Object_Id = _customer_id; _Fees_Revenue_Info.Object_Type = (decimal)Enum_Contract_Type.Tenant; _Fees_Revenue_Info.Currency = Convert.ToDecimal(cboCurrency.SelectedValue); _Fees_Revenue_Info.Fee = 0; _Fees_Revenue_Info.Debit_Amount = _Fees_Revenue_Info.Fee_Expected - _Fees_Revenue_Info.Fee; _Fees_Revenue_Info.Is_Extend = 0; _Fees_Revenue_Info.Fee_Vnd = 0; if (_Fees_Revenue_Info.Fee != 0) { _Fees_Revenue_Info.Pay_Status = (decimal)Enum_Fee_Status.Payed; } if (_Fees_Revenue_Controller.Fees_Revenue_Insert(_Fees_Revenue_Info) == false) { NoteBox.Show("Lỗi thanh toán", "", NoteBoxLevel.Error); c_Customer_Controller.Customer_Delete(_customer_id); _Contract_Controller.Contract_Delete(_contract_id); _Fees_Revenue_Controller.Fees_Revenue_DeleteByContract(_contract_id); return; } } #endregion c_id_insert = _contract_id; NoteBox.Show("Thêm mới dữ liệu thành công", ""); this.Close(); } catch (Exception ex) { ErrorLog.log.Error(ex.ToString()); } }
void Accept() { try { if (Renter_CheckValidate() == false) { return; } MessageBoxResult result = NoteBox.Show("Bạn có muốn cập nhật hợp đồng này hay không?", "Thông báo", NoteBoxLevel.Question); if (MessageBoxResult.Yes != result) { return; } //Customer_Info _Customer_Info = Get_Customer_Info(); //if (_Customer_Info == null) //{ // NoteBox.Show("Lỗi khởi tạo khách người thuê nhà", "", NoteBoxLevel.Error); // return; //} //if (c_Customer_Controller.Customer_Update(c_Contract_Info.Object_Id, _Customer_Info) == false) //{ // NoteBox.Show("Lỗi cập nhật mới khách thuê nhà", "", NoteBoxLevel.Error); // return; //} Contract_Info _Contract_Info = Get_Contract_Info(); if (_Contract_Info == null) { NoteBox.Show("Lỗi khởi tạo đối tượng hợp đồng thuê nhà", "", NoteBoxLevel.Error); return; } if (_Contract_Controller.Contract_Update(c_Contract_Info.Contract_Id, _Contract_Info, c_Contract_Info) == false) { NoteBox.Show("Lỗi cập nhật mới hợp đồng thuê nhà", "", NoteBoxLevel.Error); return; } // nếu không phải là gia hạn hợp đồng thì mới xóa đi tạo lại if (c_lst_Fee_Extend.Count == 0) { // nếu mà kỳ hạn hợp đồng thay đổi thì xóa đi tạo lại dữ liệu thu chi _Fees_Revenue_Controller.Fees_Revenue_DeleteByContract(c_Contract_Info.Contract_Id); #region Thanh toán bình thường foreach (Fees_Revenue_Info _Fees_Revenue_Info in c_lst_Fee) { _Fees_Revenue_Info.Contract_Id = c_Contract_Info.Contract_Id; _Fees_Revenue_Info.Object_Id = c_Contract_Info.Object_Id; _Fees_Revenue_Info.Object_Type = (decimal)Enum_Contract_Type.Tenant; _Fees_Revenue_Info.Currency = Convert.ToDecimal(cboCurrency.SelectedValue); if (_Fees_Revenue_Info.Fee_Expected != Convert.ToDecimal(txtFee.Text)) { _Fees_Revenue_Info.Fee_Expected = Convert.ToDecimal(txtFee.Text); } _Fees_Revenue_Info.Debit_Amount = _Fees_Revenue_Info.Fee_Expected - _Fees_Revenue_Info.Fee; if (_Contract_Info.Currency == (decimal)Enum_Contract_Currency.USD) { _Fees_Revenue_Info.Fee_Vnd = Convert.ToDecimal(txtFee_Vnd.Text); } else { _Fees_Revenue_Info.Fee_Vnd = 0; } if (_Fees_Revenue_Info.Fee != 0) { _Fees_Revenue_Info.Pay_Status = (decimal)Enum_Fee_Status.Payed; } if (_Fees_Revenue_Controller.Fees_Revenue_Insert(_Fees_Revenue_Info) == false) { NoteBox.Show("Lỗi thanh toán", "", NoteBoxLevel.Error); return; } } #endregion } else { #region Phí gia hạn hợp đồng Extend_Contract_Info _Extend_Contract_Info = new Extend_Contract_Info(); _Extend_Contract_Info.Contract_Id = c_Contract_Info.Contract_Id; _Extend_Contract_Info.Contract_FromDate = ConvertData.ConvertString2Date(dpFromDate_Extend.Text); _Extend_Contract_Info.Contract_ToDate = ConvertData.ConvertString2Date(dpToDate_Extend.Text); _Extend_Contract_Info.Fee = Convert.ToDecimal(txtFee_Extend.Text); _Extend_Contract_Info.FeeOnePay = _Extend_Contract_Info.Fee; _Extend_Contract_Info.Term = 1; _Extend_Contract_Info.Price = 0; bool _is_payed = true; foreach (Fees_Revenue_Info _Fees_Revenue_Info in c_lst_Fee_Extend) { _Fees_Revenue_Info.Contract_Id = c_Contract_Info.Contract_Id; _Fees_Revenue_Info.Object_Id = c_Contract_Info.Object_Id; _Fees_Revenue_Info.Object_Type = (decimal)Enum_Contract_Type.Tenant; _Fees_Revenue_Info.Currency = Convert.ToDecimal(cboCurrency.SelectedValue); if (c_Contract_Info.Status == (decimal)Enum_Contract_Status.Het_Han) { _Fees_Revenue_Info.Is_Extend = c_max_number_extend + 1; } else { _Fees_Revenue_Info.Is_Extend = c_max_number_extend; } _Fees_Revenue_Info.Debit_Amount = _Fees_Revenue_Info.Fee_Expected - _Fees_Revenue_Info.Fee; if (_Fees_Revenue_Info.Fee != 0) { _Fees_Revenue_Info.Pay_Status = (decimal)Enum_Fee_Status.Payed; } else { _is_payed = false; } if (_Contract_Info.Currency == (decimal)Enum_Contract_Currency.USD) { _Fees_Revenue_Info.Fee_Vnd = Convert.ToDecimal(txtFee_Vnd_Extend.Text); } else { _Fees_Revenue_Info.Fee_Vnd = 0; } if (_Fees_Revenue_Controller.Fees_Revenue_Insert(_Fees_Revenue_Info) == false) { NoteBox.Show("Lỗi thanh toán", "", NoteBoxLevel.Error); return; } } // lần đầu chuyển trạng thái hợp đồng if (c_Extend_Contract_Info == null) { _Extend_Contract_Info.Extend_Date = DateTime.Now; _Extend_Contract_Controller.Extend_Contract_Insert(_Extend_Contract_Info); } else { if (_is_payed == false) { _Extend_Contract_Info.Fee_Status = (decimal)Enum_Fee_Status.No_Pay; } else { _Extend_Contract_Info.Fee_Status = (decimal)Enum_Fee_Status.Payed; } // update lại thông tin về hợp đồng _Extend_Contract_Info.Extend_Date = c_Extend_Contract_Info.Extend_Date; _Extend_Contract_Controller.Extend_Contract_Update(_Extend_Contract_Info); } #endregion } c_id_insert = c_Contract_Info.Contract_Id; NoteBox.Show("Cập nhật dữ liệu thành công", ""); this.Close(); } catch (Exception ex) { ErrorLog.log.Error(ex.ToString()); } }