/// <summary> /// Initializes a new instance of the Micajah.Common.Bll.Instance class. /// </summary> public Instance() { m_PseudoId = string.Empty; m_Name = string.Empty; m_Description = string.Empty; m_InstanceId = Guid.Empty; m_ExternalId = string.Empty; m_WorkingDays = InstanceProvider.DefaultWorkingDays; m_Active = true; this.TimeZoneId = InstanceProvider.DefaultTimeZoneId; m_BillingPlan = BillingPlan.Free; m_CreditCardStatus = CreditCardStatus.NotRegistered; }
public static bool checkCreditActive(CreditCardStatus CreditCardStatus) { bool boRetValue = false; switch (CreditCardStatus) { case CreditCardStatus.New: case CreditCardStatus.Replaced_Lost: case CreditCardStatus.Replaced_Expired: case CreditCardStatus.ReNew: case CreditCardStatus.Reactivated_Lost: case CreditCardStatus.ManualActivated: case CreditCardStatus.SystemActivated: boRetValue = true; break; case CreditCardStatus.Lost: case CreditCardStatus.Expired: case CreditCardStatus.ManualDeactivated: case CreditCardStatus.SystemDeactivated: case CreditCardStatus.Suspended: case CreditCardStatus.All: boRetValue = false; break; default: boRetValue = false; break; } return boRetValue; }
public DataTable Guarantors(ContactColumns clsContactColumns, string LastNameFrom = "", string LastNameTo = "", string CustomerCode_CreditCardNo = "", DateTime? CreditCardExpiryDateFrom = null, DateTime? CreditCardExpiryDateTo = null, CreditCardStatus CreditCardStatus = CreditCardStatus.All, Int32 CreditCardTypeID = 0, string SortField = "ContactCode", System.Data.SqlClient.SortOrder SortOrder = System.Data.SqlClient.SortOrder.Ascending, Int32 limit = 0) { try { MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; // enable this to include joining to table tblContactGroup clsContactColumns.ContactGroupName = true; clsContactColumns.CreditDetails = true; string SQL = SQLSelect(clsContactColumns); if (CreditCardTypeID == 0) { SQL += "WHERE tblContacts.ContactID = tblContactCreditCardInfo.GuarantorID "; } else { SQL += "WHERE tblContacts.ContactID = tblContactCreditCardInfo.GuarantorID AND tblContactCreditCardInfo.CreditCardTypeID = @CreditCardTypeID "; cmd.Parameters.AddWithValue("CreditCardTypeID", CreditCardTypeID); } if (!string.IsNullOrEmpty(CustomerCode_CreditCardNo)) { SQL += "AND (CreditCardNo LIKE @CustomerCode_CreditCardNo OR ContactCode LIKE @CustomerCode_CreditCardNo OR ContactName LIKE @CustomerCode_CreditCardNo) "; cmd.Parameters.AddWithValue("@CustomerCode_CreditCardNo", CustomerCode_CreditCardNo + '%'); } if (CreditCardExpiryDateFrom.GetValueOrDefault(DateTime.MinValue) != DateTime.MinValue) { SQL += "AND ExpiryDate >= @CreditCardExpiryDateFrom "; cmd.Parameters.AddWithValue("@CreditCardExpiryDateFrom", CreditCardExpiryDateFrom.GetValueOrDefault(DateTime.MinValue).ToString("yyyy-MM-dd")); } if (CreditCardExpiryDateFrom.GetValueOrDefault(DateTime.MinValue) != DateTime.MinValue) { SQL += "AND ExpiryDate <= @CreditCardExpiryDateTo "; cmd.Parameters.AddWithValue("@CreditCardExpiryDateTo", CreditCardExpiryDateTo.GetValueOrDefault(DateTime.MinValue).ToString("yyyy-MM-dd")); } if (CreditCardStatus != RetailPlus.CreditCardStatus.All) { SQL += "AND CreditCardStatus = @CreditCardStatus "; cmd.Parameters.AddWithValue("@CreditCardStatus", CreditCardStatus.ToString("d")); } if (!string.IsNullOrEmpty(LastNameFrom) && !string.IsNullOrEmpty(LastNameTo)) { SQL += "AND ContactID IN (SELECT ContactID FROM tblContactAddOn WHERE LastName >= @LastNameFrom AND LastName <= @LastNameTo) "; cmd.Parameters.AddWithValue("LastNameFrom", LastNameFrom); cmd.Parameters.AddWithValue("LastNameTo", LastNameTo); } else if (!string.IsNullOrEmpty(LastNameFrom)) { SQL += "AND ContactID IN (SELECT ContactID FROM tblContactAddOn WHERE LastName LIKE @LastNameFrom) "; cmd.Parameters.AddWithValue("LastNameFrom", LastNameFrom + '%'); } else if (!string.IsNullOrEmpty(LastNameTo)) { SQL += "AND ContactID IN (SELECT ContactID FROM tblContactAddOn WHERE LastName LIKE @LastNameTo) "; cmd.Parameters.AddWithValue("LastNameTo", LastNameTo + '%'); } SQL += "ORDER BY " + (!string.IsNullOrEmpty(SortField) ? SortField : "ContactCode") + " "; SQL += SortOrder == System.Data.SqlClient.SortOrder.Ascending ? "ASC " : "DESC "; SQL += limit == 0 ? "" : "LIMIT " + limit.ToString() + " "; 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); } }
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 LoadList() { Contacts clsContact = new Contacts(); DataClass clsDataClass = new DataClass(); ContactColumns clsContactColumns = new ContactColumns(); clsContactColumns.ContactID = true; clsContactColumns.ContactCode = true; clsContactColumns.ContactName = true; clsContactColumns.CreditDetails = true; ContactColumns clsSearchColumns = new ContactColumns(); clsSearchColumns.ContactCode = true; clsSearchColumns.ContactName = true; clsSearchColumns.CreditDetails = true; string SortField = "ContactID"; if (Request.QueryString["sortfield"] != null) { SortField = Common.Decrypt(Request.QueryString["sortfield"].ToString(), Session.SessionID); } System.Data.SqlClient.SortOrder sortoption = System.Data.SqlClient.SortOrder.Ascending; if (Request.QueryString["sortoption"] != null) { sortoption = (System.Data.SqlClient.SortOrder)Enum.Parse(typeof(System.Data.SqlClient.SortOrder), Common.Decrypt(Request.QueryString["sortoption"], Session.SessionID), true); } string SearchKey = string.Empty; if (Request.QueryString["Search"] != null) { SearchKey = Common.Decrypt((string)Request.QueryString["search"], Session.SessionID); txtSearch.Text = SearchKey; } string strSearch = txtSearch.Text.Trim(); DateTime dteExpiryDateFrom = DateTime.TryParse(txtExpiryDateFrom.Text, out dteExpiryDateFrom) ? dteExpiryDateFrom : DateTime.MinValue; DateTime dteExpiryDateTo = DateTime.TryParse(txtExpiryDateTo.Text, out dteExpiryDateTo) ? dteExpiryDateTo : DateTime.MinValue; CreditCardStatus enumCreditCardStatus = (CreditCardStatus)Enum.Parse(typeof(CreditCardStatus), cboCreditCardStatus.SelectedItem.Value); PageData.DataSource = clsContact.CustomersWithCredits(clsContactColumns, LastNameFrom: txtLastNameFrom.Text, LastNameTo: txtLastNameTo.Text, CustomerCode_CreditCardNo: strSearch, CreditCardExpiryDateFrom: dteExpiryDateFrom, CreditCardExpiryDateTo: dteExpiryDateTo, CreditCardStatus: enumCreditCardStatus, CreditCardTypeID: Int32.Parse(cboCreditType.SelectedItem.Value), CheckCustomersGuarantor: true, SortField: SortField, SortOrder: sortoption).DefaultView; clsContact.CommitAndDispose(); int iPageSize = Convert.ToInt16(Session["PageSize"]); PageData.AllowPaging = true; PageData.PageSize = iPageSize; try { PageData.CurrentPageIndex = Convert.ToInt16(cboCurrentPage.SelectedItem.Value) - 1; lstItem.DataSource = PageData; lstItem.DataBind(); } catch { PageData.CurrentPageIndex = 1; lstItem.DataSource = PageData; lstItem.DataBind(); } cboCurrentPage.Items.Clear(); for (int i = 0; i < PageData.PageCount; i++) { int iValue = i + 1; cboCurrentPage.Items.Add(new ListItem(iValue.ToString(), iValue.ToString())); if (PageData.CurrentPageIndex == i) { cboCurrentPage.Items[i].Selected = true; } else { cboCurrentPage.Items[i].Selected = false; } } lblDataCount.Text = " of " + " " + PageData.PageCount; }
public object PayNotify() { var TimeStamp = Convert.ToInt32(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds).ToString(); CreditCardStatus CreditCardModel = new CreditCardStatus(); CreditCardModel.Amt = 1800; CreditCardModel.CloseType = 1; CreditCardModel.IndexType = 1; CreditCardModel.TimeStamp = TimeStamp; CreditCardModel.TradeNo = "16112916564939969"; CreditCardModel.RespondType = "JSON"; CreditCardModel.MerchantOrderNo = "2016112996E19CF2"; CreditCardModel.Post(); //var str = HttpContext.Current.Request["JSONData"]; //var model = JsonConvert.DeserializeObject<PayGoRespond>(str); //var result = JsonConvert.DeserializeObject<PayResult>(model.Result); //string PaymentType = result.PaymentType; //DateTime? PayTime = string.IsNullOrEmpty(result.PayTime) ? (DateTime?)null : Convert.ToDateTime(result.PayTime); //try //{ // using (var db = new MyAnythingEntities()) // { // var Order = db.OrderMaster.Where(o => o.MerchantOrderNo == result.MerchantOrderNo).FirstOrDefault(); // if (Order != null) // { // var PayGo = db.PayGo.Where(o => o.MerchantOrderNo == Order.MerchantOrderNo).FirstOrDefault(); // if (PayGo == null) // { // #region ## 新增 ## // db.PayGo.Add(new PayGo // { // Amt = result.Amt, // Auth = result.Auth == null ? string.Empty : result.Auth, // Barcode_1 = result.Barcode1 == null ? string.Empty : result.Barcode1, // Barcode_2 = result.Barcode2 == null ? string.Empty : result.Barcode2, // Barcode_3 = result.Barcode3 == null ? string.Empty : result.Barcode3, // Card4No = result.Card4No == null ? string.Empty : result.Card4No, // Card6No = result.Card6No == null ? string.Empty : result.Card6No, // CodeNo = result.CodeNo == null ? string.Empty : result.CodeNo, // EscrowBank = result.EscrowBank == null ? string.Empty : result.EscrowBank, // Inst = result.Inst, // InstEach = result.InstEach, // InstFirst = result.InstFirst, // IP = result.IP, // MerchantID = result.MerchantID, // MerchantOrderNo = result.MerchantOrderNo, // Message = model.Message, // PayAccount5Code = result.PayerAccount5Code == null ? string.Empty : result.PayerAccount5Code, // PayBankCode = result.BankCode == null ? string.Empty : result.BankCode, // PayTime = DateTime.Parse(result.PayTime), // RedAmt = result.RedAmt, // RespondCode = result.RespondCode == null ? string.Empty : result.RespondCode, // Status = model.Status == null ? string.Empty : model.Status, // RespondType = result.RespondType == null ? string.Empty : result.RespondType, // TokenUseStatus = result.TokenUseStatus, // TradeNo = result.TradeNo == null ? string.Empty : result.TradeNo // }); // db.SaveChanges(); // #endregion // } // else // { // #region ## 更新 ## // PayGo.Amt = result.Amt; // PayGo.Auth = result.Auth == null ? string.Empty : result.Auth; // PayGo.Barcode_1 = result.Barcode1 == null ? string.Empty : result.Barcode1; // PayGo.Barcode_2 = result.Barcode2 == null ? string.Empty : result.Barcode2; // PayGo.Barcode_3 = result.Barcode3 == null ? string.Empty : result.Barcode3; // PayGo.Card4No = result.Card4No == null ? string.Empty : result.Card4No; // PayGo.Card6No = result.Card6No == null ? string.Empty : result.Card6No; // PayGo.CodeNo = result.CodeNo == null ? string.Empty : result.CodeNo; // PayGo.EscrowBank = result.EscrowBank == null ? string.Empty : result.EscrowBank; // PayGo.Inst = result.Inst; // PayGo.InstEach = result.InstEach; // PayGo.InstFirst = result.InstFirst; // PayGo.IP = result.IP; // PayGo.MerchantID = result.MerchantID; // PayGo.MerchantOrderNo = result.MerchantOrderNo; // PayGo.Message = model.Message; // PayGo.PayAccount5Code = result.PayerAccount5Code == null ? string.Empty : result.PayerAccount5Code; // PayGo.PayBankCode = result.BankCode == null ? string.Empty : result.BankCode; // PayGo.PayTime = PayTime; // PayGo.RedAmt = result.RedAmt; // PayGo.RespondCode = result.RespondCode == null ? string.Empty : result.RespondCode; // PayGo.Status = model.Status == null ? string.Empty : model.Status; // PayGo.RespondType = result.RespondType == null ? string.Empty : result.RespondType; // PayGo.TokenUseStatus = result.TokenUseStatus; // PayGo.TradeNo = result.TradeNo == null ? string.Empty : result.TradeNo; // //db.SaveChanges(); // #endregion // } // //var PayTime = string.IsNullOrEmpty(result.PayTime) ? DateTime.MinValue : DateTime.Parse(result.PayTime); // if (model.Status.Equals("SUCCESS") && // !string.IsNullOrEmpty(result.PayTime) && // PayTime > DateTime.MinValue // && !db.MyBouns.Any(o=>o.MerchantOrderNo == Order.MerchantOrderNo)) // { // var Bouns = new BonusViewModel(); // Bonus.MerchantOrderNo = Order.MerchantOrderNo; // Bonus.OrderID = Order.ID; // Bonus.PayTime = PayTime; // Bonus.Status = model.Status; // Bonus.OrderAmt = Order.Amount; // Bonus.UseMonth = DateTime.Now.Month + 1; // Bonus.UserID = Order.UserId; // Bonus.Create(); // } // } // } //} //catch (Exception ex) //{ // using (var db = new MyAnythingEntities()) // { // db.TEST.Add(new TEST { Message = ex.Message.ToString(), Created = DateTime.Now }); // db.SaveChanges(); // } //} return(Json(new { Message = "SUCCESS", Status = true })); }