Guest User

Untitled

a guest
Nov 20th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. public class HeatMapViewModel
  2. {
  3. public decimal? Latitude2 { get; set; }
  4. public decimal? Longitude2 { get; set; }
  5. public int coeff = 2;
  6. public int Difference;
  7. public DateTime Date { get; set; }
  8. }
  9.  
  10. public List<HeatMapViewModel> GetStops()
  11. {
  12. using (TraxgoDB ctx = new TraxgoDB())
  13. {
  14. List<HeatMapViewModel> items = new List<HeatMapViewModel>();
  15.  
  16. var firstitem = ctx.Logging.Where(x => x.Datatype == Datatype.Start).AsEnumerable().FirstOrDefault();
  17.  
  18. var midnight = new DateTime(firstitem.CurrentDateTime.Year, firstitem.CurrentDateTime.Month, firstitem.CurrentDateTime.Day, 00, 00, 00);
  19. TimeSpan difference = (firstitem.CurrentDateTime - midnight);
  20. var difference_after_midnight = (int)difference.TotalMinutes;
  21.  
  22. items.Add(new HeatMapViewModel
  23. {
  24. Latitude2 = firstitem.Latitude,
  25. Longitude2 = firstitem.Longitude,
  26. Difference = difference_after_midnight,
  27. Date = firstitem.CurrentDateTime
  28. });
  29.  
  30. var lastItem = ctx.Logging.Where(x => x.Datatype == Datatype.Stop).AsEnumerable().LastOrDefault();
  31. var before_midnight = new DateTime(lastItem.CurrentDateTime.Year, lastItem.CurrentDateTime.Month, lastItem.CurrentDateTime.Day, 23, 59, 00);
  32. TimeSpan difference_before = (before_midnight - lastItem.CurrentDateTime);
  33. var difference_before_midnight = (int)difference_before.TotalMinutes;
  34.  
  35. items.Add(new HeatMapViewModel
  36. {
  37. Latitude2 = lastItem.Latitude,
  38. Longitude2 = lastItem.Longitude,
  39. Difference = difference_before_midnight,
  40. Date = firstitem.CurrentDateTime
  41. });
  42.  
  43. var allitems = ctx.Logging;
  44. var filteredQuery = allitems.Where(x => x.Datatype == Datatype.Start || x.Datatype == Datatype.Stop).OrderByDescending(x => x.LogID).ToList();
  45.  
  46. for (int i = 1; i < filteredQuery.Count; i++)
  47. {
  48. if (filteredQuery[i].Datatype == Datatype.Stop && filteredQuery[i - 1].Datatype == Datatype.Start)
  49. {
  50. TimeSpan differenceTicks = filteredQuery[i - 1].CurrentDateTime - filteredQuery[i].CurrentDateTime;
  51.  
  52. items.Add(new HeatMapViewModel
  53. {
  54. Latitude2 = filteredQuery[i].Latitude,
  55. Longitude2 = filteredQuery[i].Longitude,
  56. Difference = (int)differenceTicks.TotalMinutes,
  57. Date = firstitem.CurrentDateTime
  58. });
  59. }
  60. }
  61. return items;
  62. }
  63. }
Add Comment
Please, Sign In to add comment