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)); }
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]); } }
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(); }
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(); }
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(); }
public void SendFibonacciSeries(FibonacciRange req) { SendMessage(req.Serialize(), "fibonacci.series"); }
public void Setup() { fr = new FibonacciRange(); }
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)); }