Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        public CreditCard Get(Invoice incoice)
        {
            CreditCardMapper creditCardMapper = new CreditCardMapper();

            return(creditCardMapper.Get(incoice));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Devuelve el listado con el tipo de tarjetas disponibles.
        /// </summary>
        /// <returns></returns>
        public List <CreditCardType> Get()
        {
            CreditCardMapper creditCardMapper = new CreditCardMapper();

            return(creditCardMapper.Get());
        }
Exemplo n.º 6
0
 public void AddOrUpdateCreditCard(CreditCardViewModel creditCardViewModel)
 {
     _creditCardRepository.AddOrUpdateCreditCard(CreditCardMapper.ModelToEntity(creditCardViewModel));
 }
Exemplo n.º 7
0
 public CreditCardViewModel GetCreditCard(int id)
 {
     return(CreditCardMapper.EntityToModel(_creditCardRepository.GetCreditCard(id)));
 }