//Delete Item public void Delete(CreditCard creditCard) { LogRepository logRepository = new LogRepository(); string computerName = logRepository.GetComputerName(); string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; using (TransactionScope ts = TransactionUtils.CreateTransactionScope()) { using (ccdbDC creditCardDatabase = new ccdbDC(ConfigurationManager.ConnectionStrings["CreditCardDatabase"].ConnectionString)) { creditCardDatabase.spDesktopDataAdmin_DeleteCreditCard_v1(creditCard.CreditCardToken); } using (HierarchyDC desktopDatabase = new HierarchyDC(Settings.getConnectionString())) { desktopDatabase.spDesktopDataAdmin_DeleteClientTopUnitCreditCard_v1( creditCard.CreditCardId, adminUserGuid, creditCard.VersionNumber, Settings.ApplicationName(), Settings.ApplicationVersion(), null, computerName, null, null, 13, null, null, null ); } ts.Complete(); } }
//Get a Card //LastRetrievedTimestamp is updated when we retrieve a card to Edit, but not when we retrieve to Delete or View public CreditCardEditable GetCreditCardEditable(int creditCardId, bool updateLastRetrievedTimestamp) { // return db.spDesktopDataAdmin_SelectCreditCard_v1(creditCardId).FirstOrDefault(); var result = (from n in db.spDesktopDataAdmin_SelectCreditCard_v1(creditCardId) select new CreditCardEditable { CreditCardId = n.CreditCardId, MaskedCreditCardNumber = n.MaskedCreditCardNumber, CreditCardValidFrom = n.CreditCardValidFrom, CreditCardValidTo = n.CreditCardValidTo, CreditCardIssueNumber = n.CreditCardIssueNumber, CreditCardHolderName = n.CreditCardHolderName, CreditCardVendorCode = n.CreditCardVendorCode, ClientTopUnitGuid = n.ClientTopUnitGuid, CreditCardTypeId = n.CreditCardTypeId, CreditCardToken = n.CreditCardToken, VersionNumber = n.VersionNumber }).FirstOrDefault(); if (result.CreditCardToken != null) { if ((bool)updateLastRetrievedTimestamp) { using (ccdbDC creditCardDatabase = new ccdbDC(ConfigurationManager.ConnectionStrings["CreditCardDatabase"].ConnectionString)) { creditCardDatabase.spDesktopDataAdmin_UpdateCreditCard_v1(result.CreditCardToken); } } } return(result); }
//Add Data From Linked Tables for Display /*public void EditForDisplay(CreditCardClientAccount creditCardClientAccount) * { * CreditCardRepository creditCardRepository = new CreditCardRepository(); * CreditCard creditCard = new CreditCard(); * creditCard = creditCardRepository.GetCreditCard(creditCardClientAccount.CreditCardId); * if (creditCard != null) * { * creditCardClientAccount.CreditCardHolderName = creditCard.CreditCardHolderName; * } * * ClientAccountRepository clientAccountRepository = new ClientAccountRepository(); * ClientAccount clientAccount = new ClientAccount(); * clientAccount = clientAccountRepository.GetClientAccount(creditCardClientAccount.ClientAccountNumber, creditCardClientAccount.SourceSystemCode); * if (clientAccount != null) * { * creditCardClientAccount.ClientAccountName = clientAccount.ClientAccountName; * } * * } */ //Add CreditCard for ClientAccount public void Add(CreditCard creditCard, string can, string ssc) { LogRepository logRepository = new LogRepository(); string computerName = logRepository.GetComputerName(); string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; string maskedCreditCardNumber = creditCard.CreditCardNumber.Substring(creditCard.CreditCardNumber.Length - 4).PadLeft(creditCard.CreditCardNumber.Length, '*'); string maskedCVVNumber = (!string.IsNullOrEmpty(creditCard.CVV)) ? new string('*', creditCard.CVV.Length) : string.Empty; string creditCardToken = ""; //Valid To Date Should Be End Of Month DateTime creditCardValidTo = new DateTime(creditCard.CreditCardValidTo.Year, creditCard.CreditCardValidTo.Month, 1).AddMonths(1).AddDays(-1); using (TransactionScope ts = TransactionUtils.CreateTransactionScope()) { using (ccdbDC creditCardDatabase = new ccdbDC(ConfigurationManager.ConnectionStrings["CreditCardDatabase"].ConnectionString)) { creditCardDatabase.spDesktopDataAdmin_InsertCreditCard_v1(creditCard.CreditCardNumber, creditCard.CVV, ref creditCardToken); } using (HierarchyDC desktopDatabase = new HierarchyDC(Settings.getConnectionString())) { desktopDatabase.spDesktopDataAdmin_InsertClientAccountCreditCard_v1( ssc, can, creditCardToken, maskedCreditCardNumber, maskedCVVNumber, creditCard.CreditCardValidFrom, creditCardValidTo, creditCard.CreditCardIssueNumber, creditCard.CreditCardHolderName, creditCard.CreditCardVendorCode, creditCard.ClientTopUnitGuid, creditCard.CreditCardTypeId, creditCard.ProductId, creditCard.SupplierCode, adminUserGuid, Settings.ApplicationName(), Settings.ApplicationVersion(), null, computerName, null, null, creditCard.ClientSubUnitGuid, null, null ); } ts.Complete(); } }
//Edit CreditCard public void Edit(CreditCardEditable creditCard) { LogRepository logRepository = new LogRepository(); string computerName = logRepository.GetComputerName(); string maskedCVVNumber = creditCard.MaskedCVVNumber; string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; //Valid To Date Should Be End Of Month (Removed v19.0.1 for MNG Cards that expire mid month) //DateTime creditCardValidTo = new DateTime(creditCard.CreditCardValidTo.Year, creditCard.CreditCardValidTo.Month, 1).AddMonths(1).AddDays(-1); if (creditCard.MaskedCVVNumber == null && creditCard.CVV != null) { maskedCVVNumber = new string('*', creditCard.CVV.Length); using (ccdbDC creditCardDatabase = new ccdbDC(ConfigurationManager.ConnectionStrings["CreditCardDatabase"].ConnectionString)) { creditCardDatabase.spDesktopDataAdmin_UpdateCreditCardCVVNumber_v1(creditCard.CreditCardToken, creditCard.CVV); } } using (HierarchyDC desktopDatabase = new HierarchyDC(Settings.getConnectionString())) { desktopDatabase.spDesktopDataAdmin_UpdateCreditCard_v1( creditCard.CreditCardId, creditCard.CreditCardValidFrom, creditCard.CreditCardValidTo, creditCard.CreditCardIssueNumber, creditCard.CreditCardHolderName, creditCard.CreditCardTypeId, creditCard.ProductId, creditCard.SupplierCode, maskedCVVNumber, adminUserGuid, creditCard.VersionNumber, Settings.ApplicationName(), Settings.ApplicationVersion(), null, computerName, null, null, creditCard.ClientSubUnitGuid, creditCard.TravelerTypeGuid, null ); } }