public ActionResult TryChargeAgain(InvoiceVM model) { if ((!ModelState.IsValid) && (CastleClub.BusinessLogic.Data.GlobalParameters.TryChargeAgain)) { return(Json(new { Result = false })); } bool resp = PaymentsManager.ProcessInvoice(model.Id); InvoiceDT invoice = PaymentsManager.GetInvoice(model.Id); TransactionDT transaction = invoice.Transactions.OrderByDescending(x => x.SubmitDate).FirstOrDefault(); /* InvoiceDT invoice = null; * TransactionDT transaction = null; * resp = false; * return Json(new { Result = false, Info = new { Authorize = "", SubmitDate = DateTime.Now.ToString(), Type = "", Message ="hola", Status = "FAIL", Amount = "222", Parent = string.Empty } }); */ if (resp) { return(Json(new { Result = true, Info = new { Authorize = transaction.AuthorizeTransactionId.ToString(), SubmitDate = transaction.SubmitDate.ToString(), Type = transaction.Type.ToString(), Message = transaction.Message, Status = transaction.Status.ToString(), Amount = invoice.Amount.ToString(), Parent = string.Empty } })); } else { if (transaction != null) { return(Json(new { Result = false, Info = new { Authorize = transaction.AuthorizeTransactionId.ToString(), SubmitDate = transaction.SubmitDate.ToString(), Type = transaction.Type.ToString(), Message = transaction.Message, Status = transaction.Status.ToString(), Amount = invoice.Amount.ToString(), Parent = string.Empty } })); } else { return(Json(new { Result = false })); } } }
public override void createTestFixture() { base.createTestFixture(); ObjectsConverter.Configure(); configureLogging(); clientInformation = new ClientInformation() { Version = Const.ServiceVersion }; clientInformation.ApplicationLanguage = "en"; clientInformation.PlatformVersion = "fgfdgdfg"; clientInformation.ApplicationVersion = "1.0.0.0"; var conf = new ConfigurationSourceBuilder(); conf.ConfigureCaching().ForCacheManagerNamed(SecurityManager.AuthenticationCacheName).StoreInMemory(); var configSource = new DictionaryConfigurationSource(); conf.UpdateConfigurationWithReplace(configSource); var xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml"); var paymentsManager = new PaymentsManager(); this.paymentsManager = paymentsManager.Load(xmlStream); InternalBodyArchitectService.PaymentsManager = this.paymentsManager; EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource); }
private void CreatePayment(List <ProviderEarnedPeriodValue> paymentValues, long ukprn, long uln, string learnRefNumber, CommitmentReferenceData commitment, IlrLearnerReferenceData learningDetails, TransactionType transactionType, FundingSource fundingSource) { foreach (var payment in paymentValues) { if (payment.Value > 0) { var requiredPaymentId = Guid.NewGuid().ToString(); var month = int.Parse(payment.PeriodName.Substring(0, 2)); var year = int.Parse(payment.PeriodName.Substring(3, 2)) + 2000; var date = new DateTime(year, month, 1); var periodNumber = date.GetPeriodNumber(); var periodName = $"{TestEnvironment.Variables.OpaRulebaseYear}-R" + periodNumber.ToString("00"); PaymentsManager.SavePaymentDue(requiredPaymentId, ukprn, uln, commitment, learnRefNumber, periodName, month, year, (int)transactionType, payment.Value, learningDetails); PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, (int)transactionType, fundingSource, payment.Value); } } }
protected void Convert() { PaymentsManager manager = new PaymentsManager(); var xmlStream = Helper.GetResource("BodyArchitect.UnitTests.DbConverter.V4V5.BAPoints.xml"); DatabaseConverter converter = new DatabaseConverter(new BACallbackMock(), manager.Load(xmlStream)); converter.Convert(); }
public void GetPointsForOffert() { var xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml"); PaymentsManager manager1 = new PaymentsManager(); var manager = manager1.Load(xmlStream); Assert.AreEqual(30, manager.GetPointsForOffert("BAPoints_30")); Assert.AreEqual(0, manager.GetPointsForOffert("NotExistingOffert")); }
public override void createTestFixture() { base.createTestFixture(); var xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml"); var manager1 = new PaymentsManager(); manager = manager1.Load(xmlStream); }
public PaymentController(IOptions <ConnectionConfiguration> connection) { _paymentsManager = new PaymentsManager(connection.Value.ConnectionString, new BeneficiaryManager(connection.Value.ConnectionString) ); _paymentApi = new PaymentApi(_paymentsManager, new Bundles.Core.Api.Response.StatusCodes()); _userManager = new UserManager(connection.Value.ConnectionString); _authenticationManager = new AuthenticationManager(_userManager); }
public void Fund(int eventId, int amount, string senderEmail) { string receiverEmail = "*****@*****.**"; //Get email for receiver var redirectUrl = PaymentsManager.Pay(senderEmail, receiverEmail, Convert.ToDecimal(amount), "http://localhost/Events/Thankyou", "http://localhost/Events/CancelPayment"); Session["CurrentEmail"] = senderEmail; Session["CurrentAmount"] = amount; Response.Redirect(redirectUrl); }
public void GivenTheFollowingPaymentsWillBeAddedForReversal(Table table) { var context = new EarningsAndPaymentsContext(); TransactionTypeTableParser.ParseTransactionTypeTableIntoContext(context, "", table); foreach (var row in context.ProviderEarnedForOnProgramme) { var month = Int32.Parse(row.PeriodName.Split('/')[0]); var year = Int32.Parse($"20" + row.PeriodName.Split('/')[1]); PaymentsManager.AddRequiredPaymentForReversal(month, year, row.Value, TransactionType.OnProgram); } }
public void Fund(EventModel model, int amount) { //string senderEmail = "*****@*****.**"; string receiverEmail = EventsManager.Coordinator(User.Identity.Name).PaypalEmail; //"*****@*****.**"; //Get email for receiver var redirectUrl = PaymentsManager.Pay(model.PaypalEmail, receiverEmail, Convert.ToDecimal(amount), String.Format("http://localhost:8098/Events/Thankyou?cEvent={0}&amount={1}&email={2}", model.Event.EventId, amount, model.PaypalEmail), "http://localhost:8098/Events/CancelPayment"); //Session["CurrentEmail"] = senderEmail; //Session["CurrentAmount"] = amount; //Session["CurrentEvent"] = eventId; Response.Redirect(redirectUrl); }
public void Promotion_PremiumUserLoggedAsInstructor() { profiles[0].Licence.BAPoints = 10; profiles[0].Licence.AccountType = Model.AccountType.PremiumUser; insertToDatabase(profiles[0]); RunServiceMethod(delegate(InternalBodyArchitectService service) { //set promotion cost of instructor account to 0 var manager = new PaymentsManager(); var accountTypes = new Dictionary <AccountType, PaymentAccountType>() { { AccountType.Instructor, new PaymentAccountType() { AccountType = AccountType.Instructor, Points = 3, PromotionPoints = 0, PromotionStartDate = DateTime.UtcNow.Date } }, { AccountType.PremiumUser, new PaymentAccountType() { AccountType = AccountType.PremiumUser, Points = 1 } }, }; var itemsToBuy = new Dictionary <string, int>(); service.Configuration.Payments = manager.Load(accountTypes, itemsToBuy, 15); ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date; service.Configuration.CurrentApiKey = key; ClientInformation info = new ClientInformation(); info.ApplicationVersion = Constants.Version; info.ApplicationLanguage = "pl"; info.Version = Const.ServiceVersion; info.ClientInstanceId = Guid.NewGuid(); string password = CryptographyHelper.ToSHA1Hash("Profile1"); var session = service.Login(info, "Profile1", password); var securityInfo = SecurityManager.EnsureAuthentication(session.Token); Assert.AreEqual(AccountType.Instructor, securityInfo.Licence.CurrentAccountType); Assert.AreEqual(10, securityInfo.Licence.BAPoints); }); var dbProfile = Session.Get <Profile>(profiles[0].GlobalId); Assert.AreEqual(BodyArchitect.Model.AccountType.PremiumUser, dbProfile.Licence.AccountType); Assert.AreEqual(10, dbProfile.Licence.BAPoints); Assert.AreEqual(DateTime.UtcNow.Date, dbProfile.Licence.LastPointOperationDate); }
public void GetPoints() { var xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml"); PaymentsManager manager1 = new PaymentsManager(); var manager = manager1.Load(xmlStream); Assert.AreEqual(1, manager.GetPoints(AccountType.PremiumUser).Points); Assert.IsNull(manager.GetPoints(AccountType.PremiumUser).PromotionPoints); Assert.IsNull(manager.GetPoints(AccountType.PremiumUser).PromotionStartDate); Assert.AreEqual(2, manager.GetPoints(AccountType.Instructor).Points); Assert.IsNull(manager.GetPoints(AccountType.Instructor).PromotionPoints); Assert.IsNull(manager.GetPoints(AccountType.Instructor).PromotionStartDate); Assert.AreEqual(0, manager.GetPoints(AccountType.User).Points); Assert.IsNull(manager.GetPoints(AccountType.User).PromotionPoints); Assert.IsNull(manager.GetPoints(AccountType.User).PromotionStartDate); Assert.AreEqual(0, manager.GetPoints(AccountType.Administrator).Points); Assert.IsNull(manager.GetPoints(AccountType.Administrator).PromotionPoints); Assert.IsNull(manager.GetPoints(AccountType.Administrator).PromotionStartDate); }
public void TestLicence_Myselft_PaymentsData() { profiles[0].Licence.BAPoints = 10; profiles[0].Licence.LastPointOperationDate = DateTime.UtcNow; insertToDatabase(profiles[0]); var profile0 = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile0, ClientInformation); GetProfileInformationCriteria criteria = new GetProfileInformationCriteria(); RunServiceMethod(delegate(InternalBodyArchitectService service) { var manager = new PaymentsManager(); var accountTypes = new Dictionary <AccountType, PaymentAccountType>() { { AccountType.Instructor, new PaymentAccountType() { AccountType = AccountType.Instructor, Points = 3, PromotionPoints = 1, PromotionStartDate = DateTime.UtcNow } }, { AccountType.PremiumUser, new PaymentAccountType() { AccountType = AccountType.PremiumUser, Points = 1 } }, }; var itemsToBuy = new Dictionary <string, int>(); service.Configuration.Payments = manager.Load(accountTypes, itemsToBuy, 10); var profileInfo = service.GetProfileInformation(data.Token, criteria); Assert.AreEqual(10, profileInfo.Licence.Payments.Kara); Assert.AreEqual(3, profileInfo.Licence.Payments.AccountTypes[AccountType.Instructor].Points); Assert.AreEqual(1, profileInfo.Licence.Payments.AccountTypes[AccountType.Instructor].PromotionPoints); Assert.AreEqual(null, profileInfo.Licence.Payments.AccountTypes[AccountType.PremiumUser].PromotionPoints); Assert.AreEqual(1, profileInfo.Licence.Payments.AccountTypes[AccountType.PremiumUser].Points); }); }
public async Task <string> PayReservation(int id, bool isCaparoPayed, PaymentMethodInfoViewModel paymentMethod, string urlOk = null, string urlCancel = null) { var price = await GetReservationPrice(id, isCaparoPayed); var payedItem = new PayedItemViewModel { PayedItemId = id.ToString(), PayedItemCode = isCaparoPayed ? "ReservationCaparo" : "ReservationFull" }; var paymentResult = await PaymentsManager.PaymentFacade(paymentMethod, payedItem, price, urlOk, urlCancel); #if DEVELOPEMENT #else //Notify for payment var contactInfo = await GetReservationCreatorContactInformation(id); //IsEasyPayCode if (Regex.IsMatch(paymentResult, @"^[0-9]+$")) { await SmsManager.SendSmsAsync(contactInfo.PhoneNumber, "Код за плащане в EasyPay: " + paymentResult + "\r\nsProperties"); await EmailManager.SendEmailAsync(contactInfo.Email, "Код за плащане чрез EasyPay" , $"<p>Здравейте,</p><p>Вашият номер за плащане в EasyPay е: {paymentResult}</p><p><br></p><p>За да извършите плащането моля посетете някой от <a href=\"https://www.easypay.bg/site/?p=offices\" target=\"_blank\" rel=\"noopener\">офисите на EasyPay</a> и заплатете по посоченият по по-горе код.</p><p><br/></p><p>Поздрави,<br>екипът на <strong>еТемида.</strong></p><hr><p>! Това е автоматично генериран е-мейл от системата на <strong>еТемида.<br></strong> Моля не отговаряйте и не изпращайте други съобщения на този е-мейл.</p>" , true); } else { } #endif return(paymentResult); }
public PaymentApi(PaymentsManager paymentsManager, StatusCodes statusCodes) { _paymentsManager = paymentsManager; _statusCodes = statusCodes; }
private void CreatePreviousEarningsAndPayments(string providerName, string learnerRefererenceNumber, Table table, AimType paymentsAimType) { var learnerBreakdown = new EarningsAndPaymentsBreakdown { ProviderId = providerName }; EarningAndPaymentTableParser.ParseEarningsAndPaymentsTableIntoContext(learnerBreakdown, table); var learningDetails = SubmissionContext.HistoricalLearningDetails.Where(x => x.AimType == paymentsAimType && x.LearnerReference.Equals(learnerRefererenceNumber, StringComparison.InvariantCultureIgnoreCase)).Single(); long learnerUln; if (!string.IsNullOrEmpty(learningDetails.Uln)) { learnerUln = long.Parse(learningDetails.Uln); LookupContext.AddUln(learnerRefererenceNumber, learnerUln); } else { learnerUln = LookupContext.AddOrGetUln(learnerRefererenceNumber); } var provider = LookupContext.AddOrGetUkprn(learnerBreakdown.ProviderId); var commitment = CommitmentsContext.Commitments.FirstOrDefault(x => x.ProviderId == learnerBreakdown.ProviderId && x.LearnerId == learnerRefererenceNumber); foreach (var earned in learnerBreakdown.ProviderEarnedTotal) { var requiredPaymentId = Guid.NewGuid().ToString(); var month = int.Parse(earned.PeriodName.Substring(0, 2)); var year = int.Parse(earned.PeriodName.Substring(3, 2)) + 2000; var date = new DateTime(year, month, 1); var periodNumber = date.GetPeriodNumber(); var periodName = $"{TestEnvironment.Variables.OpaRulebaseYear}-R" + periodNumber.ToString("00"); if (earned.Value > 0) { PaymentsManager.SavePaymentDue(requiredPaymentId, provider, learnerUln, commitment, learnerRefererenceNumber, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish , earned.Value, learningDetails); var levyPayment = learnerBreakdown.SfaLevyBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (levyPayment != null && levyPayment.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish, FundingSource.Levy, levyPayment.Value); } var earnedFromEmployer = learnerBreakdown.ProviderEarnedFromEmployers.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (earnedFromEmployer != null && earnedFromEmployer.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish, FundingSource.CoInvestedEmployer, earnedFromEmployer.Value); } var coInvestedBySfaLevy = learnerBreakdown.SfaLevyCoFundBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (coInvestedBySfaLevy != null && coInvestedBySfaLevy.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish, FundingSource.CoInvestedSfa, coInvestedBySfaLevy.Value); } var coInvestedBySfaNonLevy = learnerBreakdown.SfaNonLevyCoFundBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (coInvestedBySfaNonLevy != null && coInvestedBySfaNonLevy.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish, FundingSource.CoInvestedSfa, coInvestedBySfaNonLevy.Value); } var aditionalPayments = learnerBreakdown.SfaLevyAdditionalPayments.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (aditionalPayments != null && aditionalPayments.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, learningDetails.AimType == AimType.Programme ? (int)TransactionType.OnProgram : (int)TransactionType.OnProgrammeMathsAndEnglish, FundingSource.FullyFundedSfa, aditionalPayments.Value); } } } }
public static BasePayment Create(Page page, string payCode) { if (string.IsNullOrEmpty(payCode)) throw new ArgumentException("Missing payCode"); var payment = new Payment(); var man = new PaymentsManager(); payment = man.GetByKey(payCode); return create(page, payment); }
public void GivenTheFollowingEarningsAndPaymentsHaveBeenMadeToTheProviderForLearner(string learnerName, Table table) { var learnerBreakdown = new EarningsAndPaymentsBreakdown { ProviderId = "provider " + Defaults.ProviderIdSuffix }; EarningAndPaymentTableParser.ParseEarningsAndPaymentsTableIntoContext(learnerBreakdown, table); var learner = LookupContext.AddOrGetUln(learnerName); var provider = LookupContext.AddOrGetUkprn(learnerBreakdown.ProviderId); var commitment = CommitmentsContext.Commitments.FirstOrDefault(); foreach (var earned in learnerBreakdown.ProviderEarnedTotal) { var requiredPaymentId = Guid.NewGuid().ToString(); var month = int.Parse(earned.PeriodName.Substring(0, 2)); var year = int.Parse(earned.PeriodName.Substring(3, 2)) + 2000; var date = new DateTime(year, month, 1); var periodNumber = date.GetPeriodNumber(); var periodName = $"1718-R" + periodNumber.ToString("00"); if (earned.Value > 0) { PaymentsManager.SavePaymentDue(requiredPaymentId, provider, learner, null, null, null, Defaults.StandardCode, commitment, learnerName, periodName, month, year, (int)TransactionType.OnProgram, commitment == null ? ContractType.ContractWithSfa : ContractType.ContractWithEmployer, earned.Value); var levyPayment = learnerBreakdown.SfaLevyBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (levyPayment != null && levyPayment.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, (int)TransactionType.OnProgram, FundingSource.Levy, levyPayment.Value); } var earnedFromEmployer = learnerBreakdown.ProviderEarnedFromEmployers.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (earnedFromEmployer != null && earnedFromEmployer.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, (int)TransactionType.OnProgram, FundingSource.CoInvestedEmployer, earnedFromEmployer.Value); } var coInvestedBySfaLevy = learnerBreakdown.SfaLevyCoFundBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (coInvestedBySfaLevy != null && coInvestedBySfaLevy.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, (int)TransactionType.OnProgram, FundingSource.CoInvestedSfa, coInvestedBySfaLevy.Value); } var coInvestedBySfaNonLevy = learnerBreakdown.SfaNonLevyCoFundBudget.Where(x => x.PeriodName == earned.PeriodName).SingleOrDefault(); if (coInvestedBySfaNonLevy != null && coInvestedBySfaNonLevy.Value > 0) { PaymentsManager.SavePayment(requiredPaymentId, periodName, month, year, (int)TransactionType.OnProgram, FundingSource.CoInvestedSfa, coInvestedBySfaNonLevy.Value); } } } }