コード例 #1
0
        public IHttpActionResult GenerateFibonacciSeries([FromBody] FibonacciRange req)
        {
            try
            {
                RabbitMQClient client = new RabbitMQClient();

                GenerateFibonacciPosRange fr = new GenerateFibonacciPosRange();
                BigInteger[] results         = new BigInteger[req.EndPosition - req.StartPosition + 1];
                results = fr.GetSeriesBetweenPosition(req.StartPosition, req.EndPosition);
                foreach (decimal num in results)
                {
                    req.result += num.ToString() + ", ";
                }
                //req.result = results.ToString();
                client.SendFibonacciSeries(req);

                client.Close();
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }

            return(Ok(req));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: domEnriquez/TDD
        private static void runFibonacciRange()
        {
            FibonacciRange fr = new FibonacciRange();

            List <BigInteger> nums = fr.getFibonacciRange(4000000);

            for (int i = 0; i < nums.Count; i++)
            {
                Console.WriteLine(nums[i]);
            }
        }
コード例 #3
0
        private static void Taks1()
        {
            Console.WriteLine("Taks1:");
            IRange fibonacci = new FibonacciRange(10);

            Console.Write("Fibonacci:");
            fibonacci.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();

            IRange euler = new EulerRange(10);

            Console.Write("Euler:");
            euler.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();
        }
コード例 #4
0
        private static void Task3()
        {
            Console.WriteLine("Taks3:");
            IRange fibonacci  = new FibonacciRange(10);
            IRange euler      = new EulerRange(10);
            IRange rangeSumma = new RangeSumma(10, fibonacci, euler);

            Console.Write("Fibonacci + Euler:");
            rangeSumma.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();
            IRange rangeDifference = new RangeDifference(10, fibonacci, euler);

            Console.Write("Fibonacci - Euler:");
            rangeDifference.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();
        }
コード例 #5
0
        private static void Task2()
        {
            Console.WriteLine("Taks2:");
            IRange fibonacci = new FibonacciRange(10);
            IRange negativeFibonacciRange = new NegativeRange(fibonacci);

            Console.Write("Negative Fibonacci:");
            negativeFibonacciRange.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();
            IRange euler = new EulerRange(10);
            IRange negativeEulerRange = new NegativeRange(euler);

            Console.Write("Negative Euler:");
            negativeEulerRange.Iterate(x => Console.Write("  {0}", x));
            Console.WriteLine();
        }
コード例 #6
0
ファイル: RabbitMQClient.cs プロジェクト: osgirl/Centrica
 public void SendFibonacciSeries(FibonacciRange req)
 {
     SendMessage(req.Serialize(), "fibonacci.series");
 }
コード例 #7
0
 public void Setup()
 {
     fr = new FibonacciRange();
 }
コード例 #8
0
        public IHttpActionResult GetFibonacciSeries([FromBody] FibonacciRange req)
        {
            try
            {
                //RabbitMQClient client = new RabbitMQClient();
                using (FibonacciContext context = new FibonacciContext())
                {
                    Fibonacci fibStart           = context.Fibonaccis.Find(req.StartPosition + 1);
                    Fibonacci fibEnd             = context.Fibonaccis.Find(req.EndPosition + 1);
                    GenerateFibonacciPosRange fr = new GenerateFibonacciPosRange();
                    BigInteger[] results         = new BigInteger[req.EndPosition - req.StartPosition + 1];


                    if (fibStart != null && fibEnd != null)
                    {
                        IQueryable <Fibonacci> rtn = from temp in context.Fibonaccis select temp;
                        var list = rtn.ToList();

                        var seriesToAdd = list.GetRange(req.StartPosition, req.EndPosition - req.StartPosition + 1);

                        //filling in the cache for future use.
                        //creating the response.
                        seriesToAdd.ForEach(fn =>
                        {
                            fr.fibSeries.Add(BigInteger.Parse(fn.FibonacciNumber));
                            req.FibonacciSeries += fn.FibonacciNumber + ", ";
                        });
                    }
                    else if (fibStart != null && fibEnd == null)
                    {
                        IQueryable <Fibonacci> rtn = from temp in context.Fibonaccis select temp;
                        var list    = rtn.ToList();
                        int fibNums = context.Fibonaccis.Count();


                        list.ForEach(fn =>
                        {
                            fr.fibSeries.Add(BigInteger.Parse(fn.FibonacciNumber));
                        });

                        results = fr.GetSeriesBetweenPosition(req.StartPosition, req.EndPosition);
                        foreach (BigInteger num in results)
                        {
                            req.FibonacciSeries += num.ToString() + ", ";
                        }

                        fr.SaveSeries(context);
                    }
                    else
                    {
                        results = fr.GetSeriesBetweenPosition(req.StartPosition, req.EndPosition);

                        results.ToList().ForEach(fn =>
                        {
                            req.FibonacciSeries += fn.ToString();
                        });

                        fr.SaveSeries(context);
                    }

                    //req.result = results.ToString();
                    //client.SendFibonacciSeries(req);

                    //client.Close();
                }
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }

            return(Ok(req));
        }