//----- #region Founction //----- #region ClientFinancialAccount private void ClientFinancialAccount(string clientID) { Models.DataBaseContext dataBaseContext = null; try { int payment; dataBaseContext = new DataBaseContext(); Models.PermanentClientStatus permanentClientStatus = dataBaseContext.PermanentClientStatuses .Where(current => string.Compare(current.Client_ID, clientID) == 0) .FirstOrDefault(); if (permanentClientStatus == null) { return; } else { clientNameTextBox.Text = permanentClientStatus.Client_Name; if (string.Compare(amountTextBox.Text, "مبلغ") == 0) { amountTextBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes; amountTextBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; payment = int.Parse(permanentClientStatus.Remaining_Amount.Replace("تومان", string.Empty).Trim().Replace(",", string.Empty).Trim()); amountTextBox.Text = $"{payment:#,0} تومان"; } else { payment = int.Parse(permanentClientStatus.Remaining_Amount); payment = 0; amountTextBox.Text = $"تومان {payment}"; } switch (permanentClientStatus.AccountStatus) { case "بدهکار": debtorStatusRadioButton.Checked = true; settlementStatusRadioButton.Checked = false; creditorStatusRadioButton.Checked = false; paymentAmountTextBox.Enabled = true; paymentAmountButton.Enabled = true; break; case "تسویه": debtorStatusRadioButton.Checked = false; settlementStatusRadioButton.Checked = true; creditorStatusRadioButton.Checked = false; paymentAmountTextBox.Enabled = false; paymentAmountButton.Enabled = false; break; case "طلبکار": debtorStatusRadioButton.Checked = false; settlementStatusRadioButton.Checked = false; creditorStatusRadioButton.Checked = true; paymentAmountTextBox.Enabled = false; paymentAmountButton.Enabled = false; break; default: break; } } } catch (System.Exception ex) { Infrastructure.Utility.ExceptionShow(ex); } finally { if (dataBaseContext != null) { dataBaseContext.Dispose(); dataBaseContext = null; } } }
//----- #endregion /PaymentAmountTextBox #region PaymentAmountButton_Click private void PaymentAmountButton_Click(object sender, System.EventArgs e) { SearchClientID = SearchClientID.Replace("-", string.Empty).Trim(); int resultRemaining = Remaining + PaymentAmount_Int; string orderDate, dateSettlement; dateSettlement = $"{Infrastructure.Utility.ShowTime()} - {Infrastructure.Utility.PersianCalendar(System.DateTime.Now)}"; if (resultRemaining < 0) { AccountStatus = "بدهکار"; debtorStatusRadioButton.Checked = true; settlementStatusRadioButton.Checked = false; creditorStatusRadioButton.Checked = false; } else if (resultRemaining == 0) { AccountStatus = "تسویه"; debtorStatusRadioButton.Checked = false; settlementStatusRadioButton.Checked = true; creditorStatusRadioButton.Checked = false; } else if (resultRemaining > 0) { AccountStatus = "طلبکار"; debtorStatusRadioButton.Checked = false; settlementStatusRadioButton.Checked = false; creditorStatusRadioButton.Checked = true; } Models.DataBaseContext dataBaseContext = null; try { dataBaseContext = new DataBaseContext(); Models.PermanentClientStatus permanentClientStatus = dataBaseContext.PermanentClientStatuses .Where(current => string.Compare(current.Client_ID, SearchClientID) == 0) .FirstOrDefault(); if (permanentClientStatus != null) //-----ثبت تسویه مالی مشتری { string paymentAmount_String = permanentClientStatus.Payment_Amount; int paymentAmount_Int = int.Parse(paymentAmount_String.Replace("تومان", string.Empty).Trim().Replace(",", string.Empty).Trim()); PaymentAmount_Int += paymentAmount_Int; orderDate = permanentClientStatus.Order_Date; permanentClientStatus.Payment_Amount = $"{PaymentAmount_Int:#,0} تومان"; permanentClientStatus.Remaining_Amount = $"{resultRemaining:#,0} تومان"; permanentClientStatus.Payment_Type = Payment_Type; permanentClientStatus.AccountStatus = AccountStatus; permanentClientStatus.Client_ID = SearchClientID; permanentClientStatus.Client_Name = clientNameTextBox.Text; permanentClientStatus.Order_Date = orderDate; permanentClientStatus.Date_Settlement = dateSettlement; dataBaseContext.SaveChanges(); } Models.Financial financial = dataBaseContext.Financials .OrderBy(current => current.Order_Date) .FirstOrDefault(); string date = Infrastructure.Utility.PersianCalendar(System.DateTime.Now); orderDate = $"00:00:00 - 0000/00/00"; financial = new Models.Financial() //-----بعد از صورت تعیین وضعیت تسویه حساب در بخش مالی ثبت میگردد! { Client_ID = SearchClientID, Total_Price = "0", Payment_Amount = $"{PaymentAmount_Int:#,0} تومان", Remaining_Amount = $"{resultRemaining:#,0} تومان", Payment_Type = Payment_Type, Order_Date = orderDate, Register_Date = date, Date_Settlement = dateSettlement }; dataBaseContext.Financials.Add(financial); dataBaseContext.SaveChanges(); #region EventLog EventLog_Username = Program.AuthenticatedUser.Username; EventLog_FullName = $"{Program.AuthenticatedUser.First_Name} {Program.AuthenticatedUser.Last_Name}"; EventLog_EventDate = $"{Infrastructure.Utility.PersianCalendar(System.DateTime.Now)}"; EventLog_EventTime = $"{Infrastructure.Utility.ShowTime()}"; EventLog_EventTitle = $"پرداخت بدهی توسط {clientNameTextBox.Text} به مبلغ {PaymentAmount_Int:#,0} تومان. وضعیت حساب {AccountStatus} "; Infrastructure.Utility.EventLog (username: EventLog_Username, fullName: EventLog_FullName, eventDate: EventLog_EventDate, eventTime: EventLog_EventTime, eventTitle: EventLog_EventTitle); #endregion /EventLog if (resultRemaining < 0) { Mbb.Windows.Forms.MessageBox.Show (text: $"{clientNameTextBox.Text} مبلغ {PaymentAmount_Int:#,0} تومان پرداخت و مبلغ \n {resultRemaining:#,0} تومان بدهکار میباشد.", caption: $"بدهکار", icon: Mbb.Windows.Forms.MessageBoxIcon.Information, button: Mbb.Windows.Forms.MessageBoxButtons.Ok); ClientFinancialAccount(SearchClientID); return; } else if (resultRemaining == 0) { Mbb.Windows.Forms.MessageBox.Show (text: $"{clientNameTextBox.Text} مبلغ {PaymentAmount_Int:#,0} تومان پرداخت و حساب تسویه گردید.", caption: "تسویه", icon: Mbb.Windows.Forms.MessageBoxIcon.Success, button: Mbb.Windows.Forms.MessageBoxButtons.Ok); ClientFinancialAccount(SearchClientID); return; } else if (resultRemaining > 0) { Mbb.Windows.Forms.MessageBox.Show (text: $"{clientNameTextBox.Text} مبلغ {PaymentAmount_Int:#,0} تومان پرداخت و مبلغ \n {resultRemaining:#,0} تومان طلبکار میباشد.", caption: "طلبکار", icon: Mbb.Windows.Forms.MessageBoxIcon.Alert, button: Mbb.Windows.Forms.MessageBoxButtons.Ok); ClientFinancialAccount(SearchClientID); return; } } catch (System.Exception ex1) { Infrastructure.Utility.ExceptionShow(ex1); } finally { if (dataBaseContext != null) { dataBaseContext.Dispose(); dataBaseContext = null; } } }