Example #1
0
        public async Task <Entities.Payment> AddAsync(Entities.Payment entity)
        {
            _unitOfWork.PaymentRepository.Add(entity);
            var commit = await _unitOfWork.CommitAsync();

            if (!commit)
            {
                return(await Task.FromResult <Entities.Payment>(null));
            }

            return(await _unitOfWork.PaymentRepository.GetByIdAsync(entity.Id));
        }
       public virtual Guid Register(IPaymentContract value)
       {
           var persistedObject = new Entities.Payment()
               {
                   Id = new Guid(),
                   Amount = value.Amount,
                   Comments = value.Comments,
                   PaymentDate = value.PaymentDate,
                   Commitment = session.Get<Entities.Commitment>(value.CommitmentId),
                   PaymentPeriod = session.Get<Entities.PaymentPeriod>(value.PaymentPeriodId)
               };

           session.Save(persistedObject);
           this.FlashMessenger.AddMessageByKey("CreatePaymentSuccess" , FlashMessageType.Success);
           return persistedObject.Id;
       }
        public virtual Guid Register(IPaymentContract value)
        {
            var persistedObject = new Entities.Payment()
            {
                Id            = new Guid(),
                Amount        = value.Amount,
                Comments      = value.Comments,
                PaymentDate   = value.PaymentDate,
                Commitment    = session.Get <Entities.Commitment>(value.CommitmentId),
                PaymentPeriod = session.Get <Entities.PaymentPeriod>(value.PaymentPeriodId)
            };

            session.Save(persistedObject);
            this.FlashMessenger.AddMessageByKey("CreatePaymentSuccess", FlashMessageType.Success);
            return(persistedObject.Id);
        }
        public void Create_Should_Call_PaymentProvider_And_Save_Payment_In_Repo()
        {
            // Arrange
            var paymentRequest = new PaymentRequest()
            {
                Card = new Card()
                {
                    ExpiryDate = "11/2025",
                    Cvv        = "123",
                    Number     = "0000000000001234",
                    Name       = "Firstname Lastname"
                },
                Amount   = 500m,
                Currency = "GBP"
            };
            var cardPaymentResult = new CardPaymentResult()
            {
                PaymentId = Guid.NewGuid(),
                Status    = "authorized"
            };

            _cardPaymentProvider.Setup(x => x.RequestPayment(paymentRequest))
            .Returns(cardPaymentResult);
            var paymentRepo = new Entities.Payment(cardPaymentResult.PaymentId,
                                                   paymentRequest.Card.Number.Mask(), paymentRequest.Card.ExpiryDate, cardPaymentResult.Status);

            _paymentRepo.Setup(x => x.Create(It.IsAny <Entities.Payment>()))
            .Returns(paymentRepo);

            // Act
            var result = _paymentService.Create(paymentRequest);

            // Assert
            result.ShouldNotBeNull();
            result.Id.ShouldBe(paymentRepo.Id);
            result.CardNumber.ShouldBe(paymentRequest.Card.Number.Mask());
            result.Status.ShouldBe(cardPaymentResult.Status);
            _cardPaymentProvider.Verify(x => x.RequestPayment(paymentRequest), Times.Once);
            _paymentRepo.Verify(x => x.Create(It.IsAny <Entities.Payment>()), Times.Once);
        }
        public void Get_Should_Return_Specific_Payment()
        {
            // Arrange
            var paymentRepo = new Entities.Payment(Guid.NewGuid(),
                                                   "************1234", "11/25", "authorized")
            {
                Id = "507f191e810c19729de860ea"
            };

            _paymentRepo.Setup(x => x.Get(paymentRepo.Id))
            .Returns(paymentRepo);

            // Act
            var result = _paymentService.Get(paymentRepo.Id);

            // Assert
            result.ShouldNotBeNull();
            result.Id.ShouldBe(paymentRepo.Id);
            result.CardNumber.ShouldBe(paymentRepo.CardNumber.Mask());
            result.Status.ShouldBe(paymentRepo.Status);
            _paymentRepo.Verify(x => x.Get(paymentRepo.Id), Times.Once);
        }
        public OperationResult CreatePayment(ServiceDataContracts.Payment payment)
        {
            try
            {
                var p = new Entities.Payment
                {
                    Code           = payment.Code,
                    FiskalId       = payment.FiskalId,
                    IsActive       = payment.IsActive,
                    IsCash         = payment.IsCash,
                    Name           = payment.Name,
                    ToGo           = payment.ToGo,
                    FRSend         = payment.FRSend,
                    PaymentGroupId = payment.PaymentGroupId,
                    SHId           = payment.SHId
                };

                db.Payments.Add(p);
                db.SaveChanges();

                return(new OperationResult
                {
                    Success = true,
                    CreatedObjectId = p.Id
                });
            }
            catch (Exception e)
            {
                log.Error("Error", e);
                return(new OperationResult
                {
                    Success = false,
                    ErrorMessage = e.Message
                });
            }
        }
Example #7
0
 public Entities.Payment Create(Entities.Payment payment)
 {
     _logger.LogDebug("PaymentRepo.Create() request", payment);
     _payments.InsertOne(payment);
     return(payment);
 }
 private bool CanDelete(Entities.Payment value)
 {
     return(true);
 }