protected void cmdContactSearch_Click(object sender, System.Web.UI.ImageClickEventArgs e) { try { Data.Contacts clsContact = new Data.Contacts(); cboContact.DataTextField = "ContactName"; cboContact.DataValueField = "ContactID"; cboContact.DataSource = clsContact.Guarantors(new ContactColumns() { ContactName = true }, CustomerCode_CreditCardNo: txtSearch.Text, SortField: "ContactName").DefaultView; cboContact.DataBind(); clsContact.CommitAndDispose(); if (cboContact.Items.Count == 0) { cboContact.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); } cboContact.SelectedIndex = 0; cboContact_SelectedIndexChanged(null, null); } catch (Exception ex) { throw ex; } }
private bool SaveRecord() { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails = mContactDetails; clsDetails.ContactCode = txtCustomerName.Text; clsDetails.ContactName = txtCustomerName.Text; clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = txtBusinessName.Text; clsDetails.TelephoneNo = txtTelNo.Text; // Jul 22, 2014 clsDetails.Debit = mContactDetails.Debit; clsDetails.Credit = mContactDetails.Credit; clsDetails.IsCreditAllowed = chkIsCreditAllowed.Checked; clsDetails.CreditLimit = decimal.Parse(txtCreditLimit.Text); clsDetails.Terms = int.Parse(txtTerms.Text); clsDetails.ModeOfTerms = (ModeOfTerms)Enum.Parse(typeof(ModeOfTerms), cboTerms.SelectedItem.ToString()); Data.Contacts clsContact = new Data.Contacts(); if (mContactDetails.ContactID == 0) { if (mstCaption == "Please enter customer name for deposit.") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_DEPOSIT; } else if (mstCaption == "Quickly add new customer") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_QUICKLY_ADDED_FROM_FE; } else if (mContactDetails.ContactID == 0) // means not edit { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_CLIENT; } clsDetails.ContactGroupID = Constants.CONTACT_GROUP_CUSTOMER; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; clsDetails.ContactID = clsContact.Insert(clsDetails); } else { clsDetails.ContactCode = mContactDetails.ContactCode; clsDetails.ContactGroupID = mContactDetails.ContactGroupID; clsDetails.ContactGroupName = mContactDetails.ContactGroupName; clsContact.Update(clsDetails); } clsContact.CommitAndDispose(); mContactDetails = clsDetails; return(true); }
protected void cboSupplier_SelectedIndexChanged(object sender, System.EventArgs e) { Data.Contacts clsContact = new Data.Contacts(); Data.ContactDetails clsDetails = clsContact.Details(Convert.ToInt64(cboSupplier.SelectedItem.Value)); clsContact.CommitAndDispose(); txtSupplierContact.Text = clsDetails.ContactName; txtSupplierTelephoneNo.Text = clsDetails.TelephoneNo; lblTerms.Text = clsDetails.Terms.ToString("##0"); lblModeOfterms.Text = clsDetails.ModeOfTerms.ToString("G"); txtSupplierAddress.Text = clsDetails.Address; }
private void LoadOptions() { Data.Contacts clsContact = new Data.Contacts(); cboContact.DataTextField = "ContactName"; cboContact.DataValueField = "ContactID"; cboContact.DataSource = clsContact.Guarantors(new ContactColumns() { ContactName = true }, SortField: "ContactName").DefaultView; cboContact.DataBind(); cboContact.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); cboContact.SelectedIndex = 0; Data.CardType clsCardType = new CardType(clsContact.Connection, clsContact.Transaction); cboCardType.DataTextField = "CardTypeCode"; cboCardType.DataValueField = "CardTypeID"; cboCardType.DataSource = clsCardType.ListAsDataTable(new CardTypeDetails() { CreditCardType = CreditCardTypes.Internal, CheckGuarantor = true, WithGuarantor = true }).DefaultView; cboCardType.DataBind(); cboCardType.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); cboCardType.SelectedIndex = 0; clsContact.CommitAndDispose(); Int64 iGuarantorID = 0; if (Request.QueryString["id"] != null) { try { iGuarantorID = Int64.TryParse(Common.Decrypt(Request.QueryString["id"].ToString(), Session.SessionID), out iGuarantorID) ? iGuarantorID : 0; } catch { } } cboContact.ToolTip = iGuarantorID.ToString(); if (iGuarantorID == 0) { divGuarantorInfo.Visible = false; } else { cboContact.SelectedIndex = cboContact.Items.IndexOf(cboContact.Items.FindByValue(iGuarantorID.ToString())); cboContact_SelectedIndexChanged(null, null); } }
private void LoadOptions() { Data.Contacts clsContact = new Data.Contacts(); cboContact.DataTextField = "ContactName"; cboContact.DataValueField = "ContactID"; cboContact.DataSource = clsContact.CustomersWithCredits(new ContactColumns() { ContactName = true }, CheckCustomersGuarantor: true, WithGuarantorOnly: true, SortField: "ContactName").DefaultView; cboContact.DataBind(); cboContact.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); cboContact.SelectedIndex = 0; cboGuarantor.DataTextField = "ContactName"; cboGuarantor.DataValueField = "ContactID"; cboGuarantor.DataSource = clsContact.Guarantors(new ContactColumns() { ContactName = true }, SortField: "ContactName").DefaultView; cboGuarantor.DataBind(); cboGuarantor.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); cboGuarantor.SelectedIndex = 0; clsContact.CommitAndDispose(); Int64 iContactID = 0; if (Request.QueryString["id"] != null) { try { iContactID = Int64.TryParse(Common.Decrypt(Request.QueryString["id"].ToString(), Session.SessionID), out iContactID) ? iContactID : 0; } catch { } } cboContact.ToolTip = iContactID.ToString(); if (iContactID == 0) { divContactInfo.Visible = false; } else { cboContact.SelectedIndex = cboContact.Items.IndexOf(cboContact.Items.FindByValue(iContactID.ToString())); cboContact_SelectedIndexChanged(null, null); } }
private void LoadContact() { Data.ContactColumns clsContactColumns = new Data.ContactColumns(); clsContactColumns.ContactName = true; Data.ContactColumns clsSearchColumns = new Data.ContactColumns(); clsContactColumns.ContactName = true; clsContactColumns.ContactCode = true; Data.Contacts clsContact = new Data.Contacts(); cboSupplier.DataTextField = Data.ContactColumnNames.ContactName; cboSupplier.DataValueField = Data.ContactColumnNames.ContactID; cboSupplier.DataSource = clsContact.Suppliers(clsContactColumns, 0, System.Data.SqlClient.SortOrder.Ascending, clsSearchColumns, txtSupplier.Text, 100, false, Data.ContactColumnNames.ContactName, System.Data.SqlClient.SortOrder.Ascending).DefaultView; cboSupplier.DataBind(); clsContact.CommitAndDispose(); cboSupplier.Items.Add(new ListItem("All Suppliers", "0")); cboSupplier.SelectedIndex = cboSupplier.Items.Count - 1; }
protected void cboPayee_SelectedIndexChanged(object sender, System.EventArgs e) { long payeeid = Convert.ToInt64(cboPayee.SelectedItem.Value); Data.Contacts clsContact = new Data.Contacts(); Data.ContactDetails clsDetails = clsContact.Details(payeeid); clsContact.CommitAndDispose(); txtPayeeName.Text = clsDetails.ContactName; DataClass clsDataClass = new DataClass(); PO clsPO = new PO(); lstPO.DataSource = clsDataClass.DataReaderToDataTable(clsPO.ListForPayment(payeeid, "POID", SortOption.Ascending)).DefaultView; lstPO.DataBind(); clsPO.CommitAndDispose(); Label lblAmount; Label lblPaidAmount; Label lblUnpaidAmount; decimal decAmount = 0; decimal decPaidAmount = 0; decimal decUnpaidAmount = 0; foreach (DataListItem item in lstPO.Items) { lblAmount = (Label)item.FindControl("lblAmount"); lblPaidAmount = (Label)item.FindControl("lblPaidAmount"); lblUnpaidAmount = (Label)item.FindControl("lblUnpaidAmount"); decAmount += Convert.ToDecimal(lblAmount.Text); decPaidAmount += Convert.ToDecimal(lblPaidAmount.Text); decUnpaidAmount += Convert.ToDecimal(lblUnpaidAmount.Text); } lblPOTotalAmount.Text = decAmount.ToString("#,##0.#0"); lblPOTotalPaidAmount.Text = decPaidAmount.ToString("#,##0.#0"); lblPOTotalUnpaidAmount.Text = decUnpaidAmount.ToString("#,##0.#0"); }
protected void cmdContactSearch_Click(object sender, System.Web.UI.ImageClickEventArgs e) { try { Data.Contacts clsContact = new Data.Contacts(); cboContact.DataTextField = "ContactName"; cboContact.DataValueField = "ContactID"; cboContact.DataSource = clsContact.CustomersWithCredits(new ContactColumns() { ContactName = true }, CustomerCode_CreditCardNo: txtSearch.Text, CheckCustomersGuarantor: true, WithGuarantorOnly: true, SortField: "ContactName").DefaultView; cboContact.DataBind(); clsContact.CommitAndDispose(); if (cboContact.Items.Count == 0) cboContact.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, Constants.ZERO_STRING)); cboContact.SelectedIndex = 0; cboContact_SelectedIndexChanged(null, null); } catch (Exception ex) { throw ex; } }
private bool SaveRecord() { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails.ContactCode = txtCustomerName.Text; clsDetails.ContactName = txtCustomerName.Text; clsDetails.ContactGroupID = Constants.CONTACT_GROUP_CUSTOMER; clsDetails.ModeOfTerms = 0; clsDetails.Terms = 0; clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = txtBusinessName.Text; clsDetails.TelephoneNo = txtTelNo.Text; if (mstCaption == "Please enter customer name for deposit.") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_DEPOSIT; } else if (mstCaption == "Quickly add new customer") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_QUICKLY_ADDED_FROM_FE; } else { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_CLIENT; } clsDetails.Debit = 0; clsDetails.Credit = 0; clsDetails.IsCreditAllowed = true; clsDetails.CreditLimit = 0; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; Data.Contacts clsContact = new Data.Contacts(); clsDetails.ContactID = clsContact.Insert(clsDetails); clsContact.CommitAndDispose(); mContactDetails = clsDetails; return(true); }
private void LoadData() { try { DateTime dteRetValue = DateTime.MinValue; Data.CreditPaymentCashDetails clsSearchKeys = new Data.CreditPaymentCashDetails(); clsSearchKeys.BranchDetails = new Data.BranchDetails(); clsSearchKeys.TerminalNo = ""; clsSearchKeys.PaymentDateFrom = DateTime.TryParse(txtTrxStartDate.Text + " 00:00:00", out dteRetValue) ? dteRetValue : DateTime.Now.AddDays(-60); clsSearchKeys.PaymentDateTo = DateTime.TryParse(txtTrxEndDate.Text + " 23:59:59", out dteRetValue) ? dteRetValue : DateTime.Now; clsSearchKeys.CreditType = CreditType.Both; clsSearchKeys.CreditCardTypeID = 0; clsSearchKeys.ContactID = mclsCustomerDetails.ContactID; Data.Contacts clsContacts = new Data.Contacts(); System.Data.DataTable dt = clsContacts.CreditPaymentCashAsDataTable(clsSearchKeys, "trx.CreatedOn"); clsContacts.CommitAndDispose(); System.Data.DataView dv = dt.DefaultView; dv.Sort = "TransactionDate"; dt = dv.ToTable(); dgvItems.MultiSelect = false; dgvItems.AutoGenerateColumns = true; dgvItems.AutoSize = false; dgvItems.DataSource = dt.TableName; dgvItems.DataSource = dt; foreach (DataGridViewTextBoxColumn dc in dgvItems.Columns) { dc.Visible = false; } dgvItems.Columns["TransactionNo"].Visible = true; dgvItems.Columns["TransactionDate"].Visible = true; dgvItems.Columns["CreditReason"].Visible = true; dgvItems.Columns["Amount"].Visible = true; dgvItems.Columns["TransactionNo"].Width = 150; dgvItems.Columns["TransactionDate"].Width = 150; if (dt.Rows.Count < 16) dgvItems.Columns["CreditReason"].Width = 350; else dgvItems.Columns["CreditReason"].Width = 320; int iWidth = (dgvItems.Width - dgvItems.Columns["TransactionNo"].Width - dgvItems.Columns["TransactionDate"].Width - dgvItems.Columns["CreditReason"].Width) / 1; if (dt.Rows.Count >= 16) iWidth = iWidth - 20; dgvItems.Columns["Amount"].Width = iWidth; dgvItems.Columns["TransactionNo"].HeaderText = "Transaction No"; dgvItems.Columns["TransactionDate"].HeaderText = "Transaction Date"; dgvItems.Columns["CreditReason"].HeaderText = "Description"; dgvItems.Columns["Amount"].HeaderText = "Amt. Paid"; dgvItems.Columns["Amount"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; dgvItems.Columns["Amount"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dgvItems.Columns["TransactionDate"].DefaultCellStyle.Format = "yyyy-MM-dd hh:mm tt"; dgvItems.Columns["Amount"].DefaultCellStyle.Format = "#,##0.#0"; dgvItems.ReadOnly = true; dgvItems.Select(); decimal decTotalPayable = 0; foreach (System.Data.DataRow dr in dt.Rows) { decimal decTemp = decimal.TryParse(dr["Amount"].ToString(), out decTemp) ? decTemp : 0; decTotalPayable += decTemp; } lblTotal.Text = decTotalPayable.ToString("#,##0.#0"); grpBox1.Text = "Payments from: " + clsSearchKeys.PaymentDateFrom.ToString("MMM dd, yyyy") + " to " + clsSearchKeys.PaymentDateTo.ToString("MMM dd, yyyy"); txtTrxStartDate.SelectAll(); txtTrxStartDate.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message,"RetailPlus",MessageBoxButtons.OK,MessageBoxIcon.Error); } }
private void RewardCardReactivate() { if (mboIsInTransaction) { MessageBox.Show("Sorry you cannot reactivate a Reward Card while there is an ongoing transaction. Please finish the transaction first.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.RewardCardChange, "LOST Reward Card Reactivation"); if (loginresult == DialogResult.OK) { try { DialogResult result; Data.ContactDetails clsContactDetails; ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Please select customer for reward card re-activation."; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } if (clsContactDetails.ContactID == Constants.ZERO || clsContactDetails.ContactID == Constants.C_RETAILPLUS_CUSTOMERID) { return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Reactivating lost reward card..."); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(clsContactDetails.ContactID); clsContact.CommitAndDispose(); if (clsContactDetails.RewardDetails.RewardCardNo == string.Empty || clsContactDetails.RewardDetails.RewardCardNo == null) { clsEvent.AddEventLn("Cancelled!"); clsEvent.AddEventLn(clsContactDetails.ContactName + " has no valid Reward Card yet. "); MessageBox.Show(clsContactDetails.ContactName + " has no valid Reward Card yet. Please select another customer.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Reactivating reward card #: " + clsContactDetails.RewardDetails.RewardCardNo + " of " + clsContactDetails.ContactName + "."); string strOldRewardCardNo = clsContactDetails.RewardDetails.RewardCardNo; ContactRewardWnd clsContactRewardWnd = new ContactRewardWnd(); clsContactRewardWnd.TerminalDetails = mclsTerminalDetails; clsContactRewardWnd.Caption = "OVERRIDE: Reward Card Reactivation / Change Expiry"; clsContactRewardWnd.ContactDetails = clsContactDetails; clsContactRewardWnd.RewardCardStatus = RewardCardStatus.Reactivated_Lost; clsContactRewardWnd.ShowDialog(this); result = clsContactRewardWnd.Result; clsContactDetails = clsContactRewardWnd.ContactDetails; clsContactRewardWnd.Close(); clsContactRewardWnd.Dispose(); if (result == DialogResult.OK) { MessageBox.Show("Reward Card No: " + clsContactDetails.RewardDetails.RewardCardNo + " has been reactivated / changed expiry date / changed card no...", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); clsEvent.AddEventLn("Done!", true); clsEvent.AddEventLn("Reward Card No: " + clsContactDetails.RewardDetails.RewardCardNo + " has been reactivated / changed expiry date / changed card no...", true); this.LoadOptions(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Activating reward card."); } Cursor.Current = Cursors.Default; } }
private void SetDataSource(ReportDocument Report) { DateTime dteRetValue = Constants.C_DATE_MIN_VALUE; ReportDataset rptds = new ReportDataset(); Data.Contacts clsContacts; System.Data.DataTable dt; switch (cboReportType.SelectedItem.Value) { case ReportTypes.CREDITS_Purchases: #region purchases CreditPaymentDetails clsCreditPaymentDetails = new CreditPaymentDetails(); clsCreditPaymentDetails.BranchDetails = new BranchDetails() { BranchID = Int32.Parse(cboBranch.SelectedItem.Value) }; clsCreditPaymentDetails.TerminalNo = txtTerminalNo.Text.Trim(); clsCreditPaymentDetails.PurchaseDateFrom = DateTime.TryParse(txtTrxStartDate.Text + " 00:00:00", out dteRetValue) ? dteRetValue : Constants.C_DATE_MIN_VALUE; clsCreditPaymentDetails.PurchaseDateTo = DateTime.TryParse(txtTrxEndDate.Text + " 23:59:59", out dteRetValue) ? dteRetValue : Constants.C_DATE_MIN_VALUE; clsCreditPaymentDetails.CreditType = CreditType.Individual; clsCreditPaymentDetails.CreditCardTypeID = Int16.Parse(cboCreditType.SelectedItem.Value); clsCreditPaymentDetails.CreditorLastnameFrom = txtLastNameFrom.Text; clsCreditPaymentDetails.CreditorLastnameTo = txtLastNameTo.Text; clsContacts = new Data.Contacts(); dt = clsContacts.CreditPurchasesAsDataTable(clsCreditPaymentDetails, "cci.CreditCardNo"); clsContacts.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.ContactCreditPurchases.NewRow(); foreach (DataColumn dc in rptds.ContactCreditPurchases.Columns) { drNew[dc] = "" + dr[dc.ColumnName]; } rptds.ContactCreditPurchases.Rows.Add(drNew); } #endregion break; case ReportTypes.CREDITS_Payments: #region payments CreditPaymentCashDetails clsCreditPaymentCashDetails = new CreditPaymentCashDetails(); clsCreditPaymentCashDetails.BranchDetails = new BranchDetails() { BranchID = Int32.Parse(cboBranch.SelectedItem.Value) }; clsCreditPaymentCashDetails.TerminalNo = txtTerminalNo.Text.Trim(); clsCreditPaymentCashDetails.PaymentDateFrom = DateTime.TryParse(txtTrxStartDate.Text + " 00:00:00", out dteRetValue) ? dteRetValue : Constants.C_DATE_MIN_VALUE; clsCreditPaymentCashDetails.PaymentDateTo = DateTime.TryParse(txtTrxEndDate.Text + " 23:59:59", out dteRetValue) ? dteRetValue : Constants.C_DATE_MIN_VALUE; clsCreditPaymentCashDetails.CreditType = CreditType.Individual; clsCreditPaymentCashDetails.CreditCardTypeID = Int16.Parse(cboCreditType.SelectedItem.Value); clsCreditPaymentCashDetails.CreditorLastnameFrom = txtLastNameFrom.Text; clsCreditPaymentCashDetails.CreditorLastnameTo = txtLastNameTo.Text; clsContacts = new Data.Contacts(); dt = clsContacts.CreditPaymentCashDetailedAsDataTable(clsCreditPaymentCashDetails, "cci.CreditCardNo"); clsContacts.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.ContactCreditPaymentCash.NewRow(); foreach (DataColumn dc in rptds.ContactCreditPaymentCash.Columns) { drNew[dc] = "" + dr[dc.ColumnName]; } rptds.ContactCreditPaymentCash.Rows.Add(drNew); } #endregion break; case ReportTypes.CREDITS_CreditorsLedgerSummary: #region ledger summary Data.Billing clsBilling = new Data.Billing(); dt = clsBilling.ListAsDataTable(GuarantorID: 0, CreditCardTypeID: Int16.Parse(cboCreditType.SelectedItem.Value), CreditType: CreditType.Individual, BillingDate: DateTime.Parse(cboBillingDate.SelectedItem.Value), CheckIsBillPrinted: false, SortField: "GUA.ContactName, CUS.ContactName", SortOrder: System.Data.SqlClient.SortOrder.Descending); clsBilling.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { System.Data.DataRow drNew = rptds.CreditBillHeader.NewRow(); foreach (System.Data.DataColumn dc in rptds.CreditBillHeader.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.CreditBillHeader.Rows.Add(drNew); } #endregion break; case ReportTypes.CustomerCreditSummarizedStatistics: #region CustomerCreditSummarizedStatistics Data.ContactCreditCardInfos clsContactCreditCardInfos = new Data.ContactCreditCardInfos(); dt = clsContactCreditCardInfos.IHCreditCardSummarizedStatistics(false); clsContactCreditCardInfos.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.CCISummary.NewRow(); foreach (DataColumn dc in rptds.CCISummary.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.CCISummary.Rows.Add(drNew); } break; #endregion default: break; } Report.SetDataSource(rptds); SetParameters(Report); }
private bool SaveRecord() { if (MessageBox.Show("Please validate the customer information details before proceeding. Are you sure you want to continue?", "RetailPlus ™", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return false; } else { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails = mContactDetails; clsDetails.ContactCode = txtContactCode.Text; clsDetails.ContactName = txtLastName.Text + ", " + txtFirstName.Text + (string.IsNullOrEmpty(txtMiddleName.Text) ? "" : "," + txtMiddleName.Text); clsDetails.ContactGroupID = Convert.ToInt32(Constants.CONTACT_GROUP_CUSTOMER); clsDetails.ModeOfTerms = (ModeOfTerms)Enum.Parse(typeof(ModeOfTerms), cboTerms.SelectedItem.ToString()); clsDetails.Terms = int.Parse(txtTerms.Text); clsDetails.TINNo = txtTelephoneNo.Tag == null ? "" : txtTelephoneNo.Tag.ToString(); clsDetails.LTONo = txtRemarks.Tag == null ? "" : txtRemarks.Tag.ToString(); clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = ""; clsDetails.TelephoneNo = txtTelephoneNo.Text; clsDetails.Remarks = txtRemarks.Text; clsDetails.Debit = Convert.ToDecimal("0"); clsDetails.Credit = Convert.ToDecimal(txtCredit.Text); clsDetails.IsCreditAllowed = chkIsCreditAllowed.Checked; clsDetails.CreditLimit = Convert.ToDecimal(txtCreditLimit.Text); Data.ContactAddOnDetails clsAddOnDetails = new Data.ContactAddOnDetails(); clsAddOnDetails.ContactID = clsDetails.ContactID; clsAddOnDetails.Salutation = cboSalutation.SelectedValue.ToString(); clsAddOnDetails.FirstName = txtFirstName.Text; clsAddOnDetails.MiddleName = txtMiddleName.Text; clsAddOnDetails.LastName = txtLastName.Text; clsAddOnDetails.SpouseName = ""; DateTime dteBirthDate = Constants.C_DATE_MIN_VALUE; dteBirthDate = DateTime.TryParse(txtBirthDate.Text, out dteBirthDate) ? dteBirthDate : Constants.C_DATE_MIN_VALUE; clsAddOnDetails.BirthDate = dteBirthDate; clsAddOnDetails.SpouseBirthDate = Constants.C_DATE_MIN_VALUE; clsAddOnDetails.AnniversaryDate = Constants.C_DATE_MIN_VALUE; clsAddOnDetails.Address1 = txtAddress.Text; clsAddOnDetails.Address2 = string.Empty; clsAddOnDetails.City = string.Empty; clsAddOnDetails.State = string.Empty; clsAddOnDetails.ZipCode = string.Empty; clsAddOnDetails.CountryID = Constants.C_DEF_COUNTRY_ID; clsAddOnDetails.CountryCode = Constants.C_DEF_COUNTRY_CODE; clsAddOnDetails.BusinessPhoneNo = txtTelephoneNo.Text; clsAddOnDetails.HomePhoneNo = string.Empty; clsAddOnDetails.MobileNo = txtMobileNo.Text; clsAddOnDetails.FaxNo = string.Empty; clsAddOnDetails.EmailAddress = string.Empty; clsAddOnDetails.Sex = (Sex) Enum.Parse(typeof(Sex), cboSex.SelectedValue.ToString()); clsAddOnDetails.AttendingPhysician = txtAttendingPhysician.Text; clsDetails.AdditionalDetails = clsAddOnDetails; Data.Contacts clsContact = new Data.Contacts(); if (mContactDetails.ContactID == 0) { clsDetails.ContactGroupID = Constants.CONTACT_GROUP_CUSTOMER; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; clsDetails.ContactID = clsContact.Insert(clsDetails); } else { clsDetails.PositionID = mContactDetails.PositionID; clsDetails.DepartmentID = mContactDetails.DepartmentID; clsDetails.ContactGroupID = mContactDetails.ContactGroupID; clsDetails.ContactGroupName = mContactDetails.ContactGroupName; clsContact.Update(clsDetails); } clsContact.CommitAndDispose(); mContactDetails = clsDetails; return true; } }
private bool SaveRecord() { if (MessageBox.Show("Please validate the customer information details before proceeding. Are you sure you want to continue?", "RetailPlus ™", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return false; } else { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails = mContactDetails; clsDetails.ContactCode = txtContactCode.Text; clsDetails.ContactName = txtCustomerName.Text; clsDetails.TINNo = txtTINNo.Text; clsDetails.LTONo = txtLTONo.Text; clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = txtBusinessName.Text; clsDetails.TelephoneNo = txtTelNo.Text; // Jul 22, 2014 clsDetails.Debit = mContactDetails.Debit; clsDetails.Credit = mContactDetails.Credit; clsDetails.IsCreditAllowed = chkIsCreditAllowed.Checked; clsDetails.CreditLimit = decimal.Parse(txtCreditLimit.Text); clsDetails.Terms = int.Parse(txtTerms.Text); clsDetails.ModeOfTerms = (ModeOfTerms)Enum.Parse(typeof(ModeOfTerms), cboTerms.SelectedItem.ToString()); Data.Contacts clsContact = new Data.Contacts(); Data.ContactGroups clsContactGroups = new Data.ContactGroups(clsContact.Connection, clsContact.Transaction); clsDetails.ContactGroupID = clsContactGroups.DetailsByName(cboGroup.SelectedItem.ToString()).ContactGroupID; if (mContactDetails.ContactID == 0) { //if (mstCaption == "Please enter customer name for deposit.") //{ clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_DEPOSIT; } //else if (mstCaption == "Quickly add new customer") //{ clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_QUICKLY_ADDED_FROM_FE; } //else if (mContactDetails.ContactID == 0) // means not edit //{ clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_CLIENT; } clsDetails.Remarks = txtRemarks.Text; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; clsDetails.ContactID = clsContact.Insert(clsDetails); } else { clsDetails.PositionID = mContactDetails.PositionID; clsDetails.DepartmentID = mContactDetails.DepartmentID; clsDetails.ContactGroupID = mContactDetails.ContactGroupID; clsDetails.ContactGroupName = mContactDetails.ContactGroupName; clsContact.Update(clsDetails); } clsContact.CommitAndDispose(); mContactDetails = clsDetails; return true; } }
private void LoadContact(AceSoft.RetailPlus.Data.ContactGroupCategory enumContactGroupCategory, Data.ContactDetails pContactDetails, bool isFromCreditPayment = false) { try { if ((mclsTerminalDetails.ShowCustomerSelection || pContactDetails.ContactID != 0) && (enumContactGroupCategory == Data.ContactGroupCategory.CUSTOMER || enumContactGroupCategory == Data.ContactGroupCategory.AGENT)) mclsContactDetails = pContactDetails; else { string strContactCardNo = txtBarCode.Text.Replace(Constants.SWIPE_REWARD_CARD, "").Trim(); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; // check using reward card info mclsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo); if (mclsContactDetails.ContactID != 0) mboRewardCardSwiped = true; else if (mclsContactDetails.ContactID == 0) { // check using credit card info mclsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 7) mclsContactDetails = clsContact.DetailsByCreditCardNo("888880" + strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 7) mclsContactDetails = clsContact.DetailsByCreditCardNo("800000" + strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode + strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.CustomerCode_Country_Code + BarcodeHelper.CustomerCode_ManufacturerCode + strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode_Manual + strContactCardNo); if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.CreditCard_Country_Code + BarcodeHelper.CreditCard_ManufacturerCode + strContactCardNo); if (mclsContactDetails.ContactID != 0) mboCreditCardSwiped = true; else if (mclsContactDetails.ContactID == 0) { strContactCardNo = strContactCardNo.Remove(strContactCardNo.Length - 1); // check using reward card info mclsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo); if (mclsContactDetails.ContactID != 0) mboRewardCardSwiped = true; else if (mclsContactDetails.ContactID == 0) { // check using credit card info mclsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo); if (mclsContactDetails.ContactID != 0) mboCreditCardSwiped = true; else if (mclsContactDetails.ContactID == 0) { clsContact.CommitAndDispose(); SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER); return;} } } } clsContact.CommitAndDispose(); } // Sep 24, 2011 Lemuel E. Aceron // Added order slip wherein all punch items will not change sales and inventory // a customer named ORDER SLIP should be defined in contacts if (mclsContactDetails.ContactName.Trim().ToUpper() == Constants.C_RETAILPLUS_ORDER_SLIP_CUSTOMER && mboIsInTransaction && enumContactGroupCategory == AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER) { MessageBox.Show("Sorry you cannot select ORDER SLIP customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); clsEvent.AddEventLn("Cancelled!"); return; } switch (enumContactGroupCategory) { case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER: // if not from CreditPayment-F3, do not overwrite if (!isFromCreditPayment) { lblCustomer.Tag = mclsContactDetails.ContactID; lblCustomer.Text = mclsContactDetails.ContactName; } if (!mclsTerminalDetails.ShowCustomerSelection) { txtBarCode.Text = string.Empty; txtBarCode.Focus(); } clsEvent.AddEventLn("Done! Selected customer: " + lblCustomer.Text); if (mboIsInTransaction) { Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; if (mboRewardCardSwiped) { mclsSalesTransactionDetails.RewardsCustomerID = mclsContactDetails.ContactID; mclsSalesTransactionDetails.RewardsCustomerName = mclsContactDetails.ContactName; clsSalesTransactions.UpdateRewardsContactUpdate(mclsTerminalDetails.BranchDetails.BranchID, mclsTerminalDetails.TerminalNo, mclsSalesTransactionDetails.TransactionID, mclsContactDetails.ContactID, mclsContactDetails.ContactName); } clsSalesTransactions.UpdateContact(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, mclsContactDetails); clsSalesTransactions.CommitAndDispose(); } if (mboRewardCardSwiped) { mclsSalesTransactionDetails.RewardsCustomerID = mclsContactDetails.ContactID; mclsSalesTransactionDetails.RewardsCustomerName = mclsContactDetails.ContactName; mclsSalesTransactionDetails.RewardCardActive = mclsContactDetails.RewardDetails.RewardActive; mclsSalesTransactionDetails.RewardCardNo = mclsContactDetails.RewardDetails.RewardCardNo; mclsSalesTransactionDetails.RewardPreviousPoints = mclsContactDetails.RewardDetails.RewardPoints; mclsSalesTransactionDetails.RewardCurrentPoints = mclsSalesTransactionDetails.RewardPreviousPoints; // no need to check if the current customer for the transaction is the default customer //if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID) //{ mclsSalesTransactionDetails.CustomerID = mclsContactDetails.ContactID; mclsSalesTransactionDetails.CustomerName = mclsContactDetails.ContactName; mclsSalesTransactionDetails.CustomerDetails = mclsContactDetails; //} } else { mclsSalesTransactionDetails.CustomerID = mclsContactDetails.ContactID; mclsSalesTransactionDetails.CustomerName = mclsContactDetails.ContactName; mclsSalesTransactionDetails.CustomerDetails = mclsContactDetails; } break; case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT: lblAgent.Tag = pContactDetails.ContactID; lblAgent.Text = pContactDetails.ContactName; lblAgentPositionDepartment.Text = pContactDetails.PositionName; lblAgentPositionDepartment.Tag = pContactDetails.DepartmentName; clsEvent.AddEventLn("Done! Selected agent: " + lblAgent.Text); if (mboIsInTransaction) { Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; clsSalesTransactions.UpdateAgent(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, pContactDetails); clsSalesTransactions.CommitAndDispose(); } mclsSalesTransactionDetails.AgentID = pContactDetails.ContactID; mclsSalesTransactionDetails.AgentName = pContactDetails.ContactName; break; } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Loading contact."); } }
private void CreditCardDeclareAsSuspended() { if (mboIsInTransaction) { MessageBox.Show("Sorry you cannot deaclare a Credit Card as lost while there is an ongoing transaction. Please finish the transaction first.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CreditCardChange, "Credit Card Declaration as Lost"); if (loginresult == DialogResult.OK) { try { DialogResult result; Data.ContactDetails clsContactDetails; ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Please select customer for credit card suspension."; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } if (clsContactDetails.ContactID == Constants.ZERO || clsContactDetails.ContactID == Constants.C_RETAILPLUS_CUSTOMERID) { return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Declaring credit card as suspended."); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(clsContactDetails.ContactID); Data.ContactDetails clsGuarantor = clsContact.Details(clsContactDetails.CreditDetails.GuarantorID); clsContact.CommitAndDispose(); if (clsContactDetails.CreditDetails.CreditCardNo == string.Empty || clsContactDetails.CreditDetails.CreditCardNo == null) { clsEvent.AddEventLn("Cancelled!"); clsEvent.AddEventLn(clsContactDetails.ContactName + " has no valid Credit Card yet. "); MessageBox.Show(clsContactDetails.ContactName + " has no valid Credit Card yet. Please select another customer.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ContactCreditWnd clsContactCreditWnd = new ContactCreditWnd(); clsContactCreditWnd.Header = "Credit Card Suspension"; clsContactCreditWnd.CardTypeDetails = clsContactDetails.CreditDetails.CardTypeDetails; clsContactCreditWnd.Guarantor = clsGuarantor; clsContactCreditWnd.ContactDetails = clsContactDetails; clsContactCreditWnd.CreditCardStatus = CreditCardStatus.Suspended; clsContactCreditWnd.TerminalDetails = mclsTerminalDetails; clsContactCreditWnd.ShowDialog(this); result = clsContactCreditWnd.Result; clsContactDetails = clsContactCreditWnd.ContactDetails; clsContactCreditWnd.Close(); clsContactCreditWnd.Dispose(); if (result == DialogResult.OK) { MessageBox.Show("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " has been SUSPENDED.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); clsEvent.AddEventLn("Done!", true); clsEvent.AddEventLn("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " has been SUSPENDED.", true); this.LoadOptions(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Declaring internal credit card as lost."); } Cursor.Current = Cursors.Default; } }
private void PrintSOA() { Cursor.Current = Cursors.WaitCursor; try { CRSReports.SOA rpt = new CRSReports.SOA(); AceSoft.RetailPlus.Client.ReportDataset rptds = new AceSoft.RetailPlus.Client.ReportDataset(); System.Data.DataRow drNew; /****************************report logo *****************************/ try { System.IO.FileStream fs = new System.IO.FileStream(Application.StartupPath + "/images/ReportLogo.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.FileInfo fi = new System.IO.FileInfo(Application.StartupPath + "/images/ReportLogo.jpg"); byte[] propimg = new byte[fi.Length]; fs.Read(propimg, 0, Convert.ToInt32(fs.Length)); fs.Close(); drNew = rptds.CompanyLogo.NewRow(); drNew["Picture"] = propimg; rptds.CompanyLogo.Rows.Add(drNew); } catch { } /****************************datatable*****************************/ Data.Contacts clsContacts = new Data.Contacts(); System.Data.DataTable dt = clsContacts.ListAsDataTable(ContactID: mclsCustomerDetails.ContactID); clsContacts.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { drNew = rptds.Customer.NewRow(); foreach (System.Data.DataColumn dc in rptds.Customer.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Customer.Rows.Add(drNew); } dt = (System.Data.DataTable) dgvItems.DataSource; foreach (System.Data.DataRow dr in dt.Rows) { drNew = rptds.CustomerCredit.NewRow(); foreach (System.Data.DataColumn dc in rptds.CustomerCredit.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.CustomerCredit.Rows.Add(drNew); } rpt.SetDataSource(rptds); CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition paramField; CrystalDecisions.Shared.ParameterValues currentValues; CrystalDecisions.Shared.ParameterDiscreteValue discreteParam; paramField = rpt.DataDefinition.ParameterFields["CompanyName"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.CompanyName; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["PrintedBy"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CashierName; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["PackedBy"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CashierName; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CompanyAddress"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.Address1 + ((!string.IsNullOrEmpty(CompanyDetails.Address2) ? Environment.NewLine + CompanyDetails.Address2 + ", " : " ")) + CompanyDetails.City + " " + CompanyDetails.Country + ((!string.IsNullOrEmpty(CompanyDetails.OfficePhone) ? Environment.NewLine + "Tel #: " + CompanyDetails.OfficePhone + " " : " ")) + ((!string.IsNullOrEmpty(CompanyDetails.OfficePhone) ? Environment.NewLine + "FaxPhone #: " + CompanyDetails.FaxPhone + " " : " ")); currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["BIRInfo"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = ""; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); //foreach (CrystalDecisions.CrystalReports.Engine.ReportObject objPic in rpt.Section1.ReportObjects) //{ // if (objPic.Name.ToUpper() == "PICLOGO1") // { // objPic = new Bitmap(Application.StartupPath + "/images/ReportLogo.jpg"); // } //} //CRViewer.Visible = true; //CRViewer.ReportSource = rpt; //CRViewer.Show(); try { DateTime logdate = DateTime.Now; string logsdir = System.Configuration.ConfigurationManager.AppSettings["logsdir"].ToString(); if (!Directory.Exists(logsdir + logdate.ToString("MMM"))) { Directory.CreateDirectory(logsdir + logdate.ToString("MMM")); } string logFile = logsdir + logdate.ToString("MMM") + "/SOA_" + logdate.ToString("yyyyMMddhhmmss") + ".doc"; rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, logFile); } catch { } if (isPrinterOnline(TerminalDetails.SalesInvoicePrinterName)) { rpt.PrintOptions.PrinterName = TerminalDetails.SalesInvoicePrinterName; rpt.PrintToPrinter(1, false, 0, 0); rpt.Close(); rpt.Dispose(); Cursor.Current = Cursors.Default; MessageBox.Show("Statement Of Account for " + mclsCustomerDetails.ContactName + " has been printed.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { rpt.Close(); rpt.Dispose(); Cursor.Current = Cursors.Default; MessageBox.Show("Sorry, will not print sales invoice. printer is offline.", "RetailPlus"); } } catch (Exception ex) { Cursor.Current = Cursors.Default; MessageBox.Show("Sorry an error was encountered during printing, please reprint again." + Environment.NewLine + "Details: " + ex.Message, "RetailPlus"); } }
private bool SaveRecord() { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails = mContactDetails; clsDetails.ContactCode = txtCustomerName.Text; clsDetails.ContactName = txtCustomerName.Text; clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = txtBusinessName.Text; clsDetails.TelephoneNo = txtTelNo.Text; // Jul 22, 2014 clsDetails.Debit = mContactDetails.Debit; clsDetails.Credit = mContactDetails.Credit; clsDetails.IsCreditAllowed = chkIsCreditAllowed.Checked; clsDetails.CreditLimit = decimal.Parse(txtCreditLimit.Text); clsDetails.Terms = int.Parse(txtTerms.Text); clsDetails.ModeOfTerms = (ModeOfTerms)Enum.Parse(typeof(ModeOfTerms), cboTerms.SelectedItem.ToString()); Data.Contacts clsContact = new Data.Contacts(); if (mContactDetails.ContactID == 0) { if (mstCaption == "Please enter customer name for deposit.") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_DEPOSIT; } else if (mstCaption == "Quickly add new customer") { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_QUICKLY_ADDED_FROM_FE; } else if (mContactDetails.ContactID == 0) // means not edit { clsDetails.Remarks = Data.Contacts.DEFAULT_REMARKS_FOR_ADDED_FROM_CLIENT; } clsDetails.ContactGroupID = Constants.CONTACT_GROUP_CUSTOMER; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; clsDetails.ContactID = clsContact.Insert(clsDetails); } else { clsDetails.ContactCode = mContactDetails.ContactCode; clsDetails.ContactGroupID = mContactDetails.ContactGroupID; clsDetails.ContactGroupName = mContactDetails.ContactGroupName; clsContact.Update(clsDetails); } clsContact.CommitAndDispose(); mContactDetails = clsDetails; return true; }
private bool isValuesAssigned() { decimal mdecAmount = 0; try { mdecAmount = Convert.ToDecimal(txtAmount.Text); } catch { txtAmount.Focus(); MessageBox.Show("Sorry you have entered an invalid amount for credit card payment. Please type a valid credit amount.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (string.IsNullOrEmpty(cboCardType.Text)) { cboCardType.Focus(); MessageBox.Show("Please select a valid Card Type.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (txtCardNo.Text == null || txtCardNo.Text == "") { txtCardNo.Focus(); MessageBox.Show("Please type a valid Card No.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (txtCardHolder.Text == null || txtCardHolder.Text == "") { txtCardHolder.Focus(); MessageBox.Show("Please type a valid Card Holder.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } DateTime ValidityDate = DateTime.MinValue; if (string.IsNullOrEmpty(txtValidityDates.Text)) { txtValidityDates.Focus(); MessageBox.Show("Please type a valid Validity Date.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } else if (!string.IsNullOrEmpty(txtValidityDates.Text)) { try { string Month = txtValidityDates.Text.Substring(0, 2); string Year = "20" + txtValidityDates.Text.Substring(2, 2); string Day = DateTime.DaysInMonth(Convert.ToInt32(Year), Convert.ToInt32(Month)).ToString(); ValidityDate = new DateTime(int.Parse(Year), int.Parse(Month), int.Parse(Day)); } catch { txtValidityDates.Focus(); MessageBox.Show("Please type a valid Validity Date. Format must be mmyy", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (!IsRefund) // check only if it's not refund { if (!mboIsCreditChargeExcluded) // check only if it's not chargeexcluded or offline trx { if (ValidityDate < DateTime.Now) { txtValidityDates.Focus(); MessageBox.Show("Card has been expired, please ask for a valid credit card.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } } } } // make sure that only 1 INTERNAL CREDIT CARD can be use per transaction if (mclsCardTypeDetails.CreditCardType == CreditCardTypes.Internal) { foreach (Data.CreditCardPaymentDetails clsCreditCardPaymentDetails in marrCreditCardPaymentDetails) { if (clsCreditCardPaymentDetails.CardTypeDetails.CreditCardType == CreditCardTypes.Internal) { MessageBox.Show("Sorry an INTERNAL CREDIT CARD has only been use to pay. Please use another credit card or another mode of payment (e.g. cash).", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } } } decimal decAdditionalCreditCharge = 0; if (mclsCreditorDetails.ContactID != 0) { // add only the charge if the credit is chargeable if (panCharge.Visible) mdecAmount += decimal.Parse(txtCreditCardCharge.Text); decimal mdecAllowedCredit = mclsCreditorDetails.CreditLimit - mclsCreditorDetails.Credit; if (!IsRefund) // check only if it's not refund { if (!mboIsCreditChargeExcluded) // check only if it's not chargeexcluded or offline trx { if (mdecAmount > mdecAllowedCredit) { MessageBox.Show("Amount must be less than the credit limit (" + mdecAllowedCredit.ToString("#,##0.#0") + "). Please enter a lower amount for credit payment.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtAmount.Focus(); return false; } if (mdecAmount <= 0) { MessageBox.Show("Amount must be greater than zero. Please enter a higher amount for credit payment.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtAmount.Focus(); return false; } if (!mclsCreditorDetails.CreditDetails.CreditActive) { MessageBox.Show("Sorry the credit card status is " + mclsCreditorDetails.CreditDetails.CreditCardStatus.ToString("G") + ". Please enter an active credit card no.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtScan.Focus(); return false; } if (mclsCardTypeDetails.WithGuarantor) { Data.Contacts clsContacts = new Data.Contacts(); mclsGuarantorDetails = clsContacts.Details(mclsCreditorDetails.CreditDetails.GuarantorID); clsContacts.CommitAndDispose(); if (!mclsGuarantorDetails.CreditDetails.CreditActive) { MessageBox.Show("Sorry the Guarantor's credit card status is " + mclsGuarantorDetails.CreditDetails.CreditCardStatus.ToString("G") + ". Please enter an active credit card no.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtScan.Focus(); return false; } } } } if (mboIsCreditChargeExcluded) // exclude if it's an special item { decAdditionalCreditCharge = 0; } else if (mclsCardTypeDetails.ExemptInTerminalCharge) // exclude if it's an exemption { decAdditionalCreditCharge = 0; } else if (mclsCardTypeDetails.WithGuarantor && TerminalDetails.GroupChargeType.ChargeTypeID != 0) { if (panCharge.Visible) decAdditionalCreditCharge = decimal.Parse(txtCreditCardCharge.Text); //if (TerminalDetails.GroupChargeType.InPercent) // decAdditionalCreditCharge = mdecBalanceAmount * (TerminalDetails.GroupChargeType.ChargeAmount / 100); //else // decAdditionalCreditCharge = mdecBalanceAmount + TerminalDetails.GroupChargeType.ChargeAmount; } else if (!mclsCardTypeDetails.WithGuarantor && TerminalDetails.PersonalChargeType.ChargeTypeID != 0) { if (panCharge.Visible) decAdditionalCreditCharge = decimal.Parse(txtCreditCardCharge.Text); //if (TerminalDetails.PersonalChargeType.InPercent) // decAdditionalCreditCharge = mdecBalanceAmount * (TerminalDetails.PersonalChargeType.ChargeAmount / 100); //else // decAdditionalCreditCharge = mdecBalanceAmount + TerminalDetails.PersonalChargeType.ChargeAmount; } if (!IsRefund) // check only if it's not refund { if (!mboIsCreditChargeExcluded) // check only if it's not chargeexcluded or offline trx { if (decAdditionalCreditCharge == 0) { if (mdecAmount > mdecBalanceAmount + decAdditionalCreditCharge) { txtAmount.Focus(); MessageBox.Show("Amount must be less than the balance amount (" + mdecBalanceAmount.ToString("#,##0.#0") + "). Please enter a lower or equal amount for credit payment.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } } } } } if (mclsCreditorDetails.ContactID == 0 && mclsCardTypeDetails.CreditCardType == CreditCardTypes.Internal) { MessageBox.Show("Please enter a valid card no for " + cboCardType.Text + ".", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } mDetails.BranchDetails = TerminalDetails.BranchDetails; mDetails.TerminalNo = TerminalDetails.TerminalNo; mDetails.TransactionID = mclsSalesTransactionDetails.TransactionID; mDetails.TransactionNo = mclsSalesTransactionDetails.TransactionNo; mDetails.TransactionDate = mclsSalesTransactionDetails.TransactionDate; mDetails.CashierName = mclsSalesTransactionDetails.CashierName; mDetails.Amount = mdecAmount; mDetails.AdditionalCharge = decAdditionalCreditCharge; mDetails.CardTypeID = mclsCardTypeDetails.CardTypeID; mDetails.CardTypeCode = mclsCardTypeDetails.CardTypeCode; mDetails.CardTypeName = mclsCardTypeDetails.CardTypeName; mDetails.CardNo = txtCardNo.Text; mDetails.CardHolder = txtCardHolder.Text; mDetails.ValidityDates = ValidityDate.ToString("MMddyy"); mDetails.Remarks = (OfflineProduct + " " + txtRemarks.Text).Trim(); mDetails.CardTypeDetails = mclsCardTypeDetails; mDetails.CreditorDetails = mclsCreditorDetails; mDetails.IsRefund = IsRefund; mDetails.CreatedOn = mclsSalesTransactionDetails.TransactionDate; return true; }
private bool setCreditor() { if (string.IsNullOrEmpty(txtCardNo.Text)) { mclsCreditorDetails = new Data.ContactDetails(); } if (!string.IsNullOrEmpty(txtCardNo.Text)) { string strContactCardNo = txtCardNo.Text; Data.Contacts clsContacts = new Data.Contacts(); mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(strContactCardNo); if (mclsCreditorDetails.ContactID == 0) { strContactCardNo = strContactCardNo.Remove(strContactCardNo.Length - 1); mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(strContactCardNo); } clsContacts.CommitAndDispose(); if(mclsCreditorDetails.ContactID != 0) { cboCardType.SelectedText = mclsCreditorDetails.CreditDetails.CardTypeDetails.CardTypeName; cboCardType.Text = mclsCreditorDetails.CreditDetails.CardTypeDetails.CardTypeName; cboCardType_SelectedIndexChanged(null, null); txtCardHolder.Text = mclsCreditorDetails.ContactName; if (mclsCreditorDetails.CreditDetails.ExpiryDate == Constants.C_DATE_MIN_VALUE) txtValidityDates.Text = ""; else txtValidityDates.Text = mclsCreditorDetails.CreditDetails.ExpiryDate.ToString("MMyy"); } } return true; }
private void txtCardNo_TextChanged(object sender, EventArgs e) { mclsCreditorDetails = new Data.ContactDetails(); if (!string.IsNullOrEmpty(txtCardNo.Text) && txtScan.Text.Length >= 12 && txtScan.Text != mclsCreditorDetails.CreditDetails.CreditCardNo) { Data.Contacts clsContacts = new Data.Contacts(); mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(txtCardNo.Text); //if (mclsCreditorDetails.ContactID == 0) //{ // //mContactDetails = clsContacts.DetailsByCreditCardNo(txtScan.Text.Remove(txtScan.Text.Length - 1)); // if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 7) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo("888880" + txtScan.Text); // if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 7) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo("800000" + txtScan.Text); // if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 9) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode + txtScan.Text); // if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 9) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.CreditCard_Country_Code + BarcodeHelper.CreditCard_ManufacturerCode + txtScan.Text); //} clsContacts.CommitAndDispose(); } //this means that this uses an internal credit card setCreditor(); if (mclsCreditorDetails.ContactID != 0) setCreditCardChargeAmount(); else unsetCreditCardCharge(); }
private void IssueCreditCard() { if (mboIsInTransaction) { MessageBox.Show("Sorry you cannot issue a Credit Card while there is an ongoing transaction. Please finish the transaction first.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CreditCardIssuance); if (loginresult == DialogResult.OK) { try { DialogResult result; Data.CardTypeDetails clsCardTypeDetails = new Data.CardTypeDetails(); Data.ContactDetails clsGuarantorDetails = new AceSoft.RetailPlus.Data.ContactDetails(); ContactCreditTypeSelectWnd clsContactCreditTypeSelectWnd = new ContactCreditTypeSelectWnd(); clsContactCreditTypeSelectWnd.TerminalDetails = mclsTerminalDetails; clsContactCreditTypeSelectWnd.ShowDialog(this); clsCardTypeDetails = clsContactCreditTypeSelectWnd.CardTypeDetails; result = clsContactCreditTypeSelectWnd.Result; clsContactCreditTypeSelectWnd.Close(); clsContactCreditTypeSelectWnd.Dispose(); if (result != DialogResult.OK) { return; } Data.ContactDetails clsContactDetails; ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; if (clsCardTypeDetails.WithGuarantor) { MessageBox.Show("Please select a GUARANTOR to issue Credit Card.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Select GUARANTOR to issue Credit Card."; clsContactWnd.ShowDialog(this); clsGuarantorDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } MessageBox.Show(clsGuarantorDetails.ContactName + " has been selected as guarantor." + Environment.NewLine + "Please select the CUSTOMER to issue Credit Card.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); } clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Select CUSTOMER to issue Credit Card."; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } if (clsContactDetails.ContactID == Constants.ZERO || clsContactDetails.ContactID == Constants.C_RETAILPLUS_CUSTOMERID) { return; } // if no guarantor if (!clsCardTypeDetails.WithGuarantor) clsGuarantorDetails = new Data.ContactDetails(); clsEvent.AddEvent("[" + lblCashier.Text + "] Issuing credit card no to " + clsContactDetails.ContactName); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(clsContactDetails.ContactID); clsContact.CommitAndDispose(); if (clsContactDetails.CreditDetails.CreditCardNo != string.Empty && clsContactDetails.CreditDetails.CreditCardNo != null) { clsEvent.AddEventLn("Cancelled!"); clsEvent.AddEventLn("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " was already issued to " + clsContactDetails.ContactName + " on " + clsContactDetails.CreditDetails.CreditAwardDate.ToString("MMM dd, yyyy hh:mm tt")); MessageBox.Show("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " was already issued to " + clsContactDetails.ContactName + " on " + clsContactDetails.CreditDetails.CreditAwardDate.ToString("MMM dd, yyyy hh:mm tt") + "." + Environment.NewLine + " Please select another customer to issue Credit Card.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Issuing credit card no to " + clsContactDetails.ContactName); ContactCreditWnd clsContactCreditWnd = new ContactCreditWnd(); clsContactCreditWnd.Header = "Credit Card Issuance"; clsContactCreditWnd.CardTypeDetails = clsCardTypeDetails; clsContactCreditWnd.Guarantor = clsGuarantorDetails; clsContactCreditWnd.ContactDetails = clsContactDetails; clsContactCreditWnd.CreditCardStatus = CreditCardStatus.New; clsContactCreditWnd.TerminalDetails = mclsTerminalDetails; clsContactCreditWnd.ShowDialog(this); result = clsContactCreditWnd.Result; clsContactDetails = clsContactCreditWnd.ContactDetails; clsContactCreditWnd.Close(); clsContactCreditWnd.Dispose(); if (result == DialogResult.OK) { Data.Products clsProducts = new Data.Products(mConnection, mTransaction); mConnection = clsProducts.Connection; mTransaction = clsProducts.Transaction; string strProductBarcode = Data.Products.DEFAULT_CREDIT_CARD_MEMBERSHIP_FEE_BARCODE; //override if with Guarantor if (clsCardTypeDetails.WithGuarantor) strProductBarcode = Data.Products.DEFAULT_SUPER_CARD_MEMBERSHIP_FEE_BARCODE; if (clsProducts.Details(strProductBarcode).ProductID == 0) { if (!clsCardTypeDetails.WithGuarantor) clsProducts.CREATE_CREDIT_CARD_MEMBERSHIP_FEE_BARCODE_PRODUCT(); else clsProducts.CREATE_SUPER_CARD_MEMBERSHIP_FEE_BARCODE_PRODUCT(); Methods.InsertAuditLog(mclsTerminalDetails, "System Administrator", AccessTypes.RewardCardChange, strProductBarcode + " product has been created coz it's not configured"); } clsProducts.CommitAndDispose(); MessageBox.Show("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " was issued to " + clsContactDetails.ContactName + "." + Environment.NewLine + "Please collect the payment then close the transaction.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); clsEvent.AddEventLn("Done!", true); clsEvent.AddEventLn("Credit Card No: " + clsContactDetails.CreditDetails.CreditCardNo + " was issued to " + clsContactDetails.ContactName + ".", true); LocalDB clsLocalDB = new LocalDB(mConnection, mTransaction); mConnection = clsLocalDB.Connection; mTransaction = clsLocalDB.Transaction; clsEvent.AddEvent("[" + lblCashier.Text + "] Creating " + strProductBarcode + "transaction for customer: "); LoadContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER, clsContactDetails); if (!this.CreateTransaction()) return; txtBarCode.Text = strProductBarcode; ReadBarCode(); int iRow = dgItems.CurrentRowIndex; txtBarCode.Text = ""; CloseTransaction(); clsLocalDB.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Issuing internal credit-card."); } Cursor.Current = Cursors.Default; } }
private void SelectTable() { // Sep 24, 2011 Lemuel E. Aceron // Added order slip wherein all punch items will not change sales and inventory // a customer named ORDER SLIP should be defined in contacts if (lblCustomer.Text.Trim().ToUpper() == Constants.C_RETAILPLUS_ORDER_SLIP_CUSTOMER && mboIsInTransaction) { MessageBox.Show("Sorry you cannot select ORDER SLIP customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting customer."); DialogResult result; Data.ContactDetails details; bool isMergeTable = false; TableSelectWnd clsTableSelectWnd = new TableSelectWnd(); clsTableSelectWnd.TerminalDetails = mclsTerminalDetails; clsTableSelectWnd.ContactGroupCategory = ContactGroupCategory.TABLES; clsTableSelectWnd.ShowAvailableTableOnly = mboIsInTransaction; clsTableSelectWnd.ShowDialog(this); details = clsTableSelectWnd.Details; result = clsTableSelectWnd.Result; isMergeTable = clsTableSelectWnd.isMergeTable; clsTableSelectWnd.Close(); clsTableSelectWnd.Dispose(); if (result == DialogResult.OK) { if (isMergeTable) { List<Data.ContactDetails> lstDetails; TableMergeWnd clsTableMergeWnd = new TableMergeWnd(); clsTableMergeWnd.TerminalDetails = mclsTerminalDetails; clsTableMergeWnd.ContactGroupCategory = ContactGroupCategory.TABLES; clsTableMergeWnd.ShowAvailableTableOnly = true; // inde pwede imerge and table na may laman na clsTableMergeWnd.MainTableToMerge = details; clsTableMergeWnd.ShowDialog(this); //details = clsTableMergeWnd.Details; result = clsTableMergeWnd.Result; lstDetails = clsTableMergeWnd.MergeTables; clsTableMergeWnd.Close(); clsTableMergeWnd.Dispose(); if (result == DialogResult.OK) { // 22Nov2014 : remove the merge tables when closed or void or create a new list RemoveFromMergeTable(details.ContactCode); if (lstDetails.Count > 0) { Data.MergeTable clsMergeTable = new Data.MergeTable(); Data.MergeTableDetails clsMergeTableDetails; // insert the main table clsMergeTableDetails = new Data.MergeTableDetails() { MainTableCode = details.ContactCode, ChildTableCode = details.ContactCode }; clsMergeTable.Insert(clsMergeTableDetails); // insert the child tables for (int x = 0; x < lstDetails.Count; x++) { clsMergeTableDetails = new Data.MergeTableDetails() { MainTableCode = details.ContactCode, ChildTableCode = lstDetails[x].ContactCode }; clsMergeTable.Insert(clsMergeTableDetails); } clsMergeTable.CommitAndDispose(); } } return; } // Nov 18, 2011 : Lemu - auto suspend if already doing a transaction if (mboIsInTransaction) { if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID && mclsSalesTransactionDetails.CustomerID != details.ContactID) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); // Jan 31, 2015 : Lemu // put back to SuspendedOpen so that it won't be open somewhere else Data.SalesTransactions clsSalesTransactions1 = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions1.Connection; mTransaction = clsSalesTransactions1.Transaction; clsEvent.AddEventLn("Putting transaction SuspendedOpen: " + mclsSalesTransactionDetails.TransactionNo, true); clsSalesTransactions1.UpdateTransactionToSuspendedOpen(mclsSalesTransactionDetails.TransactionID); clsContacts.CommitAndDispose(); LoadContact(ContactGroupCategory.CUSTOMER, details); return; } else if (mclsSalesTransactionDetails.CustomerID == details.ContactID) { return; } else if (mclsSalesTransactionDetails.CustomerID != details.ContactID) { if (MessageBox.Show("Would you like to move from table: " + mclsSalesTransactionDetails.CustomerDetails.ContactCode + " to table: " + details.ContactCode + "." + Environment.NewLine + "Please click [Yes] to move, [Cancel] to create new transaction in the selected table.", "RetailPlus", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); // Jan 31, 2015 : Lemu // put back to SuspendedOpen so that it won't be open somewhere else Data.SalesTransactions clsSalesTransactions1 = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions1.Connection; mTransaction = clsSalesTransactions1.Transaction; clsEvent.AddEventLn("Putting transaction SuspendedOpen: " + mclsSalesTransactionDetails.TransactionNo, true); clsSalesTransactions1.UpdateTransactionToSuspendedOpen(mclsSalesTransactionDetails.TransactionID); clsContacts.CommitAndDispose(); LoadContact(ContactGroupCategory.CUSTOMER, details); return; } else { this.SuspendTransaction(false); } } } else { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); clsContacts.CommitAndDispose(); } Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; string stTransactionNo = clsSalesTransactions.getSuspendedTransactionNo(details.ContactID, mclsTerminalDetails.TerminalNo, mclsTerminalDetails.BranchID); if (stTransactionNo != string.Empty) { LoadTransaction(stTransactionNo, mclsTerminalDetails.TerminalNo); } else { this.LoadOptions(); LoadContact(ContactGroupCategory.CUSTOMER, details); } clsSalesTransactions.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { clsEvent.AddErrorEventLn(ex); } }
private void CreditCardReplacement(CreditCardStatus pvtCreditCardStatus) { if (mboIsInTransaction) { MessageBox.Show("Sorry you cannot replace a Credit Card while there is an ongoing transaction. Please finish the transaction first.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CreditCardChange); if (loginresult == DialogResult.OK) { try { DialogResult result; Data.ContactDetails clsContactDetails; ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Please select customer for credit card replacement."; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } if (clsContactDetails.ContactID == Constants.ZERO || clsContactDetails.ContactID == Constants.C_RETAILPLUS_CUSTOMERID) { return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Replacing credit card..."); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(clsContactDetails.ContactID); Data.ContactDetails clsGuarantor = clsContact.Details(clsContactDetails.CreditDetails.GuarantorID); clsContact.CommitAndDispose(); if (clsContactDetails.CreditDetails.CreditCardNo == string.Empty || clsContactDetails.CreditDetails.CreditCardNo == null) { clsEvent.AddEventLn("Cancelled!"); clsEvent.AddEventLn(clsContactDetails.ContactName + " has no valid Credit Card yet. "); MessageBox.Show(clsContactDetails.ContactName + " has no valid Credit Card yet. Please select another customer.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Replacing credit card #: " + clsContactDetails.CreditDetails.CreditCardNo + " of " + clsContactDetails.ContactName + " as " + pvtCreditCardStatus.ToString("G")); string strOldCreditCardNo = clsContactDetails.CreditDetails.CreditCardNo; ContactCreditWnd clsContactCreditWnd = new ContactCreditWnd(); if (pvtCreditCardStatus == CreditCardStatus.Replaced_Lost) clsContactCreditWnd.Header = "Credit Card Replacement of LOST CARD "; else if (pvtCreditCardStatus == CreditCardStatus.Replaced_Expired) clsContactCreditWnd.Header = "Credit Card Replacement of EXPIRED CARD "; clsContactCreditWnd.CardTypeDetails = clsContactDetails.CreditDetails.CardTypeDetails; clsContactCreditWnd.Guarantor = clsGuarantor; clsContactCreditWnd.ContactDetails = clsContactDetails; clsContactCreditWnd.CreditCardStatus = pvtCreditCardStatus; clsContactCreditWnd.TerminalDetails = mclsTerminalDetails; clsContactCreditWnd.ShowDialog(this); result = clsContactCreditWnd.Result; clsContactDetails = clsContactCreditWnd.ContactDetails; clsContactCreditWnd.Close(); clsContactCreditWnd.Dispose(); if (result == DialogResult.OK) { Data.Products clsProducts = new Data.Products(mConnection, mTransaction); mConnection = clsProducts.Connection; mTransaction = clsProducts.Transaction; string strProductBarcode = Data.Products.DEFAULT_CREDIT_CARD_REPLACEMENT_FEE_BARCODE; //override if with Guarantor if (clsContactDetails.CreditDetails.CardTypeDetails.WithGuarantor) strProductBarcode = Data.Products.DEFAULT_SUPER_CARD_REPLACEMENT_FEE_BARCODE; if (clsProducts.Details(strProductBarcode).ProductID == 0) { if (!clsContactDetails.CreditDetails.CardTypeDetails.WithGuarantor) clsProducts.CREATE_CREDIT_CARD_REPLACEMENT_FEE_BARCODE_PRODUCT(); else clsProducts.CREATE_SUPER_CARD_REPLACEMENT_FEE_BARCODE_PRODUCT(); Methods.InsertAuditLog(mclsTerminalDetails, "System Administrator", AccessTypes.CreditCardChange, strProductBarcode + " product has been created coz it's not configured"); } clsProducts.CommitAndDispose(); MessageBox.Show("Credit Card No: " + strOldCreditCardNo + " has been replaced with new card #: " + clsContactDetails.CreditDetails.CreditCardNo + ".", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); clsEvent.AddEventLn("Done!", true); clsEvent.AddEventLn("Credit Card No: " + strOldCreditCardNo + " has been replaced with new card #: " + clsContactDetails.CreditDetails.CreditCardNo + ".", true); LocalDB clsLocalDB = new LocalDB(mConnection, mTransaction); mConnection = clsLocalDB.Connection; mTransaction = clsLocalDB.Transaction; clsEvent.AddEvent("[" + lblCashier.Text + "] Creating " + strProductBarcode + "transaction for customer: "); LoadContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER, clsContactDetails); if (!this.CreateTransaction()) return; txtBarCode.Text = strProductBarcode; ReadBarCode(); int iRow = dgItems.CurrentRowIndex; txtBarCode.Text = ""; CloseTransaction(); clsLocalDB.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Replacing internal credit card."); } Cursor.Current = Cursors.Default; } }
private void SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory enumContactGroupCategory) { // Sep 24, 2011 Lemuel E. Aceron // Added order slip wherein all punch items will not change sales and inventory // a customer named ORDER SLIP should be defined in contacts if (lblCustomer.Text.Trim().ToUpper() == Constants.C_RETAILPLUS_ORDER_SLIP_CUSTOMER && mboIsInTransaction && enumContactGroupCategory == AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER) { MessageBox.Show("Sorry you cannot select ORDER SLIP customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (mclsTerminalDetails.AutoPrint == PrintingPreference.Auto && mboIsInTransaction) { switch (enumContactGroupCategory) { case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER: MessageBox.Show("Sorry you cannot select a customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT: MessageBox.Show("Sorry you cannot select an agent when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } return; } try { switch (enumContactGroupCategory) { case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER: clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting customer."); if (mclsTerminalDetails.ShowCustomerSelection == false) { clsEvent.AddEventLn("Cancelled! ShowCustomerSelection is OFF, reward is ON."); txtBarCode.Text = Constants.SWIPE_REWARD_CARD; txtBarCode.Focus(); txtBarCode.SelectionStart = txtBarCode.Text.Length + 1; return; } break; case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT: clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting agent."); break; } DialogResult result; Data.ContactDetails details; TableSelectWnd clsTableSelectWnd = new TableSelectWnd(); clsTableSelectWnd.TerminalDetails = mclsTerminalDetails; clsTableSelectWnd.ContactGroupCategory = enumContactGroupCategory; clsTableSelectWnd.ShowAvailableTableOnly = mboIsInTransaction; clsTableSelectWnd.ShowDialog(this); details = clsTableSelectWnd.Details; result = clsTableSelectWnd.Result; clsTableSelectWnd.Close(); clsTableSelectWnd.Dispose(); if (result == DialogResult.OK) { // Nov 18, 2011 : Lemu - auto suspend if already doing a transaction if (mboIsInTransaction) { if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID && mclsSalesTransactionDetails.CustomerID != details.ContactID) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); clsContacts.CommitAndDispose(); LoadContact(ContactGroupCategory.CUSTOMER, details); return; } else if (mclsSalesTransactionDetails.CustomerID == details.ContactID) { return; } else if (mclsSalesTransactionDetails.CustomerID != details.ContactID) { if (MessageBox.Show("Would you like to move from table: " + mclsSalesTransactionDetails.CustomerDetails.ContactCode + " to table: " + details.ContactCode + "." + Environment.NewLine + "Please click [Yes] to move, [Cancel] to create new transaction in the selected table.", "RetailPlus", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); clsContacts.CommitAndDispose(); LoadContact(ContactGroupCategory.CUSTOMER, details); return; } else { this.SuspendTransaction(false); } } } else { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate); clsContacts.CommitAndDispose(); } Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; string stTransactionNo = clsSalesTransactions.getSuspendedTransactionNo(details.ContactID, mclsTerminalDetails.TerminalNo, mclsTerminalDetails.BranchID); if (stTransactionNo != string.Empty) { LoadTransaction(stTransactionNo, mclsTerminalDetails.TerminalNo); } else { this.LoadOptions(); LoadContact(ContactGroupCategory.CUSTOMER, details); // 13Mar2015 : MPC, override the price using the PriceLevel // For PriceLevel1...5 if (mclsSysConfigDetails.EnablePriceLevel) { Cursor.Current = Cursors.WaitCursor; Int32 iOldRow = dgItems.CurrentRowIndex; Data.SalesTransactionItemDetails Details = new Data.SalesTransactionItemDetails(); Data.ProductPackage clsProductPackage = new Data.ProductPackage(mConnection, mTransaction); mConnection = clsProductPackage.Connection; mTransaction = clsProductPackage.Transaction; Data.ProductPackageDetails clsProductPackageDetails = new Data.ProductPackageDetails(); System.Data.DataTable dt = (System.Data.DataTable)dgItems.DataSource; for (int x = 0; x < dt.Rows.Count; x++) { dgItems.CurrentRowIndex = x; Details = getCurrentRowItemDetails(); dgItems.UnSelect(x); if (Details.TransactionItemStatus == TransactionItemStatus.Valid) { clsProductPackageDetails = clsProductPackage.Details(Details.ProductPackageID); switch (mclsContactDetails.PriceLevel) { case PriceLevel.SRP: Details.Price = clsProductPackageDetails.Price; break; case PriceLevel.One: Details.Price = clsProductPackageDetails.Price1 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price1; break; case PriceLevel.Two: Details.Price = clsProductPackageDetails.Price2 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price2; break; case PriceLevel.Three: Details.Price = clsProductPackageDetails.Price3 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price3; break; case PriceLevel.Four: Details.Price = clsProductPackageDetails.Price4 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price4; break; case PriceLevel.Five: Details.Price = clsProductPackageDetails.Price5 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price5; break; case PriceLevel.WSPrice: Details.Price = clsProductPackageDetails.WSPrice == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.WSPrice; break; default: Details.Price = clsProductPackageDetails.Price; break; } Details = ApplyPromo(Details); ApplyChangeQuantityPriceAmountDetails(x, Details, "Change Price: Change Contact"); } } clsProductPackage.CommitAndDispose(); if (iOldRow >= 0) { dgItems.CurrentRowIndex = iOldRow; dgItems.Select(iOldRow); Details = getCurrentRowItemDetails(); DisplayItemToTurretDelegate DisplayItemToTurretDel = new DisplayItemToTurretDelegate(DisplayItemToTurret); DisplayItemToTurretDel.BeginInvoke(Details.Description, Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, null, null); InsertAuditLog(AccessTypes.ChangePrice, "Change price: change contact : for item " + Details.ProductCode + " to " + Details.Price.ToString("#,##0.#0") + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); mbodgItemRowClick = false; } Cursor.Current = Cursors.Default; } } clsSalesTransactions.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { clsEvent.AddErrorEventLn(ex); } }
private bool SaveRecord() { if (MessageBox.Show("Please validate the customer information details before proceeding. Are you sure you want to continue?", "RetailPlus ™", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return(false); } else { Data.ContactDetails clsDetails = new Data.ContactDetails(); clsDetails = mContactDetails; clsDetails.ContactCode = txtContactCode.Text; clsDetails.ContactName = txtContactName.Text; clsDetails.ContactGroupID = Convert.ToInt32(Constants.CONTACT_GROUP_CUSTOMER); clsDetails.ModeOfTerms = ModeOfTerms.Days; clsDetails.Terms = Convert.ToInt32("0"); clsDetails.TINNo = txtTelephoneNo.Tag == null ? "" : txtTelephoneNo.Tag.ToString(); clsDetails.LTONo = txtRemarks.Tag == null ? "" : txtRemarks.Tag.ToString(); clsDetails.Address = txtAddress.Text; clsDetails.BusinessName = txtBusinessName.Text; clsDetails.TelephoneNo = txtTelephoneNo.Text; clsDetails.Remarks = txtRemarks.Text; //clsDetails.Debit = Convert.ToDecimal("0"); //clsDetails.Credit = Convert.ToDecimal(txtCredit.Text); //clsDetails.IsCreditAllowed = chkIsCreditAllowed.Checked; //clsDetails.CreditLimit = Convert.ToDecimal(txtCreditLimit.Text); //clsDetails.DepartmentID = Convert.ToInt16(cboDepartment.SelectedItem.Value); //clsDetails.PositionID = Convert.ToInt16(cboPosition.SelectedItem.Value); Data.ContactAddOnDetails clsAddOnDetails = new Data.ContactAddOnDetails(); clsAddOnDetails.ContactID = clsDetails.ContactID; clsAddOnDetails.Salutation = cboSalutation.SelectedValue.ToString(); clsAddOnDetails.FirstName = txtFirstName.Text; clsAddOnDetails.MiddleName = txtMiddleName.Text; clsAddOnDetails.LastName = txtLastName.Text; clsAddOnDetails.SpouseName = ""; DateTime dteBirthDate = Constants.C_DATE_MIN_VALUE; dteBirthDate = DateTime.TryParse(txtBirthDate.Text, out dteBirthDate) ? dteBirthDate : Constants.C_DATE_MIN_VALUE; clsAddOnDetails.BirthDate = dteBirthDate; clsAddOnDetails.SpouseBirthDate = Constants.C_DATE_MIN_VALUE; clsAddOnDetails.AnniversaryDate = Constants.C_DATE_MIN_VALUE; clsAddOnDetails.Address1 = txtAddress.Text; clsAddOnDetails.Address2 = string.Empty; clsAddOnDetails.City = string.Empty; clsAddOnDetails.State = string.Empty; clsAddOnDetails.ZipCode = string.Empty; clsAddOnDetails.CountryID = Constants.C_DEF_COUNTRY_ID; clsAddOnDetails.CountryCode = Constants.C_DEF_COUNTRY_CODE; clsAddOnDetails.BusinessPhoneNo = txtTelephoneNo.Text; clsAddOnDetails.HomePhoneNo = string.Empty; clsAddOnDetails.MobileNo = txtMobileNo.Text; clsAddOnDetails.FaxNo = string.Empty; clsAddOnDetails.EmailAddress = string.Empty; clsDetails.AdditionalDetails = clsAddOnDetails; Data.Contacts clsContact = new Data.Contacts(); if (mContactDetails.ContactID == 0) { clsDetails.ContactGroupID = Constants.CONTACT_GROUP_CUSTOMER; clsDetails.PositionID = Constants.C_RETAILPLUS_AGENT_POSITIONID; clsDetails.DepartmentID = Constants.C_RETAILPLUS_AGENT_DEPARTMENTID; clsDetails.ContactID = clsContact.Insert(clsDetails); } else { clsDetails.PositionID = mContactDetails.PositionID; clsDetails.DepartmentID = mContactDetails.DepartmentID; clsDetails.ContactGroupID = mContactDetails.ContactGroupID; clsDetails.ContactGroupName = mContactDetails.ContactGroupName; clsContact.Update(clsDetails); } clsContact.CommitAndDispose(); mContactDetails = clsDetails; return(true); } }
public void PrintCreditPayment() { try { PrintReportHeadersSection(false, true); msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append(CenterString("CREDIT PAYMENT SLIP", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); if (mclsContactDetails.CreditDetails.CardTypeDetails.WithGuarantor) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; Data.ContactDetails GuarantorDetails = clsContacts.Details(mclsContactDetails.CreditDetails.GuarantorID); clsContacts.CommitAndDispose(); msbToPrint.Append(CenterString("(Gua:" + (GuarantorDetails.ContactCode + ":" + GuarantorDetails.ContactName) + ")", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); } msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append("Amount Paid".PadRight(15) + ":" + mclsSalesTransactionDetails.AmountPaid.ToString("#,##0.#0") + Environment.NewLine); msbToPrint.Append("Payment Type".PadRight(15) + ":" + mclsSalesTransactionDetails.PaymentType.ToString("G") + Environment.NewLine); if (mclsSalesTransactionDetails.PaymentDetails.arrChequePaymentDetails != null) { foreach (Data.ChequePaymentDetails chequepaymentdet in mclsSalesTransactionDetails.PaymentDetails.arrChequePaymentDetails) { //print cheque details msbToPrint.Append("Cheque No.".PadRight(11) + ":" + chequepaymentdet.ChequeNo.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 12) + Environment.NewLine); } } msbToPrint.Append("Payment Ref No.".PadRight(15) + ":" + Int32.Parse(mclsSalesTransactionDetails.TransactionNo).ToString().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); msbToPrint.Append("Payee".PadRight(7) + ":" + mclsSalesTransactionDetails.CustomerDetails.ContactName.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 8) + Environment.NewLine); msbToPrint.Append("Card No".PadRight(7) + ":" + mclsSalesTransactionDetails.CustomerDetails.CreditDetails.CreditCardNo.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 8) + Environment.NewLine); msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append("Authorized Signature: ".PadRight(mclsTerminalDetails.MaxReceiptWidth, '_') + Environment.NewLine); msbToPrint.Append(Environment.NewLine); PrintPageAndReportFooterSection(false, DateTime.MinValue); } catch (Exception ex) { InsertErrorLogToFile(ex); MessageBox.Show("Sorry an error was encountered during printing, please reprint again." + Environment.NewLine + "Details: " + ex.Message, "RetailPlus"); } }
private void UpdateContact() { try { DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts); if (loginresult == DialogResult.OK) { loginresult = System.Windows.Forms.DialogResult.Cancel; Data.ContactDetails clsContactDetails = new Data.ContactDetails(); if (mclsSalesTransactionDetails.CustomerID != 0 && mclsSalesTransactionDetails.CustomerID != Constants.C_RETAILPLUS_CUSTOMERID) { Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(mclsSalesTransactionDetails.CustomerID); clsContact.CommitAndDispose(); loginresult = System.Windows.Forms.DialogResult.OK; } else { ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = Data.ContactGroupCategory.CUSTOMER; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; loginresult = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); } if (loginresult == System.Windows.Forms.DialogResult.OK) { DialogResult addresult = System.Windows.Forms.DialogResult.Cancel; switch (mclsSysConfigDetails.ContactAddWndType) { case ContactAddWndType.ContactAddWnd: case ContactAddWndType.ContactAddNoLTOWnd: ContactAddWnd clsContactAddWnd = new ContactAddWnd(); clsContactAddWnd.Caption = "Update Customer [" + mclsContactDetails.ContactName + "]"; clsContactAddWnd.ContactDetails = clsContactDetails; clsContactAddWnd.TerminalDetails = mclsTerminalDetails; clsContactAddWnd.SysConfigDetails = mclsSysConfigDetails; clsContactAddWnd.ShowDialog(this); addresult = clsContactAddWnd.Result; clsContactDetails = clsContactAddWnd.ContactDetails; clsContactAddWnd.Close(); clsContactAddWnd.Dispose(); break; case ContactAddWndType.ContactAddHCareWnd: ContactAddHCareWnd clsContactAddHCareWnd = new ContactAddHCareWnd(); clsContactAddHCareWnd.Caption = "Update Customer [" + mclsContactDetails.ContactName + "]"; clsContactAddHCareWnd.ContactDetails = clsContactDetails; clsContactAddHCareWnd.TerminalDetails = mclsTerminalDetails; clsContactAddHCareWnd.ShowDialog(this); addresult = clsContactAddHCareWnd.Result; clsContactDetails = clsContactAddHCareWnd.ContactDetails; clsContactAddHCareWnd.Close(); clsContactAddHCareWnd.Dispose(); break; default: ContactAddDetWnd clsContactAddDetWnd = new ContactAddDetWnd(); clsContactAddDetWnd.Caption = "Update Customer [" + mclsContactDetails.ContactName + "]"; clsContactAddDetWnd.ContactDetails = clsContactDetails; clsContactAddDetWnd.TerminalDetails = mclsTerminalDetails; clsContactAddDetWnd.ShowDialog(this); addresult = clsContactAddDetWnd.Result; clsContactDetails = clsContactAddDetWnd.ContactDetails; clsContactAddDetWnd.Close(); clsContactAddDetWnd.Dispose(); break; } if (addresult == DialogResult.OK) { if (mboIsInTransaction) { LoadContact(Data.ContactGroupCategory.CUSTOMER, clsContactDetails); } MessageBox.Show("Customer has been updated and the details has been reloaded for this transaction.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } catch { } }
private void ContactUpdate() { try { if (!EnableContactAddUpdate) { return; } Int64 iContactID = Convert.ToInt64(dgContacts[dgContacts.CurrentRowIndex, 0].ToString()); if (iContactID != 0 && iContactID != Constants.C_RETAILPLUS_CUSTOMERID) { Data.Contacts clsContact = new Data.Contacts(); Data.ContactDetails details = clsContact.Details(iContactID); clsContact.CommitAndDispose(); DialogResult addresult = System.Windows.Forms.DialogResult.Cancel; switch (SysConfigDetails.ContactAddWndType) { case ContactAddWndType.ContactAddWnd: case ContactAddWndType.ContactAddNoLTOWnd: ContactAddWnd clsContactAddWnd = new ContactAddWnd(); clsContactAddWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddWnd.ContactDetails = details; clsContactAddWnd.TerminalDetails = TerminalDetails; clsContactAddWnd.SysConfigDetails = SysConfigDetails; clsContactAddWnd.ShowDialog(this); addresult = clsContactAddWnd.Result; details = clsContactAddWnd.ContactDetails; clsContactAddWnd.Close(); clsContactAddWnd.Dispose(); break; case ContactAddWndType.ContactAddHCareWnd: ContactAddHCareWnd clsContactAddHCareWnd = new ContactAddHCareWnd(); clsContactAddHCareWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddHCareWnd.ContactDetails = details; clsContactAddHCareWnd.TerminalDetails = TerminalDetails; clsContactAddHCareWnd.ShowDialog(this); addresult = clsContactAddHCareWnd.Result; details = clsContactAddHCareWnd.ContactDetails; clsContactAddHCareWnd.Close(); clsContactAddHCareWnd.Dispose(); break; default: ContactAddDetWnd clsContactAddDetWnd = new ContactAddDetWnd(); clsContactAddDetWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddDetWnd.ContactDetails = details; clsContactAddDetWnd.TerminalDetails = TerminalDetails; clsContactAddDetWnd.ShowDialog(this); addresult = clsContactAddDetWnd.Result; details = clsContactAddDetWnd.ContactDetails; clsContactAddDetWnd.Close(); clsContactAddDetWnd.Dispose(); break; } if (addresult == DialogResult.OK) { txtSearch.Text = details.ContactCode; LoadContactData(); } } } catch { } }
private void ContactUpdate() { try { if (!EnableContactAddUpdate) return; Int64 iContactID = Convert.ToInt64(dgContacts[dgContacts.CurrentRowIndex, 0].ToString()); if (iContactID != 0 && iContactID != Constants.C_RETAILPLUS_CUSTOMERID) { Data.Contacts clsContact = new Data.Contacts(); Data.ContactDetails details = clsContact.Details(iContactID); clsContact.CommitAndDispose(); DialogResult addresult = System.Windows.Forms.DialogResult.Cancel; switch (SysConfigDetails.ContactAddWndType) { case ContactAddWndType.ContactAddWnd: case ContactAddWndType.ContactAddNoLTOWnd: ContactAddWnd clsContactAddWnd = new ContactAddWnd(); clsContactAddWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddWnd.ContactDetails = details; clsContactAddWnd.TerminalDetails = TerminalDetails; clsContactAddWnd.SysConfigDetails = SysConfigDetails; clsContactAddWnd.ShowDialog(this); addresult = clsContactAddWnd.Result; details = clsContactAddWnd.ContactDetails; clsContactAddWnd.Close(); clsContactAddWnd.Dispose(); break; case ContactAddWndType.ContactAddHCareWnd: ContactAddHCareWnd clsContactAddHCareWnd = new ContactAddHCareWnd(); clsContactAddHCareWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddHCareWnd.ContactDetails = details; clsContactAddHCareWnd.TerminalDetails = TerminalDetails; clsContactAddHCareWnd.ShowDialog(this); addresult = clsContactAddHCareWnd.Result; details = clsContactAddHCareWnd.ContactDetails; clsContactAddHCareWnd.Close(); clsContactAddHCareWnd.Dispose(); break; default: ContactAddDetWnd clsContactAddDetWnd = new ContactAddDetWnd(); clsContactAddDetWnd.Caption = "Update Customer [" + details.ContactName + "]"; clsContactAddDetWnd.ContactDetails = details; clsContactAddDetWnd.TerminalDetails = TerminalDetails; clsContactAddDetWnd.ShowDialog(this); addresult = clsContactAddDetWnd.Result; details = clsContactAddDetWnd.ContactDetails; clsContactAddDetWnd.Close(); clsContactAddDetWnd.Dispose(); break; } if (addresult == DialogResult.OK) { txtSearch.Text = details.ContactCode; LoadContactData(); } } } catch { } }
private void ResumeTransaction() { if (!SuspendTransactionAndContinue()) return; // ShowOneTerminalSuspendedTransactions // Only same cashier in same terminal can be resume. // if terminalno and cashier is not the same to not allow if (mclsTerminalDetails.ShowOneTerminalSuspendedTransactions) { Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; int count = clsSalesTransactions.CountSuspended(mclsTerminalDetails.TerminalNo, mclsSalesTransactionDetails.CashierID, mclsTerminalDetails.BranchID); clsSalesTransactions.CommitAndDispose(); if (count == 0) { MessageBox.Show("No suspended transaction found for this day.", "RetailPlus", MessageBoxButtons.OK); return; } } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.ResumeTransaction); if (loginresult == DialogResult.OK) { try { ResumeTransactionWnd ResumeWnd = new ResumeTransactionWnd(); ResumeWnd.TerminalDetails = mclsTerminalDetails; ResumeWnd.CashierID = mclsSalesTransactionDetails.CashierID; ResumeWnd.TransactionStatusToList = AceSoft.RetailPlus.TransactionStatus.Suspended; ResumeWnd.ShowDialog(this); DialogResult result = ResumeWnd.Result; Data.SalesTransactionDetails details = ResumeWnd.Details; ResumeWnd.Close(); ResumeWnd.Dispose(); if (result == DialogResult.OK) { if (details.TransactionStatus == TransactionStatus.SuspendedOpen) { if (MessageBox.Show("This transaction is already open in another terminal. Please suspend in the other terminal first before opening." + Environment.NewLine + "Would you like to force open this transaction?", "RetailPlus", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } else { DialogResult resResumeSuspendedOpenTransaction = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.ResumeSuspendedOpenTransaction); if (resResumeSuspendedOpenTransaction != System.Windows.Forms.DialogResult.OK) { clsEvent.AddEvent("[" + lblCashier.Text + "] Resuming transaction no. " + details.TransactionNo + " cancelled. SuspendedOpen"); return; } } } clsEvent.AddEvent("[" + lblCashier.Text + "] Resuming transaction no. " + details.TransactionNo); mclsSalesTransactionDetails = details; if (mclsSalesTransactionDetails.TransactionStatus == TransactionStatus.Refund || mclsSalesTransactionDetails.TransactionType == TransactionTypes.POSRefund) { mboIsRefund = true; lblSubtotalName.Text = "SUBTOTAL: REFUND"; lblOrderType.Visible = false; } lblOrderType.Text = mclsSalesTransactionDetails.OrderType.ToString("G").ToUpper(); lblTransNo.Text = mclsSalesTransactionDetails.TransactionNo; lblTransNo.Tag = mclsSalesTransactionDetails.TransactionID.ToString(); lblCustomer.Text = mclsSalesTransactionDetails.CustomerName; lblCustomer.Tag = mclsSalesTransactionDetails.CustomerID.ToString(); lblAgent.Text = mclsSalesTransactionDetails.AgentName; lblAgent.Tag = mclsSalesTransactionDetails.AgentID.ToString(); lblAgentPositionDepartment.Text = mclsSalesTransactionDetails.AgentPositionName; lblAgentPositionDepartment.Tag = mclsSalesTransactionDetails.AgentDepartmentName; grpItems.Text = "Served by: " + details.WaiterName; grpItems.Tag = mclsSalesTransactionDetails.WaiterID.ToString(); lblTransDate.Text = mclsSalesTransactionDetails.TransactionDate.ToString("MMM. dd, yyyy hh:mm:ss tt"); mdteOverRidingPrintDate = mclsSalesTransactionDetails.TransactionDate; lblTransDiscount.Tag = mclsSalesTransactionDetails.TransDiscountType.ToString("d"); lblConsignment.Visible = mclsSalesTransactionDetails.isConsignment; if (mclsSalesTransactionDetails.ChargeAmount == 0) lblTransCharge.Tag = ChargeTypes.NotApplicable.ToString("d"); else { Data.ChargeType clsChargeType = new Data.ChargeType(mConnection, mTransaction); bool bolInPercent = clsChargeType.Details(mclsSalesTransactionDetails.ChargeCode).InPercent; clsChargeType.CommitAndDispose(); if (bolInPercent) lblTransCharge.Tag = ChargeTypes.Percentage.ToString("d"); else lblTransCharge.Tag = ChargeTypes.FixedValue.ToString("d"); } // Aug 6, 2011 : Lemu // Put here from CloseTransaction try { mclsSalesTransactionDetails.CashierID = Convert.ToInt64(lblCashier.Tag); } catch { } mclsSalesTransactionDetails.CashierName = lblCashier.Text; LoadResumedItems(details.TransactionItems, false); // Jan 31, 2015 : Lemu // put back to SuspendedOpen so that it won't be open somewhere else if (mclsSalesTransactionDetails.TransactionStatus == TransactionStatus.Suspended) { Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; clsEvent.AddEvent("Putting transaction SuspendedOpen: " + mclsSalesTransactionDetails.TransactionNo, true); clsSalesTransactions.UpdateTransactionToSuspendedOpen(mclsSalesTransactionDetails.TransactionID); clsSalesTransactions.CommitAndDispose(); } // 06Mar2015 : reload this, to use for price level Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; mclsContactDetails = clsContacts.Details(mclsSalesTransactionDetails.CustomerID); clsContacts.CommitAndDispose(); mboIsInTransaction = true; InsertAuditLog(AccessTypes.ResumeTransaction, "Resume transaction #: " + lblTransNo.Text + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); clsEvent.AddEventLn("[" + lblCashier.Text + "] Resuming transaction no. " + details.TransactionNo + " Done.", true); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Resuming transaction."); } } }
public void PrintCheckOutBillFooter() { if (mclsSalesTransactionDetails.OrderType == OrderTypes.Delivery) { Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; Data.ContactDetails clsContactDetails = clsContact.Details(mclsSalesTransactionDetails.CustomerID); clsContact.CommitAndDispose(); if (clsContactDetails.BusinessName != string.Empty) msbToPrint.Append("Delivered to".PadRight(15) + ":" + clsContactDetails.BusinessName.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); if (clsContactDetails.TelephoneNo != string.Empty) msbToPrint.Append("Tel #".PadRight(15) + ":" + clsContactDetails.TelephoneNo.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); if (clsContactDetails.Address != string.Empty) msbToPrint.Append("Address".PadRight(15) + ":" + clsContactDetails.Address.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); } }
private void CloseTransaction() { if (!mboIsInTransaction) { MessageBox.Show("No active transaction found.", "RetailPlus", MessageBoxButtons.OK); return; } if ((mclsSalesTransactionDetails.SubTotal - mclsSalesTransactionDetails.Discount) < 0) { MessageBox.Show("Sorry you cannot close a less than ZERO transaction.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // Feb 13, 2009 // overwrite cashierid and cashiername that will close the transaction // Aug 6, 2011 : Lemu // Remove this and put in ResumeTransaction //try { mclsSalesTransactionDetails.CashierID = Convert.ToInt64(lblCashier.Tag); } //catch { } //mclsSalesTransactionDetails.CashierName = lblCashier.Text; DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CloseTransaction); if (loginresult == DialogResult.OK) { // 02Nov2014 : do not let close the CreditPayment coz the selected transactions to be paid are not identified anymore. // : this should not come to this if no error has encountered if (mclsSalesTransactionDetails.TransactionStatus == TransactionStatus.CreditPayment) { MessageBox.Show("Sorry there was an error when paying this CREDIT transaction." + Environment.NewLine + "You should VOID this transaction and re-issue the payment.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (mclsSalesTransactionDetails.SubTotal == 0) { if (!mclsSysConfigDetails.AllowZeroAmountTransaction) { MessageBox.Show("Sorry you cannot close this ZERO amount transaction." + Environment.NewLine + "You can VOID this transaction instead.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (MessageBox.Show("Are you sure you want to close this ZERO amount transaction?", "RetailPlus", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) return; } try { clsEvent.AddEventLn("Closing transaction no. " + lblTransNo.Text, true); clsEvent.AddEventLn(" showing payment screen", true); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; // for checking - why do i need to reconnect in database if the customer is always updated? mclsContactDetails = clsContact.Details(mclsSalesTransactionDetails.CustomerID); LoadContact(Data.ContactGroupCategory.CUSTOMER, mclsContactDetails); clsContact.CommitAndDispose(); Data.SalesTransactionItemDetails mTopItemDetails = getCurrentRowItemDetails(); //insert payment details PaymentsWnd payment = new PaymentsWnd(); payment.TerminalDetails = mclsTerminalDetails; payment.SysConfigDetails = mclsSysConfigDetails; payment.CustomerDetails = mclsContactDetails; payment.SalesTransactionDetails = mclsSalesTransactionDetails; payment.CreditCardSwiped = mboCreditCardSwiped; payment.IsRefund = mboIsRefund; payment.IsCreditChargeExcluded = mTopItemDetails.IsCreditChargeExcluded; payment.OfflineProductDesc = (mTopItemDetails.IsCreditChargeExcluded && ItemDataTable.Rows.Count == 1 && mTopItemDetails.BarCode.Length <= 10) ? mTopItemDetails.ProductCode : ""; payment.ShowDialog(this); DialogResult paymentResult = payment.Result; decimal AmountPaid = payment.AmountPaid; decimal CashPayment = payment.CashPayment; decimal ChequePayment = payment.ChequePayment; decimal CreditCardPayment = payment.CreditCardPayment; decimal CreditPayment = payment.CreditPayment; decimal DebitPayment = payment.DebitPayment; decimal CreditChargeAmount = payment.SalesTransactionDetails.CreditChargeAmount; decimal BalanceAmount = payment.BalanceAmount; decimal ChangeAmount = payment.ChangeAmount; PaymentTypes PaymentType = payment.PaymentType; ArrayList arrCashPaymentDetails = payment.CashPaymentDetails; ArrayList arrChequePaymentDetails = payment.ChequePaymentDetails; ArrayList arrCreditCardPaymentDetails = payment.CreditCardPaymentDetails; ArrayList arrCreditPaymentDetails = payment.CreditPaymentDetails; ArrayList arrDebitPaymentDetails = payment.DebitPaymentDetails; decimal RewardPointsPayment = payment.RewardPointsPayment; decimal RewardConvertedPayment = payment.RewardConvertedPayment; Data.ContactDetails clsCreditorDetails = payment.CreditorDetails; payment.Close(); payment.Dispose(); this.KeyPreview = false; clsEvent.AddEventLn(" payment screen closed.", true); if (paymentResult != DialogResult.OK) { clsEvent.AddEventLn(" cancelled.", true); } else { // override the customerinformation if it's paid with in-house creditcard if (clsCreditorDetails.ContactID !=0 && clsCreditorDetails.ContactID != mclsSalesTransactionDetails.CustomerID) { mboRewardCardSwiped = false; //reset this to false so that the existing rewards will not be overwritten LoadContact(Data.ContactGroupCategory.CUSTOMER, clsCreditorDetails, true); } CloseTransaction(mTopItemDetails, AmountPaid, ChangeAmount, BalanceAmount, CashPayment, ChequePayment, CreditCardPayment, CreditPayment, CreditChargeAmount, DebitPayment, RewardConvertedPayment, RewardPointsPayment, PaymentType, arrCashPaymentDetails, arrChequePaymentDetails, arrCreditCardPaymentDetails, arrCreditPaymentDetails, arrDebitPaymentDetails); clsEvent.AddEventLn(" Loading Options...", true, mclsSysConfigDetails.WillWriteSystemLog); this.LoadOptions(); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Closing transaction."); } this.KeyPreview = true; } Cursor.Current = Cursors.Default; }
/// <summary> /// This is to print the Internal Credit Card used for payment /// </summary> /// <param name="clsChargeSlipType"></param> public void PrintChargeSlip(ChargeSlipType clsChargeSlipType) { try { decimal decInternalCreditCardPayment = 0; Data.ContactDetails clsCreditorDetails = new Data.ContactDetails(); Data.ContactDetails clsGuarantorDetails = new Data.ContactDetails(); Data.CardTypeDetails clsCreditCardTypeDetails = new Data.CardTypeDetails(); foreach (Data.CreditCardPaymentDetails clsCreditCardPaymentDetails in mclsSalesTransactionDetails.PaymentDetails.arrCreditCardPaymentDetails) { if (clsCreditCardPaymentDetails.CardTypeDetails.CreditCardType == CreditCardTypes.Internal) { decInternalCreditCardPayment += clsCreditCardPaymentDetails.Amount; clsCreditCardTypeDetails = clsCreditCardPaymentDetails.CardTypeDetails; clsCreditorDetails = clsCreditCardPaymentDetails.CreditorDetails; Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; if (clsCreditCardTypeDetails.WithGuarantor) { clsGuarantorDetails = new Data.Contacts(mConnection, mTransaction).Details(clsCreditorDetails.CreditDetails.GuarantorID); } clsContacts.CommitAndDispose(); } } if (decInternalCreditCardPayment != 0) { PrintingPreference oldCONFIG_AutoPrint = mclsTerminalDetails.AutoPrint; mclsTerminalDetails.AutoPrint = PrintingPreference.Normal; PrintReportHeaderSection(false, DateTime.MinValue); if (!string.IsNullOrEmpty(mclsSysConfigDetails.ChargeSlipHeaderLabel)) { msbToPrint.Append(CenterString(mclsSysConfigDetails.ChargeSlipHeaderLabel, mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); msbToPrint.Append(CenterString(Constants.C_FE_NOT_VALID_AS_RECEIPT, mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); } msbToPrint.Append(Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append("Trans. Date".PadRight(15) + ":" + mclsSalesTransactionDetails.TransactionDate.ToString("yyyy-MM-dd").PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); msbToPrint.Append("OR #".PadRight(15) + ":" + mclsSalesTransactionDetails.ORNo.PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine); // print the guarantor if with guarantor if (clsCreditCardTypeDetails.WithGuarantor) { msbToPrint.Append(CenterString(clsGuarantorDetails.ContactCode, mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); msbToPrint.Append("-".PadLeft(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append(CenterString("Guarantor", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); } msbToPrint.Append(Environment.NewLine); // print the charge slip header if (string.IsNullOrEmpty(clsCreditCardTypeDetails.CardTypeName)) { msbToPrint.Append(CenterString("CHARGE SLIP", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); } else { msbToPrint.Append(CenterString(clsCreditCardTypeDetails.CardTypeName + " CHARGE SLIP", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); } // print the amount and agreement msbToPrint.Append(Environment.NewLine); msbToPrint.Append("Amount of Purchase".PadRight(18) + ":" + decInternalCreditCardPayment.ToString("#,##0.#0").PadLeft(mclsTerminalDetails.MaxReceiptWidth - 19) + Environment.NewLine); msbToPrint.Append(Environment.NewLine); if (mclsTerminalDetails.IncludeCreditChargeAgreement) { msbToPrint.Append("I hereby agree to pay the total amount" + Environment.NewLine); msbToPrint.Append("stated herein including any charges due" + Environment.NewLine); msbToPrint.Append("thereon subject to the pertinent" + Environment.NewLine); msbToPrint.Append("contract governing the use of this" + Environment.NewLine); msbToPrint.Append("Credit Card." + Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append(Environment.NewLine); } msbToPrint.Append("-".PadLeft(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append(CenterString(mclsSalesTransactionDetails.CustomerName, mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append(Environment.NewLine); msbToPrint.Append("-".PadLeft(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine); msbToPrint.Append(CenterString(mclsSalesTransactionDetails.CashierName, mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); msbToPrint.Append(CenterString("Cashier", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); msbToPrint.Append(Environment.NewLine); switch (clsChargeSlipType) { case ChargeSlipType.Customer: msbToPrint.Append(CenterString("Customer's Copy", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); break; case ChargeSlipType.Original: msbToPrint.Append(CenterString("Original Copy", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); break; case ChargeSlipType.Guarantor: msbToPrint.Append(CenterString("Guarantor's Copy", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); break; } msbToPrint.Append(CenterString("Check Ctr:" + Int64.Parse(mclsSalesTransactionDetails.TransactionNo).ToString(), mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine); PrintPageAndReportFooterSection(false, DateTime.MinValue); mclsTerminalDetails.AutoPrint = oldCONFIG_AutoPrint; InsertAuditLog(AccessTypes.PrintTransactionHeader, "Print Charge Slip: " + clsChargeSlipType.ToString("G") + " TerminalNo=" + mclsTerminalDetails.TerminalNo + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Printing Charge Slip: " + clsChargeSlipType.ToString("G")); } Cursor.Current = Cursors.Default; }
private void ChangeOrderType() { if (mclsTerminalDetails.AutoPrint == PrintingPreference.Auto && mboIsInTransaction) { MessageBox.Show("Sorry you cannot change Order Type if Auto-print is ON an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CloseTransaction, "Change Order Type"); if (loginresult == DialogResult.OK) { try { clsEvent.AddEvent("[" + lblCashier.Text + "] Changing order type of trans. no. " + lblTransNo.Text); OrderTypeWnd clsOrderTypeWnd = new OrderTypeWnd(); clsOrderTypeWnd.TerminalDetails = mclsTerminalDetails; clsOrderTypeWnd.ShowDialog(this); DialogResult result = clsOrderTypeWnd.Result; OrderTypes clsOrderType = clsOrderTypeWnd.orderType; clsOrderTypeWnd.Close(); clsOrderTypeWnd.Dispose(); if (result == DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; if (!mboIsInTransaction) { this.LoadOptions(); if (!this.CreateTransaction()) return; } mclsSalesTransactionDetails.OrderType = clsOrderType; Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; clsSalesTransactions.UpdateOrderType(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, mclsSalesTransactionDetails.OrderType); InsertAuditLog(AccessTypes.ChargeType, "Change order type to " + mclsSalesTransactionDetails.OrderType.ToString("G") + ". Tran. #".PadRight(15) + ":" + lblTransNo.Text + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); clsEvent.AddEventLn("Done!", true); if (clsOrderType != OrderTypes.DineIn && mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID) { Int64 iOldContactID = mclsSalesTransactionDetails.CustomerID; SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER); if (iOldContactID != mclsSalesTransactionDetails.CustomerID) { Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(iOldContactID, Constants.C_DATE_MIN_VALUE); clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, mclsSalesTransactionDetails.TransactionDate); clsContacts.CommitAndDispose(); } } if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID) { mclsSalesTransactionDetails.OrderType = OrderTypes.DineIn; clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction); mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction; clsSalesTransactions.UpdateOrderType(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, mclsSalesTransactionDetails.OrderType); InsertAuditLog(AccessTypes.ChargeType, "System override order type to " + mclsSalesTransactionDetails.OrderType.ToString("G") + ". Tran. #".PadRight(15) + ":" + lblTransNo.Text + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); } clsSalesTransactions.CommitAndDispose(); lblOrderType.Text = mclsSalesTransactionDetails.OrderType.ToString("G").ToUpper(); // [09/24/2014] apply the default charge if changed to dine in Data.ChargeType clsChargeType = new Data.ChargeType(mConnection, mTransaction); mConnection = clsChargeType.Connection; mTransaction = clsChargeType.Transaction; Data.ChargeTypeDetails clsChargeTypeDetails = new Data.ChargeTypeDetails(); if (mclsSalesTransactionDetails.OrderType == OrderTypes.DineIn && !string.IsNullOrEmpty(mclsTerminalDetails.DineInChargeCode)) { clsChargeTypeDetails = clsChargeType.Details(mclsTerminalDetails.DineInChargeCode); setTransCharge(clsChargeTypeDetails, "Change Order Type to Dine-In. Charge Code:" + mclsTerminalDetails.DineInChargeCode); } else if (mclsSalesTransactionDetails.OrderType == OrderTypes.TakeOut && !string.IsNullOrEmpty(mclsTerminalDetails.TakeOutChargeCode)) { clsChargeTypeDetails = clsChargeType.Details(mclsTerminalDetails.TakeOutChargeCode); setTransCharge(clsChargeTypeDetails, "Change Order Type to Take-Out. Charge Code:" + mclsTerminalDetails.TakeOutChargeCode); } else if (mclsSalesTransactionDetails.OrderType == OrderTypes.Delivery && !string.IsNullOrEmpty(mclsTerminalDetails.DeliveryChargeCode)) { clsChargeTypeDetails = clsChargeType.Details(mclsTerminalDetails.DeliveryChargeCode); setTransCharge(clsChargeTypeDetails, "Change Order Type to Delivery. Charge Code:" + mclsTerminalDetails.DeliveryChargeCode); } else { ApplyTransZeroCharge(); } clsChargeType.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Changing order type."); } Cursor.Current = Cursors.Default; } }
private void LoadData() { try { DateTime dteRetValue = DateTime.MinValue; Data.CreditPaymentCashDetails clsSearchKeys = new Data.CreditPaymentCashDetails(); clsSearchKeys.BranchDetails = new Data.BranchDetails(); clsSearchKeys.TerminalNo = ""; clsSearchKeys.PaymentDateFrom = DateTime.TryParse(txtTrxStartDate.Text + " 00:00:00", out dteRetValue) ? dteRetValue : DateTime.Now.AddDays(-60); clsSearchKeys.PaymentDateTo = DateTime.TryParse(txtTrxEndDate.Text + " 23:59:59", out dteRetValue) ? dteRetValue : DateTime.Now; clsSearchKeys.CreditType = CreditType.Both; clsSearchKeys.CreditCardTypeID = 0; clsSearchKeys.ContactID = mclsCustomerDetails.ContactID; Data.Contacts clsContacts = new Data.Contacts(); System.Data.DataTable dt = clsContacts.CreditPaymentCashAsDataTable(clsSearchKeys, "trx.CreatedOn"); clsContacts.CommitAndDispose(); System.Data.DataView dv = dt.DefaultView; dv.Sort = "TransactionDate"; dt = dv.ToTable(); dgvItems.MultiSelect = false; dgvItems.AutoGenerateColumns = true; dgvItems.AutoSize = false; dgvItems.DataSource = dt.TableName; dgvItems.DataSource = dt; foreach (DataGridViewTextBoxColumn dc in dgvItems.Columns) { dc.Visible = false; } dgvItems.Columns["TransactionNo"].Visible = true; dgvItems.Columns["TransactionDate"].Visible = true; dgvItems.Columns["CreditReason"].Visible = true; dgvItems.Columns["Amount"].Visible = true; dgvItems.Columns["TransactionNo"].Width = 150; dgvItems.Columns["TransactionDate"].Width = 150; if (dt.Rows.Count < 16) { dgvItems.Columns["CreditReason"].Width = 350; } else { dgvItems.Columns["CreditReason"].Width = 320; } int iWidth = (dgvItems.Width - dgvItems.Columns["TransactionNo"].Width - dgvItems.Columns["TransactionDate"].Width - dgvItems.Columns["CreditReason"].Width) / 1; if (dt.Rows.Count >= 16) { iWidth = iWidth - 20; } dgvItems.Columns["Amount"].Width = iWidth; dgvItems.Columns["TransactionNo"].HeaderText = "Transaction No"; dgvItems.Columns["TransactionDate"].HeaderText = "Transaction Date"; dgvItems.Columns["CreditReason"].HeaderText = "Description"; dgvItems.Columns["Amount"].HeaderText = "Amt. Paid"; dgvItems.Columns["Amount"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; dgvItems.Columns["Amount"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dgvItems.Columns["TransactionDate"].DefaultCellStyle.Format = "yyyy-MM-dd hh:mm tt"; dgvItems.Columns["Amount"].DefaultCellStyle.Format = "#,##0.#0"; dgvItems.ReadOnly = true; dgvItems.Select(); decimal decTotalPayable = 0; foreach (System.Data.DataRow dr in dt.Rows) { decimal decTemp = decimal.TryParse(dr["Amount"].ToString(), out decTemp) ? decTemp : 0; decTotalPayable += decTemp; } lblTotal.Text = decTotalPayable.ToString("#,##0.#0"); grpBox1.Text = "Payments from: " + clsSearchKeys.PaymentDateFrom.ToString("MMM dd, yyyy") + " to " + clsSearchKeys.PaymentDateTo.ToString("MMM dd, yyyy"); txtTrxStartDate.SelectAll(); txtTrxStartDate.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message, "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void RenewRewardCard() { if (mboIsInTransaction) { MessageBox.Show("Sorry you cannot renew a Reward Card while there is an ongoing transaction. Please finish the transaction first.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.RewardCardChange); if (loginresult == DialogResult.OK) { try { DialogResult result; Data.ContactDetails clsContactDetails; ContactSelectWnd clsContactWnd = new ContactSelectWnd(); clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK; clsContactWnd.SysConfigDetails = mclsSysConfigDetails; clsContactWnd.TerminalDetails = mclsTerminalDetails; clsContactWnd.ContactGroupCategory = AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER; clsContactWnd.Header = "Please select customer for reward card renewal."; clsContactWnd.ShowDialog(this); clsContactDetails = clsContactWnd.Details; result = clsContactWnd.Result; clsContactWnd.Close(); clsContactWnd.Dispose(); if (result != DialogResult.OK) { return; } if (clsContactDetails.ContactID == Constants.ZERO || clsContactDetails.ContactID == Constants.C_RETAILPLUS_CUSTOMERID) { return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Renewing reward card."); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContactDetails = clsContact.Details(clsContactDetails.ContactID); clsContact.CommitAndDispose(); if (clsContactDetails.RewardDetails.RewardCardNo == string.Empty || clsContactDetails.RewardDetails.RewardCardNo == null) { clsEvent.AddEventLn("Cancelled!"); clsEvent.AddEventLn(clsContactDetails.ContactName + " has no valid Reward Card yet. "); MessageBox.Show(clsContactDetails.ContactName + " has no valid Reward Card yet. Please select another customer.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Renewing reward card #: " + clsContactDetails.RewardDetails.RewardCardNo + " of " + clsContactDetails.ContactName + "."); ContactRewardWnd clsContactRewardWnd = new ContactRewardWnd(); clsContactRewardWnd.TerminalDetails = mclsTerminalDetails; clsContactRewardWnd.Caption = "Reward Card Renewal"; clsContactRewardWnd.ContactDetails = clsContactDetails; clsContactRewardWnd.RewardCardStatus = RewardCardStatus.ReNew; clsContactRewardWnd.ShowDialog(this); result = clsContactRewardWnd.Result; clsContactDetails = clsContactRewardWnd.ContactDetails; clsContactRewardWnd.Close(); clsContactRewardWnd.Dispose(); if (result == DialogResult.OK) { Data.Products clsProducts = new Data.Products(mConnection, mTransaction); mConnection = clsProducts.Connection; mTransaction = clsProducts.Transaction; if (clsProducts.Details(Data.Products.DEFAULT_ADVANTAGE_CARD_RENEWAL_FEE_BARCODE).ProductID == 0) { clsProducts.CREATE_ADVANTAGE_CARD_RENEWAL_FEE_BARCODE_PRODUCT(); Methods.InsertAuditLog(mclsTerminalDetails, "System Administrator", AccessTypes.RewardCardChange, "ADVANTAGE_CARD_RENEWAL_FEE_BARCODE product has been created coz it's not configured"); } clsProducts.CommitAndDispose(); MessageBox.Show("Reward Card No: " + clsContactDetails.RewardDetails.RewardCardNo + " has been renewed with new expiry date " + clsContactDetails.RewardDetails.ExpiryDate.ToString("yyyy-MM-dd") + ".", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); clsEvent.AddEventLn("Done!", true); clsEvent.AddEventLn("Reward Card No: " + clsContactDetails.RewardDetails.RewardCardNo + " has been renewed with new expiry date " + clsContactDetails.RewardDetails.ExpiryDate.ToString("yyyy-MM-dd") + ".", true); LocalDB clsLocalDB = new LocalDB(mConnection, mTransaction); mConnection = clsLocalDB.Connection; mTransaction = clsLocalDB.Transaction; clsEvent.AddEvent("[" + lblCashier.Text + "] Creating " + Data.Products.DEFAULT_ADVANTAGE_CARD_RENEWAL_FEE_BARCODE + "transaction for customer: "); LoadContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER, clsContactDetails); if (!this.CreateTransaction()) return; txtBarCode.Text = Data.Products.DEFAULT_ADVANTAGE_CARD_RENEWAL_FEE_BARCODE; ReadBarCode(); int iRow = dgItems.CurrentRowIndex; txtBarCode.Text = ""; CloseTransaction(); clsLocalDB.CommitAndDispose(); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Renewing reward card."); } Cursor.Current = Cursors.Default; } }
private void ResumeClosedTransaction() { if (!SuspendTransactionAndContinue()) return; DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.ResumeClosedTransaction); if (loginresult == DialogResult.OK) { try { ResumeTransactionWnd ResumeWnd = new ResumeTransactionWnd(); ResumeWnd.TerminalDetails = mclsTerminalDetails; ResumeWnd.CashierID = mclsSalesTransactionDetails.CashierID; ResumeWnd.TransactionStatusToList = AceSoft.RetailPlus.TransactionStatus.Closed; ResumeWnd.ShowDialog(this); DialogResult result = ResumeWnd.Result; Data.SalesTransactionDetails details = ResumeWnd.Details; ResumeWnd.Close(); ResumeWnd.Dispose(); if (result == DialogResult.OK) { if (details.TransactionStatus != TransactionStatus.Closed) { MessageBox.Show("This transaction is not yet Closed, please select another transaction. {Current Status: " + details.TransactionStatus.ToString("G") + "}", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } clsEvent.AddEvent("[" + lblCashier.Text + "] Resuming closed transaction no. " + details.TransactionNo); mclsSalesTransactionDetails = details; if (mclsSalesTransactionDetails.TransactionStatus == TransactionStatus.Refund || mclsSalesTransactionDetails.TransactionType == TransactionTypes.POSRefund) { mboIsRefund = true; lblSubtotalName.Text = "SUBTOTAL: REFUND"; lblOrderType.Visible = false; } lblOrderType.Text = mclsSalesTransactionDetails.OrderType.ToString("G").ToUpper(); lblTransNo.Text = mclsSalesTransactionDetails.TransactionNo; lblTransNo.Tag = mclsSalesTransactionDetails.TransactionID.ToString(); lblCustomer.Text = mclsSalesTransactionDetails.CustomerName; lblCustomer.Tag = mclsSalesTransactionDetails.CustomerID.ToString(); lblAgent.Text = mclsSalesTransactionDetails.AgentName; lblAgent.Tag = mclsSalesTransactionDetails.AgentID.ToString(); lblAgentPositionDepartment.Text = mclsSalesTransactionDetails.AgentPositionName; lblAgentPositionDepartment.Tag = mclsSalesTransactionDetails.AgentDepartmentName; grpItems.Text = "Served by: " + details.WaiterName; grpItems.Tag = mclsSalesTransactionDetails.WaiterID.ToString(); lblTransDate.Text = mclsSalesTransactionDetails.TransactionDate.ToString("MMM. dd, yyyy hh:mm:ss tt"); mdteOverRidingPrintDate = mclsSalesTransactionDetails.TransactionDate; lblTransDiscount.Tag = mclsSalesTransactionDetails.TransDiscountType.ToString("d"); lblConsignment.Visible = mclsSalesTransactionDetails.isConsignment; if (mclsSalesTransactionDetails.ChargeAmount == 0) lblTransCharge.Tag = ChargeTypes.NotApplicable.ToString("d"); else { Data.ChargeType clsChargeType = new Data.ChargeType(mConnection, mTransaction); bool bolInPercent = clsChargeType.Details(mclsSalesTransactionDetails.ChargeCode).InPercent; clsChargeType.CommitAndDispose(); if (bolInPercent) lblTransCharge.Tag = ChargeTypes.Percentage.ToString("d"); else lblTransCharge.Tag = ChargeTypes.FixedValue.ToString("d"); } // Aug 6, 2011 : Lemu // Put here from CloseTransaction try { mclsSalesTransactionDetails.CashierID = Convert.ToInt64(lblCashier.Tag); } catch { } mclsSalesTransactionDetails.CashierName = lblCashier.Text; LoadResumedItems(details.TransactionItems, false); // 06Mar2015 : reload this, to use for price level Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; mclsContactDetails = clsContacts.Details(mclsSalesTransactionDetails.CustomerID); clsContacts.CommitAndDispose(); mboIsInTransaction = true; InsertAuditLog(AccessTypes.ResumeClosedTransaction, "Resume closed transaction #: " + lblTransNo.Text + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); clsEvent.AddEventLn("[" + lblCashier.Text + "] Resuming closed transaction no. " + details.TransactionNo + " Done.", true); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Resuming closed transaction."); } } }
private void CheckInTable() { // Added Sep 24, 2014 as required by Bellevue to check how long the customer is already in if (!SuspendTransactionAndContinue()) return; try { clsEvent.AddEvent("[" + lblCashier.Text + "] Checkin table."); DialogResult result; Data.ContactDetails details; TableSelectWnd clsTableSelectWnd = new TableSelectWnd(); clsTableSelectWnd.TerminalDetails = mclsTerminalDetails; clsTableSelectWnd.ContactGroupCategory = ContactGroupCategory.TABLES; clsTableSelectWnd.ShowAvailableTableOnly = true; //mboIsInTransaction clsTableSelectWnd.ShowDialog(this); details = clsTableSelectWnd.Details; result = clsTableSelectWnd.Result; clsTableSelectWnd.Close(); clsTableSelectWnd.Dispose(); if (result == DialogResult.OK) { DateTime dteCheckIn = DateTime.Now; Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction); mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction; clsContacts.UpdateLastCheckInDate(details.ContactID, dteCheckIn); clsContacts.CommitAndDispose(); clsEvent.AddEventLn("Done!", true); MessageBox.Show(details.ContactName + " has been successfully checkin @ " + dteCheckIn.ToString("yyyy-MM-dd hh:mm"), "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { clsEvent.AddErrorEventLn(ex); } }