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)); }
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); }
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); }
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); }
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)); } }
public static ChartsDataViewModel CountingSort(ChartsDataViewModel model, Random random) { return(model); }
public static ChartsDataViewModel HeapSort(ChartsDataViewModel model, Random random) { return(model); }
public static ChartsDataViewModel SelectionSort(ChartsDataViewModel model, Random random) { return(model); }