Exemple #1
0
        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);
        }
Exemple #2
0
 protected void UpdateAccountsBalances(string month)
 {
     if (StepDefinitionsContext.DasScenario)
     {
         foreach (var employer in StepDefinitionsContext.ReferenceDataContext.Employers)
         {
             AccountDataHelper.UpdateAccountBalance(employer.AccountId, employer.GetBalanceForMonth(month), EnvironmentVariables);
         }
     }
 }
Exemple #3
0
        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>");
                    }
                }
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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");
                }
            }
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
            }
        }