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
|
public double GetHour(int idUser,string date,string startDate, string endDate)
{
double totalHour = 0;
string month = "";
switch (date.Substring(5, 2))
{
case "01": month = "1"; break;
case "02": month = "2"; break;
case "03": month = "3"; break;
case "04": month = "4"; break;
case "05": month = "5"; break;
case "06": month = "6"; break;
case "07": month = "7"; break;
case "08": month = "8"; break;
case "09": month = "9"; break;
case "10": month = "10"; break;
case "11": month = "11"; break;
case "12": month = "12"; break;
}
foreach (var intervention in InterventionCollection.GetAll(idUser))
{
if (intervention.StartDate.Year.ToString() == date.Substring(0, 4) && intervention.StartDate.Month.ToString() == month)
{
if (intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+ startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours == 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours == 0 && intervention.StartDate.ToString("dddd", provider).ToUpper() != "DIMANCHE")
{
totalHour = totalHour + intervention.EndDate.Subtract(intervention.StartDate).TotalHours;
}
if (intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours < 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours > 0 && intervention.StartDate.ToString("dddd", provider).ToUpper() != "DIMANCHE")
{
DateTime dateTime = DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider);
DateTime dateTime2 = DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider);
totalHour = totalHour + dateTime2.Subtract(dateTime).TotalHours;
}
if (intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours > 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours < 0 && intervention.StartDate.ToString("dddd", provider).ToUpper() != "DIMANCHE")
{
totalHour = totalHour + intervention.EndDate.Subtract(intervention.StartDate).TotalHours;
}
if (intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours >= 0 && intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours < 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours > 0 && intervention.StartDate.ToString("dddd", provider).ToUpper() != "DIMANCHE")
{
DateTime dateTime2 = DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider);
totalHour = totalHour + dateTime2.Subtract(intervention.StartDate).TotalHours;
}
if (intervention.StartDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours < 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+endDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours < 0 && intervention.EndDate.Subtract(DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider)).TotalHours > 0 && intervention.StartDate.ToString("dddd", provider).ToUpper() != "DIMANCHE")
{
DateTime dateTime2 = DateTime.ParseExact(intervention.EndDate.Date.ToString("yyyy-MM-dd") + " "+startDate, "yyyy-MM-dd H:mm:ss", provider);
totalHour = totalHour + intervention.EndDate.Subtract(dateTime2).TotalHours;
}
}
}
return totalHour;
} |
Partager