Example #1
0
        public PaymentDetailModel Payresult(long modelReqId)
        {
            var fanapService = new FanapService();
            var res          = new PaymentDetailModel();

            using (var dataModel = new MibarimEntities())
            {
                var payreq = dataModel.PayReqs.FirstOrDefault(x => x.PayReqId == modelReqId);
                var payres = fanapService.GetPaymentResult(payreq.PayReqRefID);
                if (payres != null)
                {
                    if (payres.payed)
                    {
                        payreq.PayReqStatus = ((int)PaymentStatus.Payed).ToString();
                        res.State           = (int)PaymentStatus.Payed;
                        fanapService.CloseInvoice(payreq.PayReqRefID);
                        var reserve = _routeManager.ReserveSeat(payreq.PayReqId);
                    }
                    else if (payres.canceled)
                    {
                        payreq.PayReqStatus = ((int)PaymentStatus.Canceled).ToString();
                        res.State           = (int)PaymentStatus.Canceled;
                    }
                    //fanapService.CloseInvoice(payreq.PayReqRefID);
                    dataModel.SaveChanges();
                }
            }
            return(res);
        }
Example #2
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);
            }
        }
Example #3
0
        public UserModel GetFanapUserInfo(FanapModel fanapModel)
        {
            var userInfomodel = new UserModel();
            var fanapService  = new FanapService();
            var userInfo      = new FanapUserInfo();

            using (var dataModel = new MibarimEntities())
            {
                var cont = fanapService.GetAuthenticationToken(fanapModel.Code);
                if (cont.access_token != null)
                {
                    userInfo = fanapService.GetFanapUser(cont.access_token);
                    if (userInfo != null)
                    {
                        var fanap = new Fanap();
                        fanap.userId             = 1;
                        fanap.authorization_code = fanapModel.Code;
                        fanap.access_token       = cont.access_token;
                        fanap.refresh_token      = cont.refresh_token;
                        fanap.nickName           = userInfo.nickName;
                        fanap.birthDate          = userInfo.birthDate;
                        fanap.fuserId            = userInfo.userId;
                        userInfomodel.UserId     = userInfo.userId;
                        userInfomodel.Name       = userInfo.firstName;
                        userInfomodel.Family     = userInfo.lastName;
                        userInfomodel.UserId     = userInfo.userId;
                        userInfomodel.UserName   = userInfo.cellphoneNumber;
                        userInfomodel.Email      = userInfo.email;
                        fanap.score = userInfo.score.ToString();
                        dataModel.Fanaps.Add(fanap);
                        dataModel.SaveChanges();
                        var business = fanapService.getBusiness();
                        fanapService.FollowBusiness(cont.access_token, business.result.id);
                        return(userInfomodel);
                    }
                }
            }

            return(userInfomodel);
        }