Ejemplo n.º 1
0
 /// <summary>
 /// Payment Deduct through Carditcard ID
 /// </summary>
 /// <param name="BookingID"></param>
 /// <returns></returns>
 public ActionResult PaypalValutthroughDeductPayment(int BookingID = 0)
 {
     if (BookingID != 0)
     {
         var    db               = GetDb();
         String UserID           = User.Identity.GetUserId();
         PayPalbusinessLogic obj = new PayPalbusinessLogic();
         // Token Get;
         string Token             = PaypalConfiguration.GetAccessToken();
         var    UserAccountDetail = db.UserAccountDetail.Where(x => x.UserId == UserID && x.BookingID == BookingID).FirstOrDefault();
         var    response          = obj.GetCraditCardPaypalValut(Token, UserAccountDetail.CraditcardID);
         var    _AmountViewModel  = (from ep in db.UserAccountDetail
                                     join e in db.Booking on ep.BookingID equals e.ID
                                     join see in db.SessionType on e.SessionType equals see.ID
                                     where ep.UserId == UserID && ep.BookingID == BookingID
                                     select new AmountViewModel
         {
             ID = ep.ID,
             Amount = see.Price,
             UserID = ep.UserId,
             CraditcardID = ep.CraditcardID,
             Email = ep.Email,
             BookingID = ep.BookingID,
             SessionType = e.SessionType,
             UserDetailID = ep.ID
         }).FirstOrDefault();
         if (_AmountViewModel != null)
         {
             var PapalvalutAmountDeductResponse = obj.AmountDeduct(_AmountViewModel);
             if (PapalvalutAmountDeductResponse.state != "created")
             {
                 PaymentDetails PaymentDetails = new PaymentDetails();
                 PaymentDetails.BookingID        = _AmountViewModel.BookingID;
                 PaymentDetails.Createddate      = DateTime.Now;
                 PaymentDetails.Updateddate      = DateTime.Now;
                 PaymentDetails.Status           = "Success";
                 PaymentDetails.UserId           = _AmountViewModel.UserID;
                 PaymentDetails.TotalAmount      = PapalvalutAmountDeductResponse.Amount;
                 PaymentDetails.Intent           = PapalvalutAmountDeductResponse.intent;
                 PaymentDetails.ResponseID       = PapalvalutAmountDeductResponse.id;
                 PaymentDetails.UserDetailID     = _AmountViewModel.UserDetailID;
                 PaymentDetails.PaymentProcessed = true;
                 db.PaymentDetail.Add(PaymentDetails);
             }
         }
     }
     return(View());
 }