Esempio n. 1
0
        public async Task <JsonResult> InitializeFreeEventPayment(string Fullname, string phoneNo, string email, string NoOfPersons,
                                                                  int TicketType)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname = Fullname;
            ct.phoneNo  = phoneNo;

            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);

            ct.TicketType = TicketType;

            var BatchCounter = oEventClassModel.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oEventClassModel.SaveFreeTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                return(Json(new { nErrorCode = 0, sErrorText = "Event Registered Successfully" }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { nErrorCode = -1, sErrorText = "Event Failed to Register" }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> InitializeFreeEventPayment(string Fullname, string phoneNo, string email, string NoOfPersons,
                                                                  int TicketType)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname = Fullname;
            ct.phoneNo  = phoneNo;

            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);

            ct.TicketType = TicketType;

            var BatchCounter = oEventClassModel.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oEventClassModel.SaveFreeTicketDetails(ct, Reference);

            if (rtn.Itbid != 0)
            {
                var res = oEventClassModel.SendEvent((rtn));
                if (res != null)
                {
                    BackgroundJob.Enqueue(() => EmailNotificationMail.SendEmailPlain(rtn.Email, "Payment Receipt - " + rtn.ReferenceNo, res, null, "*****@*****.**"));
                }

                return(Json(new { nErrorCode = 0, sErrorText = "Event Registered Successfully" }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { nErrorCode = -1, sErrorText = "Event Failed to Register" }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> InitializeMoviePaymentFM(string Fullname, string phoneNo, string email, string NoOfPersons
                                                                , string MovieCategory, string Amount, string MovieDay, string MovieTime, string MovieName,
                                                                string siteId, string orderId, string showtimeId, string MovieCategoryText)
        {
            oGenericViewModel.rv = new ReturnValues();
            string[] id   = MovieCategory.Split('_');
            string[] mDay = MovieDay.Split('_');


            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname    = Fullname;
            ct.phoneNo     = phoneNo;
            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);
            ct.Amount      = Amount;
            //ct.Amount = "2.00";
            ct.MovieDate = MovieDay;
            ct.MovieTime = MovieTime;
            ct.siteId    = siteId;
            ct.orderId   = orderId;

            ct.cat            = MovieCategoryText;
            ct.showtimeId     = showtimeId;
            ct.MovieName      = MovieName;
            ct.TicketCategory = id[1];
            var BatchCounter = oMoviesModelClass.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oMoviesModelClass.SaveTicketDetailsFm(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk = await oMoviesModelClass.GetClientProfileDetails("001");

                int PayStackAmount = oMoviesModelClass.CalculatePayStackAmount(Amount, Convert.ToInt32(NoOfPersons), "");
                //int PayStackAmount = oMoviesModelClass.CalculatePayStackAmount("5.00", Convert.ToInt32(NoOfPersons), "");
                PayStackRequestModel rt = new PayStackRequestModel();
                rt.amount = PayStackAmount;
                rt.email  = email;

                rt.firstName = Fullname;
                rt.lastName  = Fullname;


                var paystackTransactionAPI = new PaystackTransaction(tk.ClientPayStackSecretKey);
                var response = await paystackTransactionAPI.InitializeTransaction(rt.email, rt.amount, rt.firstName, rt.lastName, "https://www.ticketplanet.ng/Movies/PaymentConfirmationFM", Reference);

                //Note that callback url is optional
                if (response.status == true)
                {
                    oMoviesModelClass.UpdatePayStackReference(Reference, response.data.reference);
                    return(Json(new { error = false, result = response }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> FlutterwaveMoviePaymentFM(string Fullname, string phoneNo, string email, string NoOfPersons
                                                                 , string MovieCategory, string Amount, string MovieDay, string MovieTime, string MovieName,
                                                                 string siteId, string orderId, string showtimeId, string MovieCategoryText)
        {
            oGenericViewModel.rv = new ReturnValues();
            string[] id   = MovieCategory.Split('_');
            string[] mDay = MovieDay.Split('_');


            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname    = Fullname;
            ct.phoneNo     = phoneNo;
            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);
            ct.Amount      = Amount;
            ct.MovieDate   = MovieDay;
            ct.MovieTime   = MovieTime;
            ct.siteId      = siteId;
            ct.orderId     = orderId;

            ct.cat        = MovieCategoryText;
            ct.showtimeId = showtimeId;
            ct.MovieName  = MovieName;

            ct.TicketCategory = id[1];
            var BatchCounter = oMoviesModelClass.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReferenceFLW(BatchCounter);
            var rtn          = oMoviesModelClass.SaveTicketDetailsFm(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk = await oMoviesModelClass.GetClientProfileDetails("002");

                int flutterwaveAmount = oMoviesModelClass.CalculateFlutterAmount(Amount, Convert.ToInt32(NoOfPersons), "");

                FlutterWaveRequestModel rt = new FlutterWaveRequestModel();
                rt.amount = flutterwaveAmount;
                //rt.amount = 5;
                rt.email     = email;
                rt.firstName = Fullname;
                rt.lastName  = Fullname;
                rt.publicKey = tk.MobileClientPayStackSecretKey;
                rt.secretKey = tk.ClientPayStackSecretKey;
                //rt.publicKey = testSecretKey;
                //rt.secretKey = testPublicKeys;
                rt.redirectUrl = tk.TicketPlanetEventCallBackUrl;
                rt.Reference   = Reference;
                rt.phoneNo     = phoneNo;

                return(Json(new { result = rt, error = false }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 5
0
        public async Task <JsonResult> InitializeEventPayment(string Fullname, string phoneNo, string email, string NoOfPersons
                                                              , string TicketCategory, string Amount, string comments, int TicketType, string TicketCategoryName, string CouponValue, string ReferalId)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname = Fullname;
            ct.phoneNo  = phoneNo;

            ct.email          = email;
            ct.NoOfPersons    = Convert.ToInt32(NoOfPersons);
            ct.TicketCategory = TicketCategory;
            ct.Amount         = Amount;
            //ct.comments = comments;
            ct.TicketType = TicketType;
            //ct.Validated = Validated;
            ct.ReferalId = ReferalId;

            var BatchCounter = oEventClassModel.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oEventClassModel.SaveTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk             = oEventClassModel.GetClientProfileDetails("001");
                int PayStackAmount = oEventClassModel.CalculatePayStackAmount(Convert.ToInt32(TicketCategory), TicketCategoryName, Convert.ToInt32(NoOfPersons), CouponValue);

                PayStackRequestModel rt = new PayStackRequestModel();
                rt.amount = PayStackAmount;
                //rt.amount = 5;
                rt.email = email;

                rt.firstName = Fullname;
                rt.lastName  = Fullname;


                var paystackTransactionAPI = new PaystackTransaction(tk.ClientPayStackSecretKey);
                var response = await paystackTransactionAPI.InitializeTransaction(rt.email, rt.amount, rt.firstName, rt.lastName, tk.TicketPlanetFlightCallBackUrl, Reference, null, null, true);

                //Note that callback url is optional
                if (response.status == true)
                {
                    await oEventClassModel.UpdatePayStackReference(Reference, response.data.reference);

                    return(Json(new { error = false, result = response }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
        public tk_FreeEventCustomers SaveFreeEventCustomer(GenericViewModel model, int ticketID)
        {
            var    cust    = new tk_FreeEventCustomers();
            string tranRef = string.Empty;

            try
            {
                if (model != null)
                {
                    cust.DateCreated = DateTime.Now;
                    cust.Email       = model.FreeEventCustomerEmail;
                    cust.EventId     = ticketID;
                    cust.Fullname    = model.FreeEventCustomerName;
                    cust.PhoneNo     = model.FreeEventCustomerPhoneNo;
                    cust.NoOfPersons = model.FreeEventNoofPersons;
                    cust.IsEmailSent = "N";
                    cust.UserId      = 1;
                    cust.Status      = "SUCCESSFULL";
                    cust.Retry       = 0;
                    cust.ReferenceNo = RefferenceGenerator.GenerateReference(GetCurrentCounter());
                    repoFreeEventCustomers.Add(cust);
                    var retV1 = unitOfWork.CommitNonAsync(1) > 0 ? true : false;
                    if (retV1)
                    {
                        var counter = repotk_BatchCounter.GetNonAsync(null);
                        counter.BatchNo = counter.BatchNo + 1;
                        repotk_BatchCounter.Update(counter);
                        var rtv = unitOfWork.CommitNonAsync(1) > 0 ? true : false;

                        // Save SMS Table
                        // Insert Into PromoLog Table
                        var sms = new tk_Sms();
                        sms.DateCreated = DateTime.Now;
                        sms.Retry       = 0;
                        sms.Message     = "Dear " + cust.Fullname + ", Your Ticket Planet Ref is: " + cust.ReferenceNo + " this RefNo  is required for Confirmation at the Event";
                        sms.PhoneNo     = cust.PhoneNo;
                        sms.IsSent      = "N";
                        repoSms.Add(sms);
                        var retV3 = unitOfWork.CommitNonAsync(1) > 0 ? true : false;

                        return(cust);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(cust);
        }
Esempio n. 7
0
        public async Task <JsonResult> FlutterwaveDubaiPayment(string Fullname, string phoneNo, string email, string NoOfPersons
                                                               , string TicketCategory, string Amount, string comments, int TicketType, string TicketCategoryName, string cardCategory, string Validated, string ReferalId)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname = Fullname;
            ct.phoneNo  = phoneNo;

            ct.email          = email;
            ct.NoOfPersons    = Convert.ToInt32(NoOfPersons);
            ct.TicketCategory = TicketCategory;
            ct.Amount         = Amount;
            //ct.Amount = "5.00";
            //ct.comments = comments;
            ct.TicketType = TicketType;
            ct.ReferalId  = ReferalId == null ? "" : ReferalId;
            //ct.Validated = Validated;

            var BatchCounter = oEventClassModel.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReferenceFLW(BatchCounter);
            var rtn          = oEventClassModel.SaveTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk = oEventClassModel.GetClientProfileDetails("002");
                int flutterwaveAmount = oEventClassModel.CalculateFlutterTravelsAmount(Amount, Convert.ToInt32(TicketCategory), TicketCategoryName, Convert.ToInt32(NoOfPersons), cardCategory);

                FlutterWaveRequestModel rt = new FlutterWaveRequestModel();
                rt.amount = flutterwaveAmount;
                //rt.amount = 5;
                rt.email     = email;
                rt.firstName = Fullname;
                rt.lastName  = Fullname;
                rt.publicKey = tk.MobileClientPayStackSecretKey;
                rt.secretKey = tk.ClientPayStackSecretKey;
                //rt.publicKey = testSecretKey;
                //rt.secretKey = testPublicKeys;
                rt.redirectUrl = tk.TicketPlanetEventCallBackUrl;
                rt.Reference   = Reference;
                rt.phoneNo     = phoneNo;

                return(Json(new { result = rt, error = false }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 8
0
        public async Task <JsonResult> InitializeFathersDayEventPayment(string Fullname, string phoneNo, string email
                                                                        , string TicketCategory, string Amount, string TicketType)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname       = Fullname;
            ct.phoneNo        = phoneNo;
            ct.TicketType     = Convert.ToInt32(TicketType);
            ct.email          = email;
            ct.TicketCategory = TicketCategory;
            ct.Amount         = Amount;
            //ct.Validated = "N";

            var BatchCounter = oEventClassModel.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oEventClassModel.SaveFathersTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk             = oEventClassModel.GetClientProfileDetails("001");
                int PayStackAmount = oEventClassModel.CalculateFathersDayPayStackAmount(Convert.ToInt32(TicketCategory));

                PayStackRequestModel rt = new PayStackRequestModel();
                rt.amount = PayStackAmount;
                rt.email  = email;

                rt.firstName = Fullname;
                rt.lastName  = Fullname;


                var paystackTransactionAPI = new PaystackTransaction(tk.ClientPayStackSecretKey);
                var response = await paystackTransactionAPI.InitializeTransaction(rt.email, rt.amount, rt.firstName, rt.lastName, "https://ticketplanet.ng/Events/FathersDayPaymentConfirmation", Reference, null, null, true);

                //Note that callback url is optional
                if (response.status == true)
                {
                    await oEventClassModel.UpdatePayStackReference(Reference, response.data.reference);

                    return(Json(new { error = false, result = response }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> InitializeMoviePayment(string Fullname, string phoneNo, string email, string NoOfPersons
                                                              , string MovieCategory, string Amount, string comments, int CinemaLocation, int CinemaCompanyID, string MovieDay, string MovieTime, string MovieName,
                                                              string IsCoupon, string Coupon, string CouponAgentId, string CouponAssignId, string CouponID, string nErrorCode, string CouponValue)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname    = Fullname;
            ct.phoneNo     = phoneNo;
            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);

            ct.Amount          = Amount;
            ct.MovieDate       = MovieDay;
            ct.MovieTime       = MovieTime;
            ct.CinemaCompanyID = CinemaCompanyID;
            ct.CinemaLocation  = CinemaLocation;
            ct.MovieName       = MovieName;
            ct.TicketCategory  = MovieCategory;

            if (!string.IsNullOrEmpty(nErrorCode))
            {
                if (nErrorCode == "1")
                {
                    ct.Coupon         = Coupon;
                    ct.CouponAgentId  = !string.IsNullOrEmpty(CouponAgentId) ? Convert.ToInt32(CouponAgentId) : 0;
                    ct.CouponAssignId = !string.IsNullOrEmpty(CouponAssignId) ? Convert.ToInt32(CouponAssignId) : 0;
                    ct.CouponID       = !string.IsNullOrEmpty(CouponID) ? Convert.ToInt32(CouponID) : 0;
                    ct.IsCoupon       = IsCoupon;
                }
            }
            else
            {
                ct.IsCoupon = "N";
            }

            var BatchCounter = oMoviesModelClass.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReference(BatchCounter);
            var rtn          = oMoviesModelClass.SaveTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                var tk = await oMoviesModelClass.GetClientProfileDetails("001");

                int PayStackAmount = oMoviesModelClass.CalculatePayStackAmount(Amount, Convert.ToInt32(NoOfPersons), CouponValue);

                PayStackRequestModel rt = new PayStackRequestModel();
                //var percent = 0.1 * PayStackAmount;
                //var decrease = Convert.ToInt32((PayStackAmount - percent));

                rt.amount = PayStackAmount;
                //rt.amount = 50;
                rt.email = email;

                rt.firstName = Fullname;
                rt.lastName  = Fullname;


                //
                var paystackTransactionAPI = new PaystackTransaction(tk.ClientPayStackSecretKey);
                var response = await paystackTransactionAPI.InitializeTransaction(rt.email, rt.amount, rt.firstName, rt.lastName, "https://ticketplanet.ng/Movies/PaymentConfirmation", Reference);

                //Note that callback url is optional
                if (response.status == true)
                {
                    oMoviesModelClass.UpdatePayStackReference(Reference, response.data.reference);
                    return(Json(new { error = false, result = response }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> FlutterwaveMoviePaymentPercent(string Fullname, string phoneNo, string email, string NoOfPersons
                                                                      , string MovieCategory, string Amount, string comments, int CinemaLocation, int CinemaCompanyID, string MovieDay, string MovieTime, string MovieName,
                                                                      string IsCoupon, string Coupon, string CouponAgentId, string CouponAssignId, string CouponID, string nErrorCode, string CouponValue)
        {
            oGenericViewModel.rv = new ReturnValues();

            TicketRequestModel ct = new TicketRequestModel();

            ct.Fullname    = Fullname;
            ct.phoneNo     = phoneNo;
            ct.email       = email;
            ct.NoOfPersons = Convert.ToInt32(NoOfPersons);

            ct.Amount = Amount;
            var per = 0.1 * Convert.ToInt32(Amount);
            var dec = Convert.ToInt32((Convert.ToInt32(Amount) - per));

            ct.Amount = dec.ToString();
            //ct.Amount = "5.00";
            ct.MovieDate       = MovieDay;
            ct.MovieTime       = MovieTime;
            ct.CinemaCompanyID = CinemaCompanyID;
            ct.CinemaLocation  = CinemaLocation;
            ct.MovieName       = MovieName;
            ct.TicketCategory  = MovieCategory;

            if (!string.IsNullOrEmpty(nErrorCode))
            {
                if (nErrorCode == "1")
                {
                    ct.Coupon         = Coupon;
                    ct.CouponAgentId  = !string.IsNullOrEmpty(CouponAgentId) ? Convert.ToInt32(CouponAgentId) : 0;
                    ct.CouponAssignId = !string.IsNullOrEmpty(CouponAssignId) ? Convert.ToInt32(CouponAssignId) : 0;
                    ct.CouponID       = !string.IsNullOrEmpty(CouponID) ? Convert.ToInt32(CouponID) : 0;
                    ct.IsCoupon       = IsCoupon;
                }
            }
            else
            {
                ct.IsCoupon = "N";
            }

            var BatchCounter = oMoviesModelClass.GetCurrentCounter();
            var Reference    = RefferenceGenerator.GenerateReferenceFLW(BatchCounter);
            var rtn          = oMoviesModelClass.SaveTicketDetails(ct, Reference);

            if (rtn.sErrorText == "Success")
            {
                //string testSecretKey = "FLWSECK_TEST-b252b05cd42022b753045159413ad2ad-X";
                //string testPublicKeys = "FLWPUBK_TEST-1f5f2f2bdd4e5928fdc59fc29296ea91-X";
                var tk = await oMoviesModelClass.GetClientProfileDetails("002");

                int flutterwaveAmount = oMoviesModelClass.CalculateFlutterAmount(Amount, Convert.ToInt32(NoOfPersons), CouponValue);

                FlutterWaveRequestModel rt = new FlutterWaveRequestModel();
                var percent  = 0.1 * flutterwaveAmount;
                var decrease = Convert.ToInt32((flutterwaveAmount - percent));
                rt.amount = decrease;
                //rt.amount = flutterwaveAmount;
                //rt.amount = 5;
                rt.email     = email;
                rt.firstName = Fullname;
                rt.lastName  = Fullname;
                rt.publicKey = tk.MobileClientPayStackSecretKey;
                rt.secretKey = tk.ClientPayStackSecretKey;
                //rt.publicKey = testSecretKey;
                //rt.secretKey = testPublicKeys;
                rt.redirectUrl = tk.TicketPlanetEventCallBackUrl;
                rt.Reference   = Reference;
                rt.phoneNo     = phoneNo;

                return(Json(new { result = rt, error = false }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }