public Sweepstakes GetNextSweepstakesWinner()
        {
            Contestant contestant;

            sweepstakes = new Sweepstakes("sweepstakes1");
            Console.WriteLine("Please enter the number of contestants that can enter into this sweepstakes.\n\r(Stack)");
            bool check = int.TryParse(Console.ReadLine(), out contestantLimit);

            if (!check)
            {
                Console.WriteLine("Invalid entry.");
            }
            for (int i = 0; i < contestantLimit; i++)
            {
                contestant = new Contestant(i);
                sweepstakes.registerStackContestant(contestant);
            }
            return(sweepstakes);
        }
        private void ChooseWinner()
        {
            SweepStakes working = sweepstakescolleciton.GetSweepStakes();

            UserInterface.DisplayOnly("the winner of " + working.name + "is:");
            Contestant winner = working.ChooseAndDisplayWinnerInfo();
            string     input  = UserInterface.GetInputInline("Would you like to return this sweepstakes to the queue or stack?");

            if (input.Trim().ToLower() == "y" || input.Trim().ToLower() == "yes")
            {
                sweepstakescolleciton.insertSweepstakes(working);
                UserInterface.GetInputInline("Sweepstakes returned, good luck with the duplicate winner.  Enter to continue.");
            }
            else
            {
                UserInterface.GetInputInline("I hope you were done with it, that sweepstakes is gone forever. Enter to continue.");
            }
            MailNotify(working, winner);
        }
        public void CreateContestant()
        {
            string     response = "";
            Contestant newContestant;

            do
            {
                newContestant = new Contestant(
                    UserInterface.GetinputClear("enter contestant first name."),
                    UserInterface.GetInputInline("enter contestant last name."),
                    UserInterface.GetEmail("enter contestant email"),
                    count.ToString());
                UserInterface.Clear();
                PrintContestantInfo(newContestant);
                response = UserInterface.GetInputInline("is this information correct?");
            } while (response.ToLower() != "y" && response.ToLower() != "yes");

            RegisterContestant(newContestant);
        }
        private void MailNotify(SweepStakes sweepstakes, Contestant winner)
        {
            if (emailflag)
            {
                SmtpClient smtpClient = new MailKit.Net.Smtp.SmtpClient();
                smtpClient.Connect("smtp.gmail.com", 587, MailKit.Security.SecureSocketOptions.Auto);
                smtpClient.Authenticate(company[1], company[2]);

                foreach (Contestant loser in sweepstakes)
                {
                    if (loser.email != winner.email)
                    {
                        loser.Notify(company, winner.firstName + " has won " + sweepstakes.name, smtpClient);
                    }
                }
                winner.Notify(company, "You have won " + sweepstakes.name + ", Contact us to claim your prize.", smtpClient);
                smtpClient.Disconnect(true);
            }
        }
        public void UpdateSweepstake()
        {
            Sweepstakes currentSweepstake = GetSweepstakes();
            bool        updateSweepstake  = UI.UpdateCurrentSweepStake(currentSweepstake);

            if (updateSweepstake)
            {
                int newContestants = UI.NewContestants(currentSweepstake);
                for (int i = 0; i < newContestants; i++)
                {
                    Contestant newContestant = new Contestant();
                    currentSweepstake.RegisterContestant(newContestant);
                    Console.WriteLine("");
                    Console.WriteLine("Contestant Added");
                    Console.ReadLine();
                }
                PickWinner(currentSweepstake);
            }
        }
Exemple #6
0
        public void RunSweepstakesMenu(int sweepCase)
        {
            switch (sweepCase)
            {
            case 1:
                UI.DisplayNumberOfRegisteredContestants(runningNumberOfContestants);
                break;

            case 2:
                string yesNo = UI.SetNumberOfContestantsToGenerate(numberOfContestantsToGenerate);

                if (yesNo == "yes")
                {
                    int numToChange = UI.ChangeNumberOfContestantsToGenerate();
                    numberOfContestantsToGenerate = numToChange;
                }
                UI.DisplayCurrentContestantsToRegister(numberOfContestantsToGenerate);
                break;

            case 3:
                GenerateContestants();
                break;

            case 4:
                if (runningNumberOfContestants == 0)
                {
                    UI.DisplayContestantsNotGenerated();
                    return;
                }
                else
                {
                    winningContestant = PickWinner();
                    UI.DisplayWinnerOfSweepstakes(name, winningContestant);
                    NotifyParticipantsPrompt();
                    inSweepstakesMenu = false;
                }
                break;

            default:
                break;
            }
        }
        static void Main(string[] args)
        {
            Sweepstakes johnSweepstakes = new Sweepstakes("John's Sweepstakes");
            Contestant  c1 = new Contestant("John", "Wick", "*****@*****.**");
            Contestant  c2 = new Contestant("Jon", "Snow", "*****@*****.**");
            Contestant  c3 = new Contestant("John", "Stewart", "*****@*****.**");

            johnSweepstakes.RegisterContestant(c1);
            johnSweepstakes.RegisterContestant(c2);
            johnSweepstakes.RegisterContestant(c3);

            johnSweepstakes.Register(c1);
            johnSweepstakes.Register(c2);
            johnSweepstakes.Register(c3);

            johnSweepstakes.PickWinner();

            /************************************************************/
            Console.ReadLine();
        }
Exemple #8
0
        static void Main(string[] args)
        {
            Simulation simulation = new Simulation();

            simulation.CreateMarketingFirmWithManager();
            Sweepstakes avalon = new Sweepstakes("Avalon");
            Contestant  con1   = new Contestant("Bob", "Jones", "*****@*****.**", 1234);
            Contestant  con2   = new Contestant("Billy", "Green", "*****@*****.**", 1235);
            Contestant  con3   = new Contestant("Joe", "College", "*****@*****.**", 1236);
            Contestant  con4   = new Contestant("John", "Grange", "*****@*****.**", 1237);
            Contestant  con5   = new Contestant("Cole", "Thompson", "*****@*****.**", 1238);

            avalon.RegisterContestant(con1);
            avalon.RegisterContestant(con2);
            avalon.RegisterContestant(con3);
            avalon.RegisterContestant(con4);
            avalon.RegisterContestant(con5);
            avalon.ContestantPickWinner();
            Console.ReadLine();
        }
        public Contestant PickWinner()
        {
            bool       success    = false;
            Random     random     = new Random();
            Contestant tempWinner = null;

            do
            {
                int tempDictNdx = random.Next(10000, 100000);
                if (contestants.TryGetValue(tempDictNdx, out tempWinner))
                {
                    winnerId = tempWinner.registrationNumber;
                    success  = true;
                }
            } while (!success);

            MailKit.SendMessage(tempWinner.firstName + " " + tempWinner.lastName, this.name, tempWinner.email);

            return(tempWinner);
        }
Exemple #10
0
        public static void NotifyLoser(Contestant contestant)
        {
            MimeMessage message = new MimeMessage();

            message.From.Add(new MailboxAddress("*****@*****.**"));
            message.To.Add(new MailboxAddress(contestant.email));
            message.Subject = "Hey Loser";
            message.Body    = new TextPart("plain")
            {
                Text = @"Sorry, you are not the father."
            };
            using (SmtpClient client = new SmtpClient())
            {
                client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                client.Connect("smtp.gmail.com", 465, true);
                client.Authenticate("*****@*****.**", "HeyHeyHey555$$$");
                client.Send(message);
                client.Disconnect(true);
            }
            Console.WriteLine("MessageSent");
        }
Exemple #11
0
        public void SendEmail(Contestant contestant)
        {
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("Marketing Firm", "*****@*****.**"));
            message.To.Add(new MailboxAddress(contestant.FirstName + contestant.LastName, contestant.Email));
            message.Subject = "Congratulations!";

            message.Body = new TextPart("plain")
            {
                Text = @"Congratulations " + contestant.FirstName + ", you entered our marketing sweepstakes and you won! We wanted to send a message out to congratulate you!"
            };

            using (var client = new SmtpClient())
            {
                client.Connect("smtp.office365.com", 587);
                client.Authenticate("*****@*****.**", "P@$$w0rd!!");
                client.Send(message);
                client.Disconnect(true);
            }
        }
Exemple #12
0
        public void Dispose()
        {
            int indexOfContestant = 0;

            for (int i = 0; i < contestants.Count; i++)
            {
                indexOfContestant = i;
                if (contestants[i] == contestant)
                {
                    contestants.Remove(i);
                    break;
                }
            }
            //Re-sort dictionary so there are no gaps in incremental numeric key continuity
            for (int i = indexOfContestant; i < contestants.Count + 1; i++)
            {
                Contestant temporaryContestant = contestants[i + 1];
                contestants.Remove(i + 1);
                contestants.Add(i, temporaryContestant);
            }
        }
Exemple #13
0
        public static Contestant CreateNewContestant()
        {
            Contestant newContestant;
            string     fName;
            string     lName;
            string     email;
            int        idNumber = -1;

            Console.Write("Contestant\'s first name: ");
            fName = Console.ReadLine();
            Console.Write("Contestant\'s last name: ");
            lName = Console.ReadLine();
            bool validEmail;

            do
            {
                Console.Write("Contestant\'s email address: ");
                email      = Console.ReadLine();
                validEmail = IsValidEmail(email);
            }while (validEmail == false);
            bool validNumber;

            do
            {
                try
                {
                    Console.WriteLine("Contestant\'s registration number: ");
                    idNumber    = Convert.ToInt32(Console.ReadLine());
                    validNumber = true;
                }
                catch (Exception e)
                {
                    validNumber = false;
                    Console.WriteLine(e.Message);
                }
            }while (validNumber == false);
            newContestant = new Contestant(fName, lName, email, idNumber);
            return(newContestant);
        }
Exemple #14
0
        public void NotifyContestantsResults()
        {
            SweepStakes sweep  = marketingFirm._manager.GetSweepstakes();
            Contestant  winner = sweep.PickWinner();

            winner.winStatus = true;

            bool winnerPrinted = false;

            foreach (KeyValuePair <int, Contestant> contestant in sweep.contestants)
            {
                if (contestant.Value.winStatus && !winnerPrinted)
                {
                    winner.Notify(contestant.Value, winner);
                    winnerPrinted = true;
                }
                else
                {
                    contestant.Value.Notify(contestant.Value, winner);
                }
            }
        }
        public void LoserMessage(Contestant contestant)
        {
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("Lew Vine", "*****@*****.**"));
            message.To.Add(new MailboxAddress($"{contestant.FirstName} {contestant.LastName}", $"{contestant.EmailAddress}"));
            message.Subject = $"You've lost the {this.name} sweepstakes!";
            message.Body    = new TextPart("plain")
            {
                Text = $"Sorry, {contestant.FirstName} won the {this.name} Sweepstakes.  Better luck next time!"
            };

            using (var client = new SmtpClient())
            {
                client.Connect("smtp.EMAILSERVER.com", 587, false);

                client.Authenticate("MY E-MAIL", "MYPASSWORD");

                client.Send(message);
                client.Disconnect(true);
            }
        }
        //Confirmed these function as written below in a shell program with hard-coded values.
        public void WinnerMessage(Contestant contestant)
        {
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("Lew Vine", "*****@*****.**"));
            message.To.Add(new MailboxAddress($"{contestant.FirstName} {contestant.LastName}", $"{contestant.EmailAddress}"));
            message.Subject = $"You've won the {this.name} sweepstakes!";
            message.Body    = new TextPart("plain")
            {
                Text = $"Congratulations, {winner.FirstName} for winning the {this.name} Sweepstakes!"
            };

            using (var client = new SmtpClient())
            {
                client.Connect("smtp.gmail.com", 587, false);

                // Note: only needed if the SMTP server requires authentication
                client.Authenticate("*****@*****.**", "MYPASSWORD");

                client.Send(message);
                client.Disconnect(true);
            }
        }
Exemple #17
0
        public string PickWinner()
        {
            pickWinningNumber();
            Contestant winner = null;

            for (int i = 0; i < sweeps.Count; i++)
            {
                if (sweeps[i].ticketNumber == winningNumber)
                {
                    winner           = sweeps[i];
                    sweeps[i].result = ("Winner!");
                }

                else
                {
                    sweeps[i].result = ("Loser");
                }
            }
            Console.WriteLine("The winner is " + winner.firstName + " " + winner.lastName);
            runMenu();

            return(winner.firstName + winner.lastName);
        }
Exemple #18
0
 public void PrintContestantInfo(Contestant contestant)
 {
     Console.WriteLine("Information for contestant registration number: {0}\nName: {1} {2}\nEmail Address: {3}", contestant.regisNumber, contestant.firstName, contestant.lastName, contestant.email);
 }
Exemple #19
0
 public void RegisterContestant(Contestant contestant)
 {
     contestants.Add(contestant.regisNumber, contestant);
 }
Exemple #20
0
 public void CreateNewContestant()
 {
     contestant = new Contestant();
 }
Exemple #21
0
 public static void PrintContestantInfo(Contestant contestant, Dictionary <int, Contestant> contestants)
 {
     Console.WriteLine("Thank you for putting your name in the contest!\n", contestants);
 }
Exemple #22
0
 void PrintContestantInfo(Contestant contestant)
 {
     Console.WriteLine(contestant.fName + " " + contestant.lName + " " + contestant.eMail + " " + contestant.registrationNum);
 }
Exemple #23
0
 public void RegisterContestant(Contestant contestant)
 {
     contestant.registrationNum = contestants.Count;
     contestants.Add(contestant.registrationNum, contestant);
 }
Exemple #24
0
 public void RegisterContestant(Contestant contestant)
 {
     _dictionary[contestant.TicketNumber] = contestant;
 }
Exemple #25
0
 public void AssignRegistrationNumber(Contestant contestant)
 {
     contestant.regNumber++;
 }
Exemple #26
0
 public void AssignEmail(Contestant contestant)
 {
     Console.WriteLine("Please enter your Email:");
     contestant.email = Console.ReadLine();
 }
Exemple #27
0
 public void AssingLastName(Contestant contestant)
 {
     Console.WriteLine("Please enter your Last Name");
     contestant.lastName = Console.ReadLine();
 }
Exemple #28
0
 public void AssignFirstName(Contestant contestant)
 {
     Console.WriteLine("ENTRY NO. {0}", contestant.regNumber + 1);
     Console.WriteLine("Please enter the First Name of the contestant.");
     contestant.firstName = Console.ReadLine();
 }
Exemple #29
0
 public void PrintContestantInfo(Contestant contestant)
 {
     Console.WriteLine($"Name: {contestant.Name} Ticket Number; {contestant.TicketNumber}");
 }
Exemple #30
0
 public void RegisterContestant(Contestant contestant)
 {
     dictionary.Add(contestant.registrationNumber, contestant);
 }
Exemple #31
0
 public void PrintContestantInfo(Contestant contestant)
 {
     contestant.PrintInfo();
 }
Exemple #32
0
 public void PickWinnerDisplay(Contestant contestant)
 {
     Console.WriteLine("Winner for this Sweepstake is: {0} {1}", contestant.firstName, contestant.lastName);
 }