1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| using System;
using System.Collections.Generic;
using System.Web.UI;
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<string> days = new List<string>() { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
List<CalendarDefinition> list = new List<CalendarDefinition>();
int cpt = 0;
int january = 1;
int february = 1;
int march = 1;
int april = 1;
int may = 1;
int june = 1;
int july = 1;
int august = 1;
int september = 1;
int october = 1;
int november = 1;
int december = 1;
for (int i = 0; i <= 41; i++) // Lundi à Dimanche sur 5 semaines
{
cpt = (int)(i / 7);
string dayName = days[i - (7 * cpt)];
CalendarDefinition item = new CalendarDefinition();
item.DayText = dayName;
item.DayJanuary = GetDefinition(1, ref january, dayName) as DayMonthDefinition;
item.DayFebruary = GetDefinition(2, ref february, dayName) as DayMonthDefinition;
item.DayMarch = GetDefinition(3, ref march, dayName) as DayMonthDefinition;
item.DayApril = GetDefinition(4, ref april, dayName) as DayMonthDefinition;
item.DayMay = GetDefinition(5, ref may, dayName) as DayMonthDefinition;
item.DayJune = GetDefinition(6, ref june, dayName) as DayMonthDefinition;
item.DayJuly = GetDefinition(7, ref july, dayName) as DayMonthDefinition;
item.DayAugust = GetDefinition(8, ref august, dayName) as DayMonthDefinition;
item.DaySeptember = GetDefinition(9, ref september, dayName) as DayMonthDefinition;
item.DayOctober = GetDefinition(10, ref october, dayName) as DayMonthDefinition;
item.DayNovember = GetDefinition(11, ref november, dayName) as DayMonthDefinition;
item.DayDecember = GetDefinition(12, ref december, dayName) as DayMonthDefinition;
january++;
february++;
march++;
april++;
may++;
june++;
july++;
august++;
september++;
october++;
november++;
december++;
list.Add(item);
}
gridviewCalendar.DataSource = list;
gridviewCalendar.DataBind();
}
private object GetDefinition(int month, ref int day, string dayName)
{
DateTime temp;
bool succeed = DateTime.TryParse(string.Format("{0}-{1}-{2}", 2015, month, day), out temp);
if (succeed && temp.DayOfWeek.ToString().ToLower() == dayName.ToLower())
{
return new DayMonthDefinition()
{
DayNumber = day,
Value = day.ToString()
};
}
else
{
day--;
return null;
}
}
}
public class CalendarDefinition
{
public string DayText { get; set; }
public DayMonthDefinition DayJanuary { get; set; }
public DayMonthDefinition DayFebruary { get; set; }
public DayMonthDefinition DayMarch { get; set; }
public DayMonthDefinition DayApril { get; set; }
public DayMonthDefinition DayMay { get; set; }
public DayMonthDefinition DayJune { get; set; }
public DayMonthDefinition DayJuly { get; set; }
public DayMonthDefinition DayAugust { get; set; }
public DayMonthDefinition DaySeptember { get; set; }
public DayMonthDefinition DayOctober { get; set; }
public DayMonthDefinition DayNovember { get; set; }
public DayMonthDefinition DayDecember { get; set; }
}
public class DayMonthDefinition
{
public int DayNumber { get; set; }
public string Value { get; set; }
} |
Partager