Esempio n. 1
0
        /// <summary>
        /// RandomGeneratorwithColorCodes
        /// </summary>
        /// <param name="noOfNumbers"></param>
        /// <returns></returns>
        public GeneratedRandonNumber RandomGeneratorwithColorCodes(int noOfNumbers)
        {
            //Init the GeneratedRandonNumber
            GeneratedRandonNumber generatedRandonNumber = new GeneratedRandonNumber();

            generatedRandonNumber.GeneratorDateTime = DateTime.Now;
            List <NumberInfo> listofNumbers = new List <NumberInfo>();

            //Generates the Random number
            Random RandomClass = new Random();
            int    randomNumber;

            for (int i = 0; i < noOfNumbers; i++)
            {
                do
                {
                    randomNumber = RandomClass.Next(1, RandonNumberLimit);
                }   while (listofNumbers.Any(n => n.Number == randomNumber));

                listofNumbers.Add(new NumberInfo
                {
                    Number    = randomNumber,
                    ColorName = generatedRandonNumber.ColorCodingRange.FindLast(c => randomNumber >= c.LowerLimit).Color
                });
            }

            // orders the random numbers
            generatedRandonNumber.RandonNumbers = listofNumbers.OrderBy(n => n.Number).Select(n => new NumberInfo
            {
                Number    = n.Number,
                ColorName = n.ColorName
            }).ToList();

            return(generatedRandonNumber);
        }
 public bool SaveRandomNumber(GeneratedRandonNumber generatedRandonNumber)
 {
     return(this.randomNumberRepository.SaveRandomNumber(new RandomNumber
     {
         GeneratorDateTime = generatedRandonNumber.GeneratorDateTime,
         Numbers = generatedRandonNumber.RandonNumbers.Select(r => new FocusRandomGenerator.DataEntities.NumberInfo
         {
             Number = r.Number,
             ColorCodingId = r.ColorId,
         }).ToList(),
     }));
 }
Esempio n. 3
0
        public GeneratedRandonNumber GetCustomNumbersByColor(int id)
        {
            string address  = $"/api/RandomGenerator/CustomNumbersByColor?id={id}";
            var    result   = new GeneratedRandonNumber();
            var    response = HttpGet(address);

            if (response.IsSuccessStatusCode)
            {
                var readTask = response.Content.ReadAsAsync <GeneratedRandonNumber>();
                readTask.Wait();

                result = readTask.Result;
            }
            result.NoofRandomnumbers = result.RandonNumbers.Count();
            return(result);
        }
        /// <summary>
        /// RandomGeneratorwithColorCodes
        /// </summary>
        /// <param name="noOfNumbers"></param>
        /// <returns></returns>
        public GeneratedRandonNumber RandomGeneratorwithColorCodes(int noOfNumbers)
        {
            List <Models.NumberInfo> listofNumbers = new List <Models.NumberInfo>();
            var colorCodings = this.randomNumberRepository.GetColorCoding();
            //Generates the Random number
            Random RandomClass = new Random();
            int    randomNumber;

            for (int i = 0; i < noOfNumbers; i++)
            {
                do
                {
                    randomNumber = RandomClass.Next(1, RandonNumberLimit);
                }while (listofNumbers.Any(n => n.Number == randomNumber));

                var colorInfo = colorCodings.FindLast(c => randomNumber >= c.LowerLimit);
                listofNumbers.Add(new Models.NumberInfo
                {
                    Number    = randomNumber,
                    ColorName = colorInfo.Color,
                    ColorId   = colorInfo.Id
                });;
            }

            //Init the GeneratedRandonNumber
            GeneratedRandonNumber generatedRandonNumber = new GeneratedRandonNumber();

            generatedRandonNumber.GeneratorDateTime = DateTime.Now;

            // orders the random numbers
            generatedRandonNumber.RandonNumbers = listofNumbers.OrderBy(n => n.Number).Select(n => new Models.NumberInfo
            {
                Number    = n.Number,
                ColorName = n.ColorName,
                ColorId   = n.ColorId
            }).ToList();

            SaveRandomNumber(generatedRandonNumber);

            return(generatedRandonNumber);
        }
Esempio n. 5
0
        public void SaveRandomNumberTest()
        {
            var randomNumber = new GeneratedRandonNumber
            {
                Id = 1,
                GeneratorDateTime = DateTime.UtcNow,
                RandonNumbers     = new List <Models.NumberInfo> {
                    new Models.NumberInfo {
                        Id = 1, Number = 6, ColorCodingId = 1
                    },
                    new Models.NumberInfo {
                        Id = 1, Number = 16, ColorCodingId = 2
                    },
                    new Models.NumberInfo {
                        Id = 1, Number = 26, ColorCodingId = 3
                    },
                    new Models.NumberInfo {
                        Id = 1, Number = 36, ColorCodingId = 4
                    },
                    new Models.NumberInfo {
                        Id = 1, Number = 45, ColorCodingId = 5
                    },
                    new Models.NumberInfo {
                        Id = 1, Number = 20, ColorCodingId = 3
                    },
                }
            };

            RandomNumberService testService = new RandomNumberService(this.randomNumberRepository);

            var result = testService.SaveRandomNumber(randomNumber);

            Assert.AreEqual(result, true);

            var count = this.randomNumberRepository.GetAllRandomNumbers().Count();

            Assert.AreEqual(count, 2);
        }
        public IActionResult CustomRandomNumber(GeneratedRandonNumber generatedRandonNumber)
        {
            generatedRandonNumber = NumberService.GetCustomNumbersByColor(generatedRandonNumber.NoofRandomnumbers);

            return(View(generatedRandonNumber));
        }
        /// <summary>
        /// CustomRandomNumber
        /// </summary>
        /// <returns></returns>
        public IActionResult CustomRandomNumber()
        {
            GeneratedRandonNumber generatedRandonNumber = new GeneratedRandonNumber();

            return(View(generatedRandonNumber));
        }