Exemplo n.º 1
0
        public Int64 Insert(CreditPaymentDetails Details)
        {
            try
            {
                Save(Details);

                return(Int64.Parse(base.getLAST_INSERT_ID(this)));
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 2
0
		public Int64 Insert(CreditPaymentDetails Details)
		{
			try  
			{
                Save(Details);

                return Int64.Parse(base.getLAST_INSERT_ID(this));
			}
			catch (Exception ex)
			{
				throw base.ThrowException(ex);
			}	
		}
Exemplo n.º 3
0
        public Int32 Save(CreditPaymentDetails Details)
        {
            try
            {
                // [04/03/2012] Added creditcard information as requested by HP

                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = "CALL procCreditPaymentInsert(@BranchID, @TerminalNo, @TransactionID, @CustomerID, @CreditCardPaymentID, @CreditCardTypeID, @CurrentCredit, @Amount, @TransactionDate, @TransactionNo, @CashierName, @Remarks, @CreditReason, @CreditReasonID, @CreatedOn, @LastModified);";

                cmd.Parameters.AddWithValue("@BranchID", Details.BranchDetails.BranchID);
                cmd.Parameters.AddWithValue("@TerminalNo", Details.TerminalNo);
                cmd.Parameters.AddWithValue("@TransactionID", Details.TransactionID);
                cmd.Parameters.AddWithValue("@CustomerID", Details.CustomerDetails.ContactID);
                cmd.Parameters.AddWithValue("@CreditCardPaymentID", Details.CreditCardPaymentID);
                cmd.Parameters.AddWithValue("@CreditCardTypeID", Details.CreditCardTypeID);
                cmd.Parameters.AddWithValue("@CurrentCredit", Details.CustomerDetails.Credit);
                cmd.Parameters.AddWithValue("@Amount", Details.IsRefund ? -(Details.Amount) : Details.Amount);
                cmd.Parameters.AddWithValue("@TransactionDate", Details.TransactionDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@TransactionNo", Details.TransactionNo);
                cmd.Parameters.AddWithValue("@CashierName", Details.CashierName);
                cmd.Parameters.AddWithValue("@Remarks", Details.Remarks);
                cmd.Parameters.AddWithValue("@CreditReason", Details.CreditReason);
                cmd.Parameters.AddWithValue("@CreditReasonID", Details.CreditReasonID);
                cmd.Parameters.AddWithValue("@CreatedOn", Details.CreatedOn);
                cmd.Parameters.AddWithValue("@LastModified", Details.LastModified);

                cmd.CommandText = SQL;
                base.ExecuteNonQuery(cmd);

                //add credit to masterfile
                Contacts clsContact = new Contacts(base.Connection, base.Transaction);
                clsContact.AddCredit(Details.CustomerDetails.ContactID, Details.IsRefund ? -(Details.Amount) : Details.Amount);

                return(0);
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 4
0
        public CreditPaymentDetails[] Details(Int64 ContactID, DateTime CreditDateFrom, DateTime CreditDateTo)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = SQLSelect() + "WHERE ContactID = @ContactID AND CreditDate >= @CreditDateFrom AND CreditDate <= @CreditDateTo;";

                cmd.Parameters.AddWithValue("ContactID", ContactID);
                cmd.Parameters.AddWithValue("TerminalNo", CreditDateFrom);
                cmd.Parameters.AddWithValue("CreditDateTo", CreditDateTo);

                cmd.CommandText = SQL;
                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);

                ArrayList items = new ArrayList();
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    items.Add(setDetails(dr));
                }

                CreditPaymentDetails[] arrItems = new CreditPaymentDetails[0];

                if (items != null)
                {
                    arrItems = new CreditPaymentDetails[items.Count];
                    items.CopyTo(arrItems);
                }

                return(arrItems);
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get the cash payment details of a certain transaction.
        /// </summary>
        /// <param name="BranchID"></param>
        /// <param name="TerminalNo"></param>
        /// <param name="SyncID">Same also as the TransactionID</param>
        /// <returns></returns>
        public CreditPaymentDetails[] Details(Int32 BranchID, string TerminalNo, Int64 TransactionID)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = SQLSelect() + "WHERE BranchID = @BranchID AND TerminalNo = @TerminalNo AND TransactionID = @TransactionID;";

                cmd.Parameters.AddWithValue("BranchID", BranchID);
                cmd.Parameters.AddWithValue("TerminalNo", TerminalNo);
                cmd.Parameters.AddWithValue("TransactionID", TransactionID);

                cmd.CommandText = SQL;
                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);

                ArrayList items = new ArrayList();
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    items.Add(setDetails(dr));
                }

                CreditPaymentDetails[] arrCashDetails = new CreditPaymentDetails[0];

                if (items != null)
                {
                    arrCashDetails = new CreditPaymentDetails[items.Count];
                    items.CopyTo(arrCashDetails);
                }

                return(arrCashDetails);
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 6
0
        public Int32 Save(CreditCardPaymentDetails Details)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = "CALL procSaveCreditCardPayment(@BranchID, @TerminalNo, @SyncID, @CreditCardPaymentID, @TransactionID, @TransactionDate, @CashierName, @Amount, @AdditionalCharge, " +
                                                            "@ContactID, @GuarantorID, @CardTypeID, @CardTypeCode, @CardTypeName, @CardNo, @CardHolder, @ValidityDates, @Remarks, @TransactionNo, @CreatedOn, @LastModified);";

                cmd.Parameters.AddWithValue("BranchID", Details.BranchDetails.BranchID);
                cmd.Parameters.AddWithValue("TerminalNo", Details.TerminalNo);
                cmd.Parameters.AddWithValue("SyncID", Details.SyncID);
                cmd.Parameters.AddWithValue("CreditCardPaymentID", Details.CreditCardPaymentID);
                cmd.Parameters.AddWithValue("TransactionID", Details.TransactionID);
                cmd.Parameters.AddWithValue("TransactionDate", Details.TransactionDate);
                cmd.Parameters.AddWithValue("CashierName", Details.CashierName);
                cmd.Parameters.AddWithValue("Amount", Details.Amount);
                cmd.Parameters.AddWithValue("AdditionalCharge", Details.AdditionalCharge);
                cmd.Parameters.AddWithValue("ContactID", Details.CreditorDetails.ContactID);
                cmd.Parameters.AddWithValue("GuarantorID", Details.CreditorDetails.CreditDetails.GuarantorID);
                cmd.Parameters.AddWithValue("CardTypeID", Details.CardTypeID);
                cmd.Parameters.AddWithValue("CardTypeCode", Details.CardTypeCode);
                cmd.Parameters.AddWithValue("CardTypeName", Details.CardTypeName);
                cmd.Parameters.AddWithValue("CardNo", Details.CardNo);
                cmd.Parameters.AddWithValue("CardHolder", Details.CardHolder);
                cmd.Parameters.AddWithValue("ValidityDates", Details.ValidityDates);
                cmd.Parameters.AddWithValue("Remarks", Details.Remarks);
                cmd.Parameters.AddWithValue("TransactionNo", Details.TransactionNo);
                cmd.Parameters.AddWithValue("CreatedOn", Details.CreatedOn == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : Details.CreatedOn);
                cmd.Parameters.AddWithValue("LastModified", Details.LastModified == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : Details.LastModified);

                cmd.CommandText = SQL;
                Int32 iRetValue = base.ExecuteNonQuery(cmd);

                // update this if it's an insert
                if (Details.CreditCardPaymentID == 0) Details.CreditCardPaymentID = Int64.Parse(base.getLAST_INSERT_ID(this));

                //save the credit if inhouse credit
                if (Details.CreditorDetails.ContactID != 0)
                {
                    CreditPaymentDetails clsCreditPaymentDetails = new CreditPaymentDetails();

                    clsCreditPaymentDetails.BranchDetails = Details.BranchDetails;
                    clsCreditPaymentDetails.TerminalNo = Details.TerminalNo;
                    clsCreditPaymentDetails.TransactionID = Details.TransactionID;
                    clsCreditPaymentDetails.TransactionNo = Details.TransactionNo;
                    clsCreditPaymentDetails.IsRefund = Details.IsRefund;
                    clsCreditPaymentDetails.TransactionDate = Details.TransactionDate;
                    clsCreditPaymentDetails.CashierName = Details.CashierName;
                    clsCreditPaymentDetails.Amount = Details.Amount;
                    clsCreditPaymentDetails.CustomerDetails = Details.CreditorDetails;
                    clsCreditPaymentDetails.Remarks = Details.Remarks;

                    string additionalRemarks = Details.Remarks;
                    if (!string.IsNullOrEmpty(Details.Remarks))
                        additionalRemarks = ";" + (Details.Remarks.Length > 30 ? Details.Remarks.Substring(0, 30) : Details.Remarks);

                    if (!Details.IsRefund)
                        clsCreditPaymentDetails.CreditReason = CreditReason.IHCC.ToString("G") + " @ Ter#:" + Details.TerminalNo + " Br#:" + Details.BranchDetails.BranchID.ToString() + additionalRemarks;
                    else
                        clsCreditPaymentDetails.CreditReason = CreditReason.IHCC.ToString("G") + " @ Ter#:" + Details.TerminalNo + " Br#:" + Details.BranchDetails.BranchID.ToString() + additionalRemarks + " Refund";

                    clsCreditPaymentDetails.CreditCardPaymentID = Details.CreditCardPaymentID;
                    clsCreditPaymentDetails.CreditCardTypeID = Details.CardTypeDetails.CardTypeID;

                    new CreditPayments(base.Connection, base.Transaction).Insert(clsCreditPaymentDetails);

                    // no need for this this is already included in the insert of CreditPayments
                    //Contacts clsContact = new Contacts(base.Connection, base.Transaction);
                    //if (!Details.IsRefund)
                    //    clsContact.AddCredit(Details.CreditorDetails.ContactID, Details.Amount);
                    //else
                    //    clsContact.AddCredit(Details.CreditorDetails.ContactID, -Details.Amount);
                }

                return iRetValue;
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 7
0
        public System.Data.DataTable CreditPurchasesAsDataTable(CreditPaymentDetails SearchKeys, string SortField = "CP.CreditDate", SortOption SortOrder = SortOption.Ascending, Int32 limit = 0)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = "CALL procContactCreditPurchaseSelect(@BranchID, @TerminalNo, @ContactID, @CreditType, @CreditCardTypeID, @PurchaseDateFrom, @PurchaseDateTo, " +
                                                                  "@CreditorLastNameFrom, @CreditorLastnameTo, @GuaLastNameFrom, @GuaLastNameTo, @SortField, @SortOption, @limit);";

                cmd.Parameters.AddWithValue("BranchID", SearchKeys.BranchDetails.BranchID);
                cmd.Parameters.AddWithValue("TerminalNo", SearchKeys.TerminalNo);
                cmd.Parameters.AddWithValue("ContactID", SearchKeys.CustomerDetails.ContactID);
                cmd.Parameters.AddWithValue("CreditType", SearchKeys.CreditType.ToString("d"));
                cmd.Parameters.AddWithValue("CreditCardTypeID", SearchKeys.CreditCardTypeID);
                cmd.Parameters.AddWithValue("PurchaseDateFrom", SearchKeys.PurchaseDateFrom);
                cmd.Parameters.AddWithValue("PurchaseDateTo", SearchKeys.PurchaseDateTo);
                cmd.Parameters.AddWithValue("CreditorLastNameFrom", SearchKeys.CreditorLastnameFrom);
                cmd.Parameters.AddWithValue("CreditorLastNameTo", SearchKeys.CreditorLastnameTo);
                cmd.Parameters.AddWithValue("GuaLastNameFrom", SearchKeys.GuarantorLastnameFrom);
                cmd.Parameters.AddWithValue("GuaLastNameTo", SearchKeys.GuarantorLastnameTo);
                cmd.Parameters.AddWithValue("SortField", SortField);
                cmd.Parameters.AddWithValue("SortOption", SortOrder == SortOption.Ascending ? "ASC" : "DESC");
                cmd.Parameters.AddWithValue("limit", limit);

                cmd.CommandText = SQL;
                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);

                return dt;
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 8
0
        public Int32 Save(CreditPaymentDetails Details)
        {
            try
            {
                // [04/03/2012] Added creditcard information as requested by HP

                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = "CALL procCreditPaymentInsert(@BranchID, @TerminalNo, @TransactionID, @CustomerID, @CreditCardPaymentID, @CreditCardTypeID, @CurrentCredit, @Amount, @TransactionDate, @TransactionNo, @CashierName, @Remarks, @CreditReason, @CreditReasonID, @CreatedOn, @LastModified);";

                cmd.Parameters.AddWithValue("@BranchID", Details.BranchDetails.BranchID);
                cmd.Parameters.AddWithValue("@TerminalNo", Details.TerminalNo);
                cmd.Parameters.AddWithValue("@TransactionID", Details.TransactionID);
                cmd.Parameters.AddWithValue("@CustomerID", Details.CustomerDetails.ContactID);
                cmd.Parameters.AddWithValue("@CreditCardPaymentID", Details.CreditCardPaymentID);
                cmd.Parameters.AddWithValue("@CreditCardTypeID", Details.CreditCardTypeID);
                cmd.Parameters.AddWithValue("@CurrentCredit", Details.CustomerDetails.Credit);
                cmd.Parameters.AddWithValue("@Amount", Details.IsRefund ? -(Details.Amount) : Details.Amount);
                cmd.Parameters.AddWithValue("@TransactionDate", Details.TransactionDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@TransactionNo", Details.TransactionNo);
                cmd.Parameters.AddWithValue("@CashierName", Details.CashierName);
                cmd.Parameters.AddWithValue("@Remarks", Details.Remarks);
                cmd.Parameters.AddWithValue("@CreditReason", Details.CreditReason);
                cmd.Parameters.AddWithValue("@CreditReasonID", Details.CreditReasonID);
                cmd.Parameters.AddWithValue("@CreatedOn", Details.CreatedOn);
                cmd.Parameters.AddWithValue("@LastModified", Details.LastModified);

                cmd.CommandText = SQL;
                base.ExecuteNonQuery(cmd);

                //add credit to masterfile
                Contacts clsContact = new Contacts(base.Connection, base.Transaction);
                clsContact.AddCredit(Details.CustomerDetails.ContactID, Details.IsRefund ? -(Details.Amount) : Details.Amount);
                
                return 0;
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }	
        }
Exemplo n.º 9
0
        public CreditPaymentDetails[] Details(Int64 ContactID, DateTime CreditDateFrom, DateTime CreditDateTo)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = SQLSelect() + "WHERE ContactID = @ContactID AND CreditDate >= @CreditDateFrom AND CreditDate <= @CreditDateTo;";

                cmd.Parameters.AddWithValue("ContactID", ContactID);
                cmd.Parameters.AddWithValue("TerminalNo", CreditDateFrom);
                cmd.Parameters.AddWithValue("CreditDateTo", CreditDateTo);

                cmd.CommandText = SQL;
                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);

                ArrayList items = new ArrayList();
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    items.Add(setDetails(dr));
                }

                CreditPaymentDetails[] arrItems = new CreditPaymentDetails[0];

                if (items != null)
                {
                    arrItems = new CreditPaymentDetails[items.Count];
                    items.CopyTo(arrItems);
                }

                return arrItems;
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Get the cash payment details of a certain transaction.
        /// </summary>
        /// <param name="BranchID"></param>
        /// <param name="TerminalNo"></param>
        /// <param name="SyncID">Same also as the TransactionID</param>
        /// <returns></returns>
        public CreditPaymentDetails[] Details(Int32 BranchID, string TerminalNo, Int64 TransactionID)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = SQLSelect() + "WHERE BranchID = @BranchID AND TerminalNo = @TerminalNo AND TransactionID = @TransactionID;";

                cmd.Parameters.AddWithValue("BranchID", BranchID);
                cmd.Parameters.AddWithValue("TerminalNo", TerminalNo);
                cmd.Parameters.AddWithValue("TransactionID", TransactionID);

                cmd.CommandText = SQL;
                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);

                ArrayList items = new ArrayList();
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    items.Add(setDetails(dr));
                }

                CreditPaymentDetails[] arrCashDetails = new CreditPaymentDetails[0];

                if (items != null)
                {
                    arrCashDetails = new CreditPaymentDetails[items.Count];
                    items.CopyTo(arrCashDetails);
                }

                return arrCashDetails;
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }
Exemplo n.º 11
0
		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);
		}
Exemplo n.º 12
0
        public Int32 Save(CreditCardPaymentDetails Details)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL = "CALL procSaveCreditCardPayment(@BranchID, @TerminalNo, @SyncID, @CreditCardPaymentID, @TransactionID, @TransactionDate, @CashierName, @Amount, @AdditionalCharge, " +
                             "@ContactID, @GuarantorID, @CardTypeID, @CardTypeCode, @CardTypeName, @CardNo, @CardHolder, @ValidityDates, @Remarks, @TransactionNo, @CreatedOn, @LastModified);";

                cmd.Parameters.AddWithValue("BranchID", Details.BranchDetails.BranchID);
                cmd.Parameters.AddWithValue("TerminalNo", Details.TerminalNo);
                cmd.Parameters.AddWithValue("SyncID", Details.SyncID);
                cmd.Parameters.AddWithValue("CreditCardPaymentID", Details.CreditCardPaymentID);
                cmd.Parameters.AddWithValue("TransactionID", Details.TransactionID);
                cmd.Parameters.AddWithValue("TransactionDate", Details.TransactionDate);
                cmd.Parameters.AddWithValue("CashierName", Details.CashierName);
                cmd.Parameters.AddWithValue("Amount", Details.Amount);
                cmd.Parameters.AddWithValue("AdditionalCharge", Details.AdditionalCharge);
                cmd.Parameters.AddWithValue("ContactID", Details.CreditorDetails.ContactID);
                cmd.Parameters.AddWithValue("GuarantorID", Details.CreditorDetails.CreditDetails.GuarantorID);
                cmd.Parameters.AddWithValue("CardTypeID", Details.CardTypeID);
                cmd.Parameters.AddWithValue("CardTypeCode", Details.CardTypeCode);
                cmd.Parameters.AddWithValue("CardTypeName", Details.CardTypeName);
                cmd.Parameters.AddWithValue("CardNo", Details.CardNo);
                cmd.Parameters.AddWithValue("CardHolder", Details.CardHolder);
                cmd.Parameters.AddWithValue("ValidityDates", Details.ValidityDates);
                cmd.Parameters.AddWithValue("Remarks", Details.Remarks);
                cmd.Parameters.AddWithValue("TransactionNo", Details.TransactionNo);
                cmd.Parameters.AddWithValue("CreatedOn", Details.CreatedOn == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : Details.CreatedOn);
                cmd.Parameters.AddWithValue("LastModified", Details.LastModified == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : Details.LastModified);

                cmd.CommandText = SQL;
                Int32 iRetValue = base.ExecuteNonQuery(cmd);

                // update this if it's an insert
                if (Details.CreditCardPaymentID == 0)
                {
                    Details.CreditCardPaymentID = Int64.Parse(base.getLAST_INSERT_ID(this));
                }

                //save the credit if inhouse credit
                if (Details.CreditorDetails.ContactID != 0)
                {
                    CreditPaymentDetails clsCreditPaymentDetails = new CreditPaymentDetails();

                    clsCreditPaymentDetails.BranchDetails   = Details.BranchDetails;
                    clsCreditPaymentDetails.TerminalNo      = Details.TerminalNo;
                    clsCreditPaymentDetails.TransactionID   = Details.TransactionID;
                    clsCreditPaymentDetails.TransactionNo   = Details.TransactionNo;
                    clsCreditPaymentDetails.IsRefund        = Details.IsRefund;
                    clsCreditPaymentDetails.TransactionDate = Details.TransactionDate;
                    clsCreditPaymentDetails.CashierName     = Details.CashierName;
                    clsCreditPaymentDetails.Amount          = Details.Amount;
                    clsCreditPaymentDetails.CustomerDetails = Details.CreditorDetails;
                    clsCreditPaymentDetails.Remarks         = Details.Remarks;

                    string additionalRemarks = Details.Remarks;
                    if (!string.IsNullOrEmpty(Details.Remarks))
                    {
                        additionalRemarks = ";" + (Details.Remarks.Length > 30 ? Details.Remarks.Substring(0, 30) : Details.Remarks);
                    }

                    if (!Details.IsRefund)
                    {
                        clsCreditPaymentDetails.CreditReason = CreditReason.IHCC.ToString("G") + " @ Ter#:" + Details.TerminalNo + " Br#:" + Details.BranchDetails.BranchID.ToString() + additionalRemarks;
                    }
                    else
                    {
                        clsCreditPaymentDetails.CreditReason = CreditReason.IHCC.ToString("G") + " @ Ter#:" + Details.TerminalNo + " Br#:" + Details.BranchDetails.BranchID.ToString() + additionalRemarks + " Refund";
                    }

                    clsCreditPaymentDetails.CreditCardPaymentID = Details.CreditCardPaymentID;
                    clsCreditPaymentDetails.CreditCardTypeID    = Details.CardTypeDetails.CardTypeID;

                    new CreditPayments(base.Connection, base.Transaction).Insert(clsCreditPaymentDetails);

                    // no need for this this is already included in the insert of CreditPayments
                    //Contacts clsContact = new Contacts(base.Connection, base.Transaction);
                    //if (!Details.IsRefund)
                    //    clsContact.AddCredit(Details.CreditorDetails.ContactID, Details.Amount);
                    //else
                    //    clsContact.AddCredit(Details.CreditorDetails.ContactID, -Details.Amount);
                }

                return(iRetValue);
            }
            catch (Exception ex)
            {
                throw base.ThrowException(ex);
            }
        }