public void AddUserCard(int userId, CreditCardViewModel cardViewModel, int purpose) { _creditCardRepository.AddOrUpdateCreditCard(CreditCardMapper.ModelToEntity(cardViewModel)); var card = _creditCardRepository.FindCreditCard(cardViewModel.Number); _userRepository.AddUserCard(userId, card.id, purpose); }
/// <summary> /// Persiste la factura en el sistema. /// </summary> /// <param name="invoice"></param> private void SaveInvoice(Invoice invoice) { //Persistir el invoice: debería hacerse en una transacción AddressManager addressManager = new AddressManager(); InvoiceMapper invoiceMapper = new InvoiceMapper(); InvoiceItemMapper invoiceItemMapper = new InvoiceItemMapper(); // TODO - si se crea un manager, mover la tarjeta CreditCardMapper creditCardMapper = new CreditCardMapper(); InvoiceCreditCardMapper invoiceCCMapper = new InvoiceCreditCardMapper(); InvoiceCreditNoteMapper invoiceCNoteMapper = new InvoiceCreditNoteMapper(); addressManager.Save(invoice.BillingAddress); invoiceMapper.Save(invoice); invoiceItemMapper.Save(invoice); if (invoice.CreditCard != null) { creditCardMapper.Save(invoice.CreditCard); invoiceCCMapper.Save(invoice); } if (invoice.CreditNotes != null) { invoiceCNoteMapper.Save(invoice); } }
public override bool IsValid() { bool isValid = true; creditCard.Field1 = SecurityHelper.RDesencrypt(creditCard.Field1); creditCard.Field2 = SecurityHelper.RDesencrypt(creditCard.Field2); creditCard.Field3 = SecurityHelper.RDesencrypt(creditCard.Field3); creditCard.Field4 = SecurityHelper.RDesencrypt(creditCard.Field4); isValid &= VOnlyNumber(SecurityHelper.RDesencrypt(creditCard.Cvv), 3, 3, "CVV", "IsValidForEdit"); isValid &= VOnlyNumber(creditCard.Field1, 4, 4, "Campo #1", "IsValid"); isValid &= VOnlyNumber(creditCard.Field2, 4, 4, "Campo #2", "IsValid"); isValid &= VOnlyNumber(creditCard.Field3, 4, 4, "Campo #3", "IsValid"); isValid &= VOnlyNumber(creditCard.Field4, 4, 4, "Campo #4", "IsValid"); if (creditCard.DueDate < DateTime.Today) { string errorDescription = "La tarjeta no puede presentar fecha de expiración anterior al día actual."; log.AddLogCritical("IsValid", errorDescription, this); AddError(new ResultBE(ResultBE.Type.INCOMPLETE_FIELDS, errorDescription)); isValid = false; } //Evalúo parcialmente el estado de la validación if (!isValid) { return(false); } // Control de validez de la tarjeta CreditCardMapper creditCardMapper = new CreditCardMapper(); if (!creditCardMapper.IsValidPrefix(creditCard)) { string errorDescription = "El emisor de la tarjeta no se corresponde con el declarado."; log.AddLogCritical("IsValid", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); isValid = false; } creditCard.Field1 = SecurityHelper.REncrypt(creditCard.Field1); creditCard.Field2 = SecurityHelper.REncrypt(creditCard.Field2); creditCard.Field3 = SecurityHelper.REncrypt(creditCard.Field3); creditCard.Field4 = SecurityHelper.REncrypt(creditCard.Field4); //Evalúo parcialmente el estado de la validación if (!isValid) { return(false); } CreditCard cc = creditCardMapper.CreditCardList(creditCard); if (cc == null) { string errorDescription = "La tarjeta no está registrada ante la entidad emisora; verifique los datos."; log.AddLogCritical("IsValid", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); isValid = false; } if (cc != null && !cc.Allowed) { string errorDescription = "La tarjeta actual no puede utilizarse porque está anulada."; log.AddLogCritical("IsValid", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); isValid = false; } return(isValid); }
public CreditCard Get(Invoice incoice) { CreditCardMapper creditCardMapper = new CreditCardMapper(); return(creditCardMapper.Get(incoice)); }
/// <summary> /// Devuelve el listado con el tipo de tarjetas disponibles. /// </summary> /// <returns></returns> public List <CreditCardType> Get() { CreditCardMapper creditCardMapper = new CreditCardMapper(); return(creditCardMapper.Get()); }
public void AddOrUpdateCreditCard(CreditCardViewModel creditCardViewModel) { _creditCardRepository.AddOrUpdateCreditCard(CreditCardMapper.ModelToEntity(creditCardViewModel)); }
public CreditCardViewModel GetCreditCard(int id) { return(CreditCardMapper.EntityToModel(_creditCardRepository.GetCreditCard(id))); }