%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
Insert - Update Event
<%
CheckSecurity(1)
Dim idInt
Dim DateInt
Dim CustInt
Dim idEmpl
Dim FullDay
Dim BeginTime
Dim EndTime
Dim JobDescription
Dim FlagDebut
Dim FlagFin
Dim BTH
Dim BTM
Dim ETH
Dim ETM
idInt = 0
DateInt = ""
CustInt = ""
idEmpl = 0
BeginTime = ""
EndTime = ""
JobDescription = ""
FlagDebut = ""
FlagFin = ""
BTH = 0
BTM = 0
ETH = 0
ETM = 0
idInt = GetParam("IDInt")
Set rs_original_int = Server.CreateObject("ADODB.Recordset")
sql_original_int = "SELECT * FROM reldatelieupers_2 WHERE id='" & idInt & "'"
openrs rs_original_int, sql_original_int
While not rs_original_int.eof
Original_CustInt = rs_original_int("CustInt")
Original_idEmpl = rs_original_int("idEmpl")
Original_FlagDebut = rs_original_int("FlagDebut")
Original_FlagFin = rs_original_int("FlagFin")
Original_BeginTime = rs_original_int("BeginTime")
Original_EndTime = rs_original_int("EndTime")
rs_original_int.movenext
Wend
rs_original_int.close
set rs_original_int = nothing
dayOriginalFlagDebut = day(Original_FlagDebut)
monthOriginalFlagDebut = month(Original_FlagDebut)
yearOriginalFlagDebut = year(Original_FlagDebut)
Original_FlagDebutToSql = yearOriginalFlagDebut & "-" & monthOriginalFlagDebut & "-" & dayOriginalFlagDebut
dayOriginalFlagFin = day(Original_FlagFin)
monthOriginalFlagFin = month(Original_FlagFin)
yearOriginalFlagFin = year(Original_FlagFin)
Original_FlagFinToSql = yearOriginalFlagFin & "-" & monthOriginalFlagFin & "-" & dayOriginalFlagFin
DateInt = GetParam("DateInt")
WeekNumInt = DatePart("ww",DateInt,2,3)
CustInt = GetParam("CustInt")
IdEmpl = GetParam("IdEmpl")
FullDay = GetParam("FullDay")
BTH = GetParam("BeginTimeHour")
BTM = GetParam("BeginTimeMinutes")
ETH = GetParam("EndTimeHour")
ETM = GetParam("EndTimeMinutes")
JobDescription = GetParam("JobDescription")
FlagDebut = FormatDateTime(GetParam("FlagDebut"),2)
dayFlagDebut = day(FlagDebut)
monthFlagDebut = month(FlagDebut)
yearFlagDebut = year(FlagDebut)
FlagDebutToSql = yearFlagDebut & "-" & monthFlagDebut & "-" & dayFlagDebut
FlagFin = FormatDateTime(GetParam("CalOutputElm"),2)
dayFlagFin = day(FlagFin)
monthFlagFin = month(FlagFin)
yearFlagFin = year(FlagFin)
FlagFinToSql = yearFlagFin & "-" & monthFlagFin & "-" & dayFlagFin
Sameday = 0
If FlagDebutToSql = FlagFinToSql then
SameDay = 1
end if
If FullDay = "on" then
FullDay = 1
BeginTime = "00:00"
EndTime = "23:59"
else
FullDay = 0
BeginTime = BTH & ":" & BTM
If CStr(ETH) = "24" AND Cstr(ETM) = "0" then
EndTime = "23:59"
else
EndTime = ETH & ":" & ETM
end if
If IsDate(BeginTime) AND IsDate(EndTime) then
BeginTime = FormatDateTime(BeginTime,4)
EndTime = FormatDateTime(EndTime,4)
else
Response.Redirect("EBModifyEvent.asp?DateInt=" & DateInt & "&idEmpl=" & idEmpl & "&BTH=" & BTH & "&BTM=" & BTM & "Ð=" & ETH & "&ETM=" & ETM & "&FullDay=" & FullDay & "&CustInt=" & CustInt & "&JobDescription=" & JobDescription & "&FlagDebut=" & FlagDebut & "&CalOutputElm=" & FlagFin & "&IDInt=" & idInt & "&Mess=4")
end if
end if
DateCalcul = DateDiff("n",BeginTime,EndTime)
If DateCalcul < 0 then
RecordBeginTime = EndTime
RecordEndTime = BeginTime
else
RecordBeginTime = BeginTime
RecordEndTime = EndTime
end if
RecordBeginTime = RecordBeginTime & ":00"
RecordEndTime = RecordEndTime & ":00"
wrong_date_check = DateDiff("d",Original_FlagDebut,FlagFin)
If wrong_date_check < 0 then
Response.Redirect("EBModifyEvent.asp?DateInt=" & DateInt & "&idEmpl=" & idEmpl & "&BTH=" & BTH & "&BTM=" & BTM & "Ð=" & ETH & "&ETM=" & ETM & "&FullDay=" & FullDay & "&CustInt=" & CustInt & "&JobDescription=" & JobDescription & "&FlagDebut=" & FlagDebut & "&CalOutputElm=" & FlagFin & "&IDInt=" & idInt & "&Mess=5")
end if
''''''''''''''''''''''''''''''''''''''
' Mise à jour des éléments existants '
''''''''''''''''''''''''''''''''''''''
set rs_list_event = Server.CreateObject("ADODB.recordset")
sql_list_event = "SELECT * FROM reldatelieupers_2 where CustInt='" & Original_CustInt & "' AND idEmpl=" & Original_idEmpl & " AND FlagDebut='" & Original_FlagDebutToSql & "' AND FlagFin='" & Original_FlagFinToSql & "'"
If SameDay = 1 then
sql_list_event = sql_list_event & " AND BeginTime='" & Original_BeginTime & "' AND EndTime='" & Original_EndTime & "'"
end if
openrs rs_list_event, sql_list_event
cptdays = 0
while not rs_list_event.eof
tmpRecordTime = Dateserial(yearOriginalFlagDebut,monthOriginalFlagDebut,dayOriginalFlagDebut+cptdays)
tmpRecordDay = day(tmpRecordTime)
tmpRecordMonth = month(tmpRecordTime)
tmpRecordYear = year(tmpRecordTime)
tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay
set rs_update = Server.CreateObject("ADODB.recordset")
sql_update = "update reldatelieupers_2 set " & _
"CustInt=" & ToSQL(CustInt, "Text") & _
",idEmpl=" & ToSQL(idEmpl, "Number") & _
",FullDay=" & ToSQL(FullDay, "Number") & _
",BeginTime=" & ToSQL(RecordBeginTime, "Text") & _
",EndTime=" & ToSQL(RecordEndTime, "Text") & _
",JobDescription=" & ToSQL(JobDescription, "Text") & _
",FlagDebut=" & ToSQL(FlagDebutToSql, "Text") & _
",FlagFin=" & ToSQL(FlagFinToSql, "Text") & _
" where id=" & rs_list_event("id")
'Response.Write("sql_update : " & sql_update & "
")
openrs rs_update, sql_update
cptdays = cptdays + 1
rs_list_event.movenext
wend
rs_list_event.close
set rs_list_event = nothing
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Analyse et insetion / suppression des éléments sortant des daters d'origine '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
same_end_date_check = DateDiff("d",Original_FlagFin,FlagFin)
if same_end_date_check < 0 then
'Response.Write("same_end_date_check : " & same_end_date_check & "
")
real_end_date = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+same_end_date_check)
'Response.Write("real_end_date : " & real_end_date & "
")
same_end_date_check = same_end_date_check + 1
For cptdays = 0 to same_end_date_check Step -1
'Response.Write("cptdays : " & cptdays & "
")
tmpRecordTime = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+cptdays)
tmpRecordDay = day(tmpRecordTime)
tmpRecordMonth = month(tmpRecordTime)
tmpRecordYear = year(tmpRecordTime)
tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay
'Response.Write("tmpRecordTime : " & tmpRecordTime & "
")
set rs_delete = Server.CreateObject("ADODB.recordset")
sql_delete = "delete from reldatelieupers_2 where DateInt='" & tmpRecordTime & "'AND CustInt='" & CustInt & "' AND idEmpl=" & idEmpl & " AND FullDay=" & FullDay & " AND BeginTime='" & RecordBeginTime & "' AND EndTime='" & RecordEndTime & "' AND FlagDebut='" & FlagDebutToSql & "' AND FlagFin='" & FlagFinToSql & "'"
'Response.Write(sql_delete & "
")
openrs rs_delete, sql_delete
next
elseif same_end_date_check > 0 then
'Response.Write("same_end_date_check : " & same_end_date_check & "
")
real_end_date = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+same_end_date_check)
'Response.Write("tmpRecordTime : " & real_end_date & "
")
For cptdays = 1 to same_end_date_check
tmpRecordTime = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+cptdays)
tmpRecordDay = day(tmpRecordTime)
tmpRecordMonth = month(tmpRecordTime)
tmpRecordYear = year(tmpRecordTime)
tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay
set rs_insert = Server.CreateObject("ADODB.recordset")
SQL_insert = "insert into reldatelieupers_2 (" & _
"DateInt," & _
"CustInt," & _
"idEmpl," & _
"FullDay," & _
"BeginTime," & _
"EndTime," & _
"JobDescription," & _
"FlagDebut," & _
"FlagFin)" & _
" values (" & _
ToSQL(tmpRecordTime, "Text") & "," & _
ToSQL(CustInt, "Text") & "," & _
ToSQL(idEmpl, "Number") & "," & _
ToSQL(FullDay, "Number") & "," & _
ToSQL(RecordBeginTime, "Text") & "," & _
ToSQL(RecordEndTime, "Text") & "," & _
ToSQL(JobDescription, "Text") & "," & _
ToSQL(FlagDebutToSql, "Text") & "," & _
ToSQL(FlagFinToSql, "Text") & _
")"
'Response.Write(SQL_insert & "
")
openrs rs_insert, SQL_insert
next
end if
Response.Redirect("EBAgenda.asp?Semaine=" & WeekNumInt & "")
%>