Example #1
0
        public PaymentDetailModel FanapBookTrip(int userId, long tripId)
        {
            var res          = new PaymentDetailModel();
            var fanapService = new FanapService();
            var pr           = new PayReq();

            using (var dataModel = new MibarimEntities())
            {
                var trip = dataModel.vwDriverTrips.FirstOrDefault(x => x.TripId == tripId && !x.DrIsDeleted);
                if (trip != null)
                {
                    pr.PayReqCreateTime = DateTime.Now;
                    pr.PayReqUserId     = userId;
                    pr.PayReqValue      = (double)trip.PassPrice;
                    dataModel.PayReqs.Add(pr);
                    dataModel.SaveChanges();
                    var bookreq = new BookRequest();
                    bookreq.TripId       = tripId;
                    bookreq.BrCreateTime = DateTime.Now;
                    bookreq.BookingType  = (int)BookingTypes.Fanap;
                    bookreq.UserId       = userId;
                    bookreq.IsBooked     = false;
                    bookreq.PayReqId     = pr.PayReqId;
                    dataModel.BookRequests.Add(bookreq);
                    dataModel.SaveChanges();

                    var fanapUser = dataModel.Fanaps.Where(x => x.userId == userId).OrderByDescending(y => y.FanapId).FirstOrDefault();
                    var user      = dataModel.vwUserInfoes.FirstOrDefault(x => x.UserId == userId);
                    var ott       = fanapService.GetOneTimeToken();
                    var desc      = string.Format(getResource.getMessage("PaymentDesc"), user.Name + " " + user.Family, trip.PassPrice);
                    var factorId  = fanapService.IssueInvoice(trip.PassPrice, fanapUser.fuserId, ott, desc);

                    /*res.BankLink = "http://sandbox.fanapium.com:1031/v1/pbc/payinvoice/?invoiceId=" + factorId
                     + "&redirectUri=" + "http://ifanap.mibarim.ir/fanap/PayReturn/?payreqId=" + pr.PayReqId +
                     +         "&callUri=" + "http://ifanap.mibarim.ir/fanap/PayReturn/?payreqId=" + pr.PayReqId;*/
                    res.BankLink = "https://gw.fanapium.com/v1/pbc/payinvoice/?invoiceId=" + factorId
                                   + "&redirectUri=" + "http://ifanap.mibarim.ir/fanap/PayReturn/?payreqId=" + pr.PayReqId +
                                   "&callUri=" + "http://ifanap.mibarim.ir/fanap/PayReturn/?payreqId=" + pr.PayReqId;
                    pr.PayReqRefID = factorId;
                    dataModel.SaveChanges();
                }
                return(res);
            }
        }