protected override bool Process(Player player, RealmTime time, string[] args) { var giftCode = player.Client.Account.NextGiftCode(); if (giftCode == null) { player.SendError("No new giftcode found."); return(false); } var data = AccountDataHelper.GenerateAccountGiftCodeData(player.AccountId, giftCode).Write(); var qrGenerator = new QrCodeGenerator(); var qrCode = qrGenerator.CreateQrCode($"{Program.Settings.GetValue<string>("serverDomain")}/account/redeemGiftCode?data={data}", QrCodeGenerator.EccLevel.H); var bmp = qrCode.GetGraphic(5); var rgbValues = bmp.GetPixels(); player.Client.SendPacket(new PicPacket { BitmapData = new BitmapData { Bytes = rgbValues, Height = bmp.Height, Width = bmp.Width } }); return(true); }
protected void UpdateAccountsBalances(string month) { if (StepDefinitionsContext.DasScenario) { foreach (var employer in StepDefinitionsContext.ReferenceDataContext.Employers) { AccountDataHelper.UpdateAccountBalance(employer.AccountId, employer.GetBalanceForMonth(month), EnvironmentVariables); } } }
protected override void HandleRequest() { using (Database db = new Database()) { string code = Query["code"]; Account acc = Query["data"] != null?AccountDataHelper.GetAccountGiftCodeData(HttpUtility.UrlDecode(Query["data"], Encoding.UTF8)).GetGiftCode(out code).GetAccount(Program.GameData) : db.Verify(Query["guid"], Query["password"], Program.GameData); if (CheckAccount(acc, db, false)) { string contents = String.Empty; var cmd = db.CreateQuery(); cmd.CommandText = "SELECT * FROM giftCodes WHERE code=@code"; cmd.Parameters.AddWithValue("@code", code); using (var rdr = cmd.ExecuteReader()) { if (!rdr.HasRows) { WriteStream(@"<h1>Invalid Giftcode</h1> <p>You entered an invalid giftcode</p>"); return; } while (rdr.Read()) { contents = rdr.GetString("content"); } } if (ParseContents(acc, contents)) { WriteStream(@"<h1>Success</h1> <p>You will recieve the stuff you bought.</p>"); cmd = db.CreateQuery(); cmd.CommandText = "DELETE FROM giftCodes WHERE code=@code"; cmd.Parameters.AddWithValue("@code", code); cmd.ExecuteNonQuery(); } else { WriteStream(@"<h1>Invalid Giftcode</h1> <p>You entered an invalid giftcode</p>"); } } } }
protected void SetupReferenceData() { foreach (var employer in StepDefinitionsContext.ReferenceDataContext.Employers) { AccountDataHelper.CreateAccount(employer.AccountId, employer.AccountId.ToString(), 0.00m, EnvironmentVariables); } AccountDataHelper.UpdateAudit(EnvironmentVariables); foreach (var provider in StepDefinitionsContext.Providers) { foreach (var learner in provider.Learners) { AddLearnerCommitment(provider.Ukprn, learner, provider.Name); } } CommitmentDataHelper.UpdateEventStreamPointer(EnvironmentVariables); }
protected override void HandleRequest() { using (Database db = new Database()) { string code = Query["code"]; Account acc = Query["data"] != null?AccountDataHelper.GetAccountGiftCodeData(HttpUtility.UrlDecode(Query["data"], Encoding.UTF8)).GetGiftCode(out code).GetAccount(Program.GameData) : db.Verify(Query["guid"], Query["password"], Program.GameData); string contents = String.Empty; var cmd = db.CreateQuery(); cmd.CommandText = "SELECT * FROM giftCodes WHERE code=@code"; cmd.Parameters.AddWithValue("@code", code); using (var rdr = cmd.ExecuteReader()) { if (!rdr.HasRows) { Context.Response.Redirect("../InvalidGiftCode.html"); return; } while (rdr.Read()) { contents = rdr.GetString("content"); } } if (ParseContents(acc, contents)) { Context.Response.Redirect("../GiftCodeSuccess.html"); cmd = db.CreateQuery(); cmd.CommandText = "DELETE FROM giftCodes WHERE code=@code"; cmd.Parameters.AddWithValue("@code", code); cmd.ExecuteNonQuery(); } else { Context.Response.Redirect("../InvalidGiftCode.html"); } } }
public void GivenTheAccountHasABalance(decimal employerLevyBalance) { // Setup reference data var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables(); StepDefinitionsContext.SetDefaultProvider(); var provider = StepDefinitionsContext.GetDefaultProvider(); var learner = StepDefinitionsContext.CreateLearner(15000, new DateTime(2017, 08, 01), new DateTime(2018, 08, 08)); learner.LearningDelivery.PriceEpisodes[0].TotalPrice = 15000; learner.LearningDelivery.StandardCode = IlrBuilder.Defaults.StandardCode; //setup the data for learnig delivery,learner and earnings SetupEarningsData(provider, learner); var committment = StepDefinitionsContext.ReferenceDataContext.Commitments.First(); var account = StepDefinitionsContext.ReferenceDataContext.Employers.First(x => x.Name == committment.Employer); //Update the balance to the value passed in AccountDataHelper.UpdateAccountBalance(account.AccountId, employerLevyBalance, environmentVariables); }
protected void SetupPeriodReferenceData(DateTime date) { AccountDataHelper.ClearAccounts(EnvironmentVariables); CommitmentDataHelper.ClearCommitments(EnvironmentVariables); var period = date.GetPeriod(); if (StepDefinitionsContext.DasScenario) { foreach (var employer in StepDefinitionsContext.ReferenceDataContext.Employers) { AccountDataHelper.CreateAccount( employer.AccountId, employer.AccountId.ToString(), employer.GetBalanceForMonth(period), EnvironmentVariables); } AccountDataHelper.UpdateAudit(EnvironmentVariables); } foreach (var provider in StepDefinitionsContext.Providers) { foreach (var learner in provider.Learners) { if (learner.LearningDelivery.LearnerType == LearnerType.ProgrammeOnlyNonDas) { continue; } AddLearnerCommitmentsForPeriod(date, provider.Ukprn, learner, provider.Name); } } CommitmentDataHelper.UpdateEventStreamPointer(EnvironmentVariables); }
private void SetupCommitments(Table table) { StepDefinitionsContext.ReferenceDataContext.SetDefaultEmployer( new Dictionary <string, decimal> { { "All", int.MaxValue } }); var employer = StepDefinitionsContext.ReferenceDataContext.Employers[0]; AccountDataHelper.CreateAccount(employer.AccountId, employer.AccountId.ToString(), 0.00m, EnvironmentVariables); foreach (var row in table.Rows) { var ukprn = long.Parse(row["UKPRN"]); var startDate = DateTime.Parse(row["start date"]); var frameworkCode = table.Header.Contains("framework code") ? int.Parse(row["framework code"]) : IlrBuilder.Defaults.FrameworkCode; var programmeType = table.Header.Contains("programme type") ? int.Parse(row["programme type"]) : IlrBuilder.Defaults.ProgrammeType; var pathwayCode = table.Header.Contains("pathway code") ? int.Parse(row["pathway code"]) : IlrBuilder.Defaults.PathwayCode; var standardCode = table.Header.Contains("standard code") ? int.Parse(row["standard code"]) : IlrBuilder.Defaults.StandardCode; if (frameworkCode > 0 && programmeType > 0 && pathwayCode > 0) { standardCode = 0; } var status = row.ContainsKey("status") ? GetCommitmentStatusOrThrow(row["status"]) : CommitmentPaymentStatus.Active; StepDefinitionsContext.AddProvider("provider", ukprn); CommitmentDataHelper.CreateCommitment( new CommitmentEntity { CommitmentId = long.Parse(IdentifierGenerator.GenerateIdentifier(6, false)), Ukprn = ukprn, Uln = long.Parse(row["ULN"]), AccountId = employer.AccountId.ToString(), StartDate = startDate, EndDate = startDate.AddMonths(12), AgreedCost = decimal.Parse(row["agreed price"]), StandardCode = standardCode, FrameworkCode = frameworkCode, ProgrammeType = programmeType, PathwayCode = pathwayCode, Priority = 1, VersionId = 1, PaymentStatus = (int)status, PaymentStatusDescription = status.ToString(), EffectiveFrom = startDate }, EnvironmentVariables); } }