Advertisement
Guest User

je code

a guest
Nov 20th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. using Groenbos.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Globalization;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.UI;
  8. using System.Web.UI.DataVisualization.Charting;
  9. using System.Web.UI.WebControls;
  10.  
  11. namespace Groenbos.Recreatie
  12. {
  13. public partial class VerhuurStatistieken : System.Web.UI.Page
  14. {
  15. private GroenbosContext db = new GroenbosContext();
  16.  
  17. protected void Page_Load(object sender, EventArgs e)
  18. {
  19. if (!IsPostBack)
  20. {
  21. CultureInfo myCI = new CultureInfo("en-US");
  22. System.Globalization.Calendar myCal = myCI.Calendar;
  23.  
  24. // Gets the DTFI properties required by GetWeekOfYear.
  25. CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
  26. DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
  27.  
  28. int weekn = myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW);
  29. VulGrafiek(DateTime.Today.Year,weekn);
  30. List<int> weeks = new List<int>();
  31. for(int i =0; i <= 52; i++)
  32. {
  33. weeks.Add(i);
  34. }
  35. foreach(var w in weeks)
  36. {
  37. var item = new ListItem
  38. {
  39. Text = w.ToString(),
  40. Value = w.ToString()
  41. };
  42. ddlWeek.Items.Add(item);
  43. }
  44. ddlWeek.SelectedValue = weeks[weekn].ToString();
  45. }
  46.  
  47.  
  48.  
  49. }
  50.  
  51. private void VulGrafiek(int jaar, int weekNummer)
  52. {
  53. List<RecreatieOrder> orders = db.RecreatieOrder.ToList();
  54. DateTime now = DateTime.Today;
  55. Series series = aVChart.Series["Series1"];
  56. Series series2 = aVChart.Series["Series2"];
  57. aVChart.Series["Series1"].IsValueShownAsLabel = true;
  58. aVChart.Series["Series2"].IsValueShownAsLabel = true;
  59. decimal totaal = 0;
  60. decimal totaal2 = 0;
  61.  
  62. var week = GetWeekDaysOfWeekFrom(weekNummer, jaar);
  63. foreach (var dag in week)
  64. {
  65. List<RecreatieOrder> reserveringen = orders.Where(x => x.Datum.Day == dag.Day && x.Datum.Year == int.Parse(ddlJaar.SelectedValue)).ToList();
  66. List<RecreatieOrder> reserveringen2 = orders.Where(x => x.Datum.Day == dag.Day && x.Datum.Year == (int.Parse(ddlJaar.SelectedValue))-1).ToList();
  67. foreach (var r in reserveringen)
  68. {
  69. totaal += 5;
  70. }
  71. foreach (var r in reserveringen2)
  72. {
  73. totaal2 += 5;
  74. }
  75. series.Points.AddXY(dag, reserveringen.Count());
  76. series2.Points.AddXY(dag, reserveringen2.Count());
  77. }
  78.  
  79. lblOmzet.Text = "De totale omzet van deze maand is: €" + Math.Round(totaal, 2).ToString();
  80. lblOmzet2.Text = "De totale omzet van deze maand vorig jaar was: €" + Math.Round(totaal2, 2).ToString();
  81. }
  82.  
  83. protected void ddlJaar_SelectedIndexChanged(object sender, EventArgs e)
  84. {
  85. VulGrafiek(int.Parse(ddlJaar.SelectedValue), int.Parse(ddlWeek.SelectedValue));
  86. }
  87.  
  88. protected void ddlWeek_SelectedIndexChanged(object sender, EventArgs e)
  89. {
  90. VulGrafiek(int.Parse(ddlJaar.SelectedValue), int.Parse(ddlWeek.SelectedValue));
  91. }
  92.  
  93. public List<DateTime> GetWeekDaysOfWeekFrom(int weekNumber, int jaar)
  94. {
  95.  
  96. DateTime firstDayOfWeek = FirstDateOfWeekISO8601(jaar, weekNumber);
  97.  
  98. int currentDayOfWeek = (int)firstDayOfWeek.DayOfWeek;
  99. DateTime sunday = firstDayOfWeek.AddDays(-currentDayOfWeek);
  100. DateTime monday = sunday.AddDays(1);
  101. // If we started on Sunday, we should actually have gone *back*
  102. // 6 days instead of forward 1...
  103. if (currentDayOfWeek == 0)
  104. {
  105. monday = monday.AddDays(-7);
  106. }
  107.  
  108. return Enumerable.Range(0, 7).Select(days => monday.AddDays(days)).ToList();
  109. }
  110.  
  111. public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear)
  112. {
  113. DateTime jan1 = new DateTime(year, 1, 1);
  114. int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;
  115.  
  116. DateTime firstThursday = jan1.AddDays(daysOffset);
  117. var cal = CultureInfo.CurrentCulture.Calendar;
  118. int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
  119.  
  120. var weekNum = weekOfYear;
  121. if (firstWeek <= 1)
  122. {
  123. weekNum -= 1;
  124. }
  125. var result = firstThursday.AddDays(weekNum * 7);
  126. return result.AddDays(-3);
  127. }
  128.  
  129. protected void btnNext_Click(object sender, EventArgs e)
  130. {
  131.  
  132. }
  133.  
  134. protected void btnPrevious_Click(object sender, EventArgs e)
  135. {
  136.  
  137. }
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement