DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET2.0 | Thema: AW: AW: Belegt Status anzeigen ! | Von: Thomas Scherner ( 19.08.2007 19:27)

Schau mal so sieht es bei mir aus :
Public Class Ressourcen
' Methods
Public Sub New()
Dim dayOfWeek As Integer = CInt(DateTime.Now.DayOfWeek)
Me.Begin = DateTime.Now.AddDays(CDbl((-1 * (dayOfWeek - 1))))
Me.End = DateTime.Now.AddDays(CDbl((7 - dayOfWeek)))
End Sub

Public Sub New(ByVal Begin As DateTime, ByVal [End] As DateTime)
Me.Begin = Begin
Me.End = [End]
End Sub

Public Function GetDataTable() As DataTable
Dim belegungen As New DataTable("Belegungen")
Using connection As SqlConnection = New SqlConnection
connection.ConnectionString = ConfigurationManager.ConnectionStrings.Item("ConnectionString").ConnectionString
connection.Open
Dim command As New SqlCommand
command.Connection = connection
command.CommandText = "select " & ChrW(13) & ChrW(10) & " RessourcenId, Startdatum, Stopdatum " & ChrW(13) & ChrW(10) & " from " & ChrW(13) & ChrW(10) & " belegung " & ChrW(13) & ChrW(10) & " where " & ChrW(13) & ChrW(10) & " Startdatum between @Start and @End " & ChrW(13) & ChrW(10) & " or Stopdatum between @Start and @End " & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & " union " & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & " select " & ChrW(13) & ChrW(10) & " distinct RessourcenId, null, null " & ChrW(13) & ChrW(10) & " from " & ChrW(13) & ChrW(10) & " belegung " & ChrW(13) & ChrW(10) & " where " & ChrW(13) & ChrW(10) & " not(Startdatum between @Start and @End " & ChrW(13) & ChrW(10) & " or Stopdatum between @Start and @End)"
command.Parameters.AddWithValue("@Start", Me.Begin)
command.Parameters.AddWithValue("@End", Me.End)
Dim table2 As New DataTable("Daten")
table2.Load(command.ExecuteReader)
connection.Close
belegungen.Columns.Add("Raum", GetType(String))
Dim span As TimeSpan = DirectCast((Me.End - Me.Begin), TimeSpan)
Dim i As Integer = 0
Do While (i <= span.TotalDays)
Dim columnName As String = Me.Begin.AddDays(CDbl(i)).ToString("dd.MM.yy")
belegungen.Columns.Add(columnName, GetType(String))
i += 1
Loop
Dim row As DataRow
For Each row In table2.Rows
Dim minValue As DateTime = DateTime.MinValue
Dim time2 As DateTime = DateTime.MinValue
If (Not row.Item("Startdatum") Is DBNull.Value) Then
minValue = CDate(row.Item("Startdatum"))
End If
If (Not row.Item("Stopdatum") Is DBNull.Value) Then
time2 = CDate(row.Item("Stopdatum"))
End If
Dim span2 As TimeSpan = DirectCast((time2 - minValue), TimeSpan)
Dim row2 As DataRow = Me.SearchRessource(row.Item("RessourcenId"), belegungen)
If (row2 Is Nothing) Then
row2 = belegungen.NewRow
belegungen.Rows.Add(row2)
End If
row2.Item("Raum") = String.Format(" {0}", row.Item("RessourcenId").ToString)
Dim j As Integer = 0
Do While (j <= span2.TotalDays)
Dim name As String = minValue.AddDays(CDbl(j)).ToString("dd.MM.yy")
If belegungen.Columns.Contains(name) Then
row2.Item(name) = "belegt"
End If
j += 1
Loop
Next
Return belegungen
End Using
End Function

Public Function GetDataTable(ByVal Begin As DateTime, ByVal [End] As DateTime) As DataTable
Me.Begin = Begin
Me.End = [End]
Return Me.GetDataTable
End Function

Private Function SearchRessource(ByVal Ressource As Object, ByVal belegungen As DataTable) As DataRow
Dim row As DataRow
For Each row In belegungen.Rows
If (row.Item("Raum").ToString = String.Format("Raum {0}", Ressource.ToString)) Then
Return row
End If
Next
Return Nothing
End Function


' Properties
Public Property Begin As DateTime
Get
Return Me.begin
End Get
Set(ByVal value As DateTime)
Me.begin = value
End Set
End Property

Public Property [End] As DateTime
Get
Return Me.end
End Get
Set(ByVal value As DateTime)
Me.end = value
End Set
End Property


' Fields
Private begin As DateTime
Private [end] As DateTime
End Class

Gruss Thomas

Ich bin ein Newbie . Aber jeder hat mal angefangen. Gruß & Dank Thomas

Betreff Von Datum
Belegt Status anzeigen !
Hallo Thomas,<br><br>kein Grund nervös zu werden.<br><br>Immer locker. ;-)<br><br>Aber Du hast Recht, der Code hätte schöner sein können von Reflector.<br><br><br>ASPX-Datei<br><%@ Page Language="VB"...
Thomas Hauser 19.08.2007 20:59
AW: Belegt Status anzeigen !
Super vielen vielen Dank..<br>Ich muss vor lauter stolz sagen .. Ein wenig hatte ich den Code auch schon so ähnlich :-)<br><br>Danke für deine ganze Mühe, jetzt kann ich in VB weitermachen und auch Ajax...
Thomas Scherner 19.08.2007 21:33
AW: AW: Belegt Status anzeigen !
Hallo Thomas,<br>sorry noch ne Frage. Ich wollte den Startbuchungstag und den Endbuchungstag Orange färben. Hatte mir gedacht das mache ich über den Text Anreise also ungefähr so:<br>Do While (j <=...
Thomas Scherner 20.08.2007 00:47
AW: AW: AW: Belegt Status anzeigen !
Hallo Thomas,<br><br>spiel doch mal Framework. ;-)<br>Wandere durch den Code und überleg Dir was passiert.<br>Das kann so net gehen.<br>Tipp: Du hast nur die Schleifen verdoppelt. Wozu? Nur der Inhalt ist...
Thomas Hauser 21.08.2007 16:40
AW: AW: AW: AW: Belegt Status anzeigen !
Hallo Thomas,<br>sorry konnte nicht debuggen da ich probleme mit dem Connect zum SQL hatte.<br>Es klappt so nicht. Ich bekomme einen fehler z.b. Wenn ich 13.08 als Start im Calender auswähle und 14.08...
Thomas Scherner 21.08.2007 22:05
AW: AW: AW: AW: AW: Belegt Status...
Hallo Thomas,<br>ich glaube ich habe einen Logik Fehler... Wenn der Name immer einem Datum ist und ich nur einen Datensatz vergleiche kann anabreise nicht gehen, da beide kriterien nicht gleichzeitig...
Thomas Scherner 21.08.2007 22:54
Belegt Status anzeigen !
Hallo Thomas,<br><br>es gibt ein Startdatum und ein Stopdatum. Beide können bei einer 1-Tages-Buchung gleich dem Spaltennamen sein.<br><br>Grüße,<br><br>Thomas
Thomas Hauser 21.08.2007 23:33
AW: AW: AW: AW: AW: Belegt Status...
Hallo Thomas,<br><br>1. Wenn Du nicht debuggen kannst, dann warte bitte, bis es wieder geht.<br><br>2. Der Codeausschnitt von mir ist korrekt, bis auf das zweimal Stopdatum. Da ist beim Kopieren was schief...
Thomas Hauser 21.08.2007 23:32
AW: AW: AW: AW: AW: AW: Belegt Status...
Hallo Thomas,<br>du wirst mich jetzt sicher auslachen. Ich habe seit 2 Wochen debugt und schaffe es nicht es fertig zu bekommen. Es kann sein das eine Buchung am z.B. 01.10.07 aufhört und eine neue am...
Thomas Scherner 22.09.2007 01:43
AW: AW: AW: AW: AW: AW: AW: Belegt...
Hallo Thomas,<br><br>row("Anreise") würde bedeuten, dass Du in der aktuellen Zeile auf die Spalte "Anreise" zugreifst. Die wird aber nie existieren, weshalb der Teil innerhalb des IF-Blocks niemals...
Thomas Hauser 22.09.2007 11:21
AW: AW: AW: AW: AW: AW: AW: AW:...
Hallo Retter :-),<br>es ist leider so das ein Raum bis Mittags geräumt werden muss damit am GLEICHEN Tag noch eine Belegung stattfinden kann.Also heist es für mich umbauen :-( Ich muss also wirklich...
Thomas Scherner 22.09.2007 12:22
AW: AW: AW: AW: AW: AW: AW:...
Hallo Thomas,<br><br>das kommt drauf an, was in der Datenbank steht. Wenn da die Anreise auch am gleichen Tag ist, musst Du natürlich row[name].ToString() = "Abreise" prüfen. Ist in der Datenbank aber der...
Thomas Hauser 22.09.2007 13:19
AW: AW: AW: AW: AW: AW:...
Ich habe es jetzt so geschrieben,<br>doch er läuft immer an der Anweisung vorbei... <br>Dim j As Integer = 0<br> <br> Do While (j <= span2.TotalDays)<br> Dim...
Thomas Scherner 22.09.2007 13:54
AW: AW: AW: AW: AW:...
Hallo Thomas,<br><br>liest Du meine Posts? Ich hoffe ja!<br><br>Also, die Spalte "Anreise" existiert doch gar nicht. Was soll denn dabei herauskommen? Du hast sowas wie nen Raum und Du hast viele, viele...
Thomas Hauser 22.09.2007 14:21
AW: AW: AW: AW: AW:...
Tut mir leid Thomas,<br>ich bin nicht in der Lage es umzusetzen. Verstehe zu wenig davon.<br>OK die Row (anreise) gibt es nicht. Aber in meinem Kopf steht wenn da schon Anreise in der Celle steht also...
Thomas Scherner 22.09.2007 15:35
AW: AW: AW: AW:...
Hi,<br><br>jetzt glaube ich habe ich es verstanden. Ich denke, Du hast einfach so die Spaltennamen im SQL geändert. Das hieß damals noch Startdatum und Stopdatum. Wie kannst Du mich nur so verwirren....
Thomas Hauser 22.09.2007 16:21
AW: AW: AW:...
Sorry das ich den Kaiserschnitt der Geburt gefordert habe :-)<br>Er warf nochmal kurz einen Fehler die Spalte gehört nicht zur Tabelle Belegungen aber da habe ich :-))))) (habe auch ein wenig was...
Thomas Scherner 22.09.2007 16:41

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Visual Studio 1 Magazin

© Copyright 2003 ppedv AG