Beispiel #1
0
        public async Task <PaymentMethodDTO> InsertPaymentMethodAsync(Guid userId, PaymentMethodDTO paymentMethod)
        {
            if (await _unitOfWork.AnyAsync <PaymentMethod>(m => m.CardNumber == paymentMethod.CardNumber))
            {
                throw new ItemExistsException(nameof(paymentMethod),
                                              "Card with this card number already exists in database");
            }

            var entity = _mapper.Map <PaymentMethodDTO, PaymentMethod>(paymentMethod, opt => opt.AfterMap((src, dest) =>
            {
                dest.UserId = userId.ToString();
            }));

            var inserted = await _unitOfWork.InsertAsync(entity);

            if (!await IsUserHaveDefaultPaymentMethodAsync(userId))
            {
                var defaultPayment = _mapper.Map <PaymentMethod, DefaultPaymentMethod>(inserted);
                await _unitOfWork.InsertAsync(defaultPayment);
            }

            await _unitOfWork.CommitAsync();

            return(_mapper.Map <PaymentMethod, PaymentMethodDTO>(inserted));
        }
Beispiel #2
0
        public IList <PaymentMethodDTO> GetPaymentMethods()
        {
            SAPbobsCOM.Recordset     lObjResults           = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
            IList <PaymentMethodDTO> lLstObjPaymentMethods = new List <PaymentMethodDTO>();

            try
            {
                string lStrQuery = this.GetSQL("GetPaymentMethods");
                lObjResults.DoQuery(lStrQuery);
                if (lObjResults.RecordCount > 0)
                {
                    for (int i = 0; i < lObjResults.RecordCount; i++)
                    {
                        PaymentMethodDTO lObjPaymentMethodDTO = new PaymentMethodDTO();
                        lObjPaymentMethodDTO.PayMethCod = lObjResults.Fields.Item("PayMethCod").Value.ToString();
                        lObjPaymentMethodDTO.Descript   = lObjResults.Fields.Item("Descript").Value.ToString();
                        lLstObjPaymentMethods.Add(lObjPaymentMethodDTO);
                        lObjResults.MoveNext();
                    }
                }
                return(lLstObjPaymentMethods);
            }
            catch (Exception e)
            {
                LogUtility.WriteError(string.Format("[PaymentMethodDAO - GetPaymentMethods] Error al obtener los metodos de pago: {0}", e.Message));
                throw new Exception(string.Format("Error al obtener los métodos de pago: {0}", e.Message));
            }
            finally
            {
                MemoryUtility.ReleaseComObject(lObjResults);
            }
        }
Beispiel #3
0
        private static void HideSensitive(PaymentMethod auctionDto, PaymentMethodDTO auction)
        {
            var cardNumber = new StringBuilder(auctionDto.CardNumber);

            for (var i = 4; i < 12; i++)
            {
                cardNumber[i] = '*';
            }
            auctionDto.CardNumber = cardNumber.ToString();
        }
Beispiel #4
0
        public bool UpdatePaymentMethod(PaymentMethodDTO paymentMethod)
        {
            try
            {
                var p = (from x in db.paymentMethod
                         where paymentMethod.PMID == x.PMID
                         select x).SingleOrDefault();

                paymentMethod.PMID = p.PMID;
                paymentMethod.name = p.name;

                db.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #5
0
        public bool AddPaymentMethod(PaymentMethodDTO PaymentMethod)
        {
            try
            {
                var p = new paymentMethod
                {
                    PMID = PaymentMethod.PMID,
                    name = PaymentMethod.name
                };

                db.paymentMethod.Add(p);
                db.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #6
0
        public async Task <IActionResult> CreatePaymentMethod([FromBody] PaymentMethodDTO request)
        {
            await _paymentService.InsertPaymentMethodAsync(_userProvider.GetUserId(), request);

            return(Ok(JsonSerializer.Serialize(request)));
        }
        public async Task Handle(OrderStatusChangedToStockConfirmedDomainEvent notification, CancellationToken cancellationToken)
        {
            _logger.LogInformation(" [x] SendStockConfirmedIntegrationEventWhenStockConfirmed: " +
                                   "Preparing integration event: OrderStatusChangedToStockConfirmedIntegrationEvent");

            var order = await _orderRepository.GetAsync(notification.OrderId);

            var buyer = await _buyerRepository.FindByIdAsync(Convert.ToInt32(order.GetBuyerId));

            var paymentMethod = buyer.PaymentMethods.First();

            var integrationEvent = new OrderStatusChangedToStockConfirmedIntegrationEvent(notification.OrderId, buyer: buyer.Name,
                                                                                          paymentMethod: PaymentMethodDTO.ToPaymentMethodDto(paymentMethod));


            _logger.LogInformation(" [x] SendStockConfirmedIntegrationEventWhenStockConfirmed: " +
                                   "Integration event is publishing through event bus. Order ID: {0}, Buyer: {1}, PaymentMethod: {2}",
                                   order.Id, buyer.Name, paymentMethod.CardNumber);

            await _orderingIntegrationEventService.AddIntegrationEventToLog(integrationEvent, null);

            await _orderingIntegrationEventService.PublishEvent(integrationEvent);
        }
 public bool UpdatePaymentMethod(PaymentMethodDTO PaymentMethod)
 {
     return(pmq.UpdatePaymentMethod(PaymentMethod));
 }
 public bool AddPaymentMethod(PaymentMethodDTO PaymentMethod)
 {
     return(pmq.AddPaymentMethod(PaymentMethod));
 }
Beispiel #10
0
 public IHttpActionResult Put([FromUri] int id, [FromBody] PaymentMethodDTO PaymentMethod)
 {
     PaymentMethodService.PrePutDTO(ModelState, currentClient, id, PaymentMethod);
     return(Ok());
 }
Beispiel #11
0
 public IHttpActionResult Post([FromBody] PaymentMethodDTO PaymentMethod)
 {
     return(Ok(PaymentMethodService.PrePostDTO(ModelState, currentClient, PaymentMethod)));
 }