public JsonResult Order_Statistics_ByDay(string fromDate, string toDate)
        {
            var fDate = DateTime.ParseExact(fromDate, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            var tDate = DateTime.ParseExact(toDate, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            var res   = new OrderDAO().GetAll().GroupBy(_ => _.CreatedDate.Date).Select(_ => new OrderCountViewModel {
                date = _.Key, count = _.Count()
            }).ToList();
            var allDate = new List <ChartsDataViewModel>();

            var totalDays = (tDate - fDate).TotalDays;

            for (DateTime i = fDate; i <= tDate; i = i.AddDays(1))
            {
                var item = new ChartsDataViewModel();
                item.value = "0";
                foreach (var jtem in res)
                {
                    if (jtem.date.Date == i.Date.Date)
                    {
                        item.value = jtem.count.ToString();
                    }
                }
                item.date = i;

                allDate.Add(item);
            }

            return(Json(new
            {
                label = "Thống kê đơn hàng",
                data = allDate
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public static ChartsDataViewModel QuickSort(ChartsDataViewModel model, int start, int end)
        {
            int[] a = model.Numbers[0];
            if (start >= end)
            {
                return(model);
            }
            int num = a[start];
            int i = start, j = end;

            while (i < j)
            {
                while (i < j && a[j] > num)
                {
                    j--;
                }
                a[i] = a[j];
                while (i < j && a[i] < num)
                {
                    i++;
                }
                a[j] = a[i];
                AlgoHub.Send(a, null, Encode.Base64Decode(model.ConId));
                Thread.Sleep(400);
            }

            a[i]             = num;
            model.Numbers[1] = a;
            //model.Numbers[0] = _unsortedArray;
            QuickSort(model, start, i - 1);
            QuickSort(model, i + 1, end);
            return(model);
        }
Ejemplo n.º 3
0
        public static ChartsDataViewModel BubbleSort(ChartsDataViewModel model, Random random)
        {
            model.Numbers = new int[2][];
            var size    = model.Amount < 0 || model.Amount > 40 ? random.Next(2, 40) : model.Amount;
            var numbers = new List <int>();

            for (int i = 0; i < size; i++)
            {
                numbers.Add(random.Next(1, 380));
            }
            model.Numbers[0] = numbers.ToArray();
            AlgoHub.SendUnsorted(numbers.ToArray(), null, Encode.Base64Decode(model.ConId));
            bool flag      = true;
            int  numLength = numbers.Count();
            var  watch     = System.Diagnostics.Stopwatch.StartNew();

            for (int i = 1; (i <= (numLength - 1)) && flag; i++)
            {
                flag = false;
                for (int j = 0; j < (numLength - 1); j++)
                {
                    if (numbers.ElementAt(j) > numbers.ElementAt(j + 1))
                    {
                        var temp = numbers.ElementAt(j + 1);
                        numbers[j + 1] = numbers[j];
                        numbers[j]     = temp;

                        flag = true;

                        AlgoHub.Send(numbers.ToArray(), null, Encode.Base64Decode(model.ConId));
                        Thread.Sleep(400);
                    }
                }
            }
            watch.Stop();
            //if (watch.ElapsedMilliseconds < 2)
            //{
            //    ViewBag.ExecutionTime = "Execution time: less than 1 millisecond";
            //}
            //else
            //{
            //    ViewBag.ExecutionTime = "Execution time: " + watch.ElapsedMilliseconds + " milliseconds";
            //}
            model.Numbers[1] = numbers.ToArray();
            return(model);
        }
Ejemplo n.º 4
0
        public static ChartsDataViewModel QuickSort(ChartsDataViewModel model, Random random)
        {
            model.Numbers = new int[2][];
            var size    = model.Amount < 0 || model.Amount > 40 ? random.Next(2, 40) : model.Amount;
            var numbers = new List <int>();

            for (int i = 0; i < size; i++)
            {
                numbers.Add(random.Next(1, 380));
            }
            model.Numbers[0] = numbers.ToArray();
            AlgoHub.SendUnsorted(numbers.ToArray(), null, Encode.Base64Decode(model.ConId));
            _unsortedArray = numbers.ToArray();
            QuickSort(model, 0, model.Numbers[0].Length - 1);
            model.Numbers[0] = _unsortedArray;

            return(model);
        }
Ejemplo n.º 5
0
        public ActionResult Index(ChartsDataViewModel model)
        {
            if (model.CheckBoxAlgoType.Where(x => x.IsSelected).FirstOrDefault() == null || model.Amount == 0 || model.CheckBoxAlgoType.Where(x => x.IsSelected).Count() > 1)
            {
                ModelState.AddModelError("Amount", "Please enter amount of random numbers and select just one sorting method");

                return(View(model));
            }
            else
            {
                List <CheckBoxAlgorithms> chkBskList = new List <CheckBoxAlgorithms>();
                chkBskList = model.CheckBoxAlgoType;

                var str = chkBskList.Where(x => x.IsSelected).Select(x => x.Name).FirstOrDefault().ToString();


                switch (str)//Todo: request from the view;
                {
                case "Bubble Sort":
                {
                    model = Sortingalgorithms.BubbleSort(model, _random);
                }
                break;

                case "Merge Sort":
                {
                    model = Sortingalgorithms.MergeSort(model, _random);
                }
                break;

                case "Quick Sort":
                {
                    model = Sortingalgorithms.QuickSort(model, _random);
                }
                break;
                }
                return(View(model));
            }
        }
Ejemplo n.º 6
0
 public static ChartsDataViewModel CountingSort(ChartsDataViewModel model, Random random)
 {
     return(model);
 }
Ejemplo n.º 7
0
 public static ChartsDataViewModel HeapSort(ChartsDataViewModel model, Random random)
 {
     return(model);
 }
Ejemplo n.º 8
0
 public static ChartsDataViewModel SelectionSort(ChartsDataViewModel model, Random random)
 {
     return(model);
 }