📄 timesheet.vb
字号:
Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
'
'StatusBar1
'
Me.StatusBar1.Location = New System.Drawing.Point(0, 349)
Me.StatusBar1.Name = "StatusBar1"
Me.StatusBar1.Panels.AddRange(New System.Windows.Forms.StatusBarPanel() {Me.pnlStatus, Me.pnlDate})
Me.StatusBar1.ShowPanels = True
Me.StatusBar1.Size = New System.Drawing.Size(739, 25)
Me.StatusBar1.TabIndex = 2
Me.StatusBar1.Text = "StatusBar1"
'
'pnlStatus
'
Me.pnlStatus.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring
Me.pnlStatus.Text = "Ready"
Me.pnlStatus.Width = 648
'
'pnlDate
'
Me.pnlDate.Width = 75
'
'pnlEmployee
'
Me.pnlEmployee.BackColor = System.Drawing.SystemColors.ControlDark
Me.pnlEmployee.Controls.Add(Me.cboWeekEnding)
Me.pnlEmployee.Controls.Add(Me.Label1)
Me.pnlEmployee.Controls.Add(Me.imgStatus)
Me.pnlEmployee.Controls.Add(Me.btnSubmit)
Me.pnlEmployee.Controls.Add(Me.btnSave)
Me.pnlEmployee.Controls.Add(Me.lblEmployee)
Me.pnlEmployee.Dock = System.Windows.Forms.DockStyle.Top
Me.pnlEmployee.Location = New System.Drawing.Point(0, 28)
Me.pnlEmployee.Name = "pnlEmployee"
Me.pnlEmployee.Size = New System.Drawing.Size(739, 26)
Me.pnlEmployee.TabIndex = 3
'
'cboWeekEnding
'
Me.cboWeekEnding.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.cboWeekEnding.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboWeekEnding.Location = New System.Drawing.Point(595, 1)
Me.cboWeekEnding.Name = "cboWeekEnding"
Me.cboWeekEnding.Size = New System.Drawing.Size(145, 24)
Me.cboWeekEnding.TabIndex = 5
'
'Label1
'
Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label1.ForeColor = System.Drawing.Color.White
Me.Label1.Location = New System.Drawing.Point(509, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(86, 25)
Me.Label1.TabIndex = 4
Me.Label1.Text = "Week Ending"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'imgStatus
'
Me.imgStatus.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.imgStatus.Image = CType(resources.GetObject("imgStatus.Image"), System.Drawing.Image)
Me.imgStatus.Location = New System.Drawing.Point(478, 2)
Me.imgStatus.Name = "imgStatus"
Me.imgStatus.Size = New System.Drawing.Size(19, 19)
Me.imgStatus.TabIndex = 3
Me.imgStatus.TabStop = False
'
'btnSubmit
'
Me.btnSubmit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnSubmit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSubmit.ForeColor = System.Drawing.Color.White
Me.btnSubmit.Location = New System.Drawing.Point(374, 0)
Me.btnSubmit.Name = "btnSubmit"
Me.btnSubmit.Size = New System.Drawing.Size(90, 25)
Me.btnSubmit.TabIndex = 2
Me.btnSubmit.Text = "Submit"
'
'btnSave
'
Me.btnSave.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSave.ForeColor = System.Drawing.Color.White
Me.btnSave.Location = New System.Drawing.Point(278, 0)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(90, 25)
Me.btnSave.TabIndex = 1
Me.btnSave.Text = "Save"
'
'lblEmployee
'
Me.lblEmployee.ForeColor = System.Drawing.Color.White
Me.lblEmployee.Location = New System.Drawing.Point(0, 0)
Me.lblEmployee.Name = "lblEmployee"
Me.lblEmployee.Size = New System.Drawing.Size(250, 25)
Me.lblEmployee.TabIndex = 0
Me.lblEmployee.Text = "Timesheet for"
Me.lblEmployee.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'grdTimeSheet
'
Me.grdTimeSheet.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.grdTimeSheet.CaptionVisible = False
Me.grdTimeSheet.DataMember = ""
Me.grdTimeSheet.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.grdTimeSheet.Location = New System.Drawing.Point(0, 60)
Me.grdTimeSheet.Name = "grdTimeSheet"
Me.grdTimeSheet.Size = New System.Drawing.Size(739, 288)
Me.grdTimeSheet.TabIndex = 4
'
'pnlManager
'
Me.pnlManager.BackColor = System.Drawing.SystemColors.ControlDark
Me.pnlManager.Controls.Add(Me.btnApprove)
Me.pnlManager.Controls.Add(Me.cboEmployeeWeekEnding)
Me.pnlManager.Controls.Add(Me.Label3)
Me.pnlManager.Controls.Add(Me.cboEmployee)
Me.pnlManager.Controls.Add(Me.Label2)
Me.pnlManager.Location = New System.Drawing.Point(6000, 5769)
Me.pnlManager.Name = "pnlManager"
Me.pnlManager.Size = New System.Drawing.Size(739, 26)
Me.pnlManager.TabIndex = 5
'
'btnApprove
'
Me.btnApprove.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnApprove.ForeColor = System.Drawing.Color.White
Me.btnApprove.Location = New System.Drawing.Point(528, 0)
Me.btnApprove.Name = "btnApprove"
Me.btnApprove.Size = New System.Drawing.Size(90, 25)
Me.btnApprove.TabIndex = 4
Me.btnApprove.Text = "Approve"
'
'cboEmployeeWeekEnding
'
Me.cboEmployeeWeekEnding.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboEmployeeWeekEnding.Location = New System.Drawing.Point(338, 1)
Me.cboEmployeeWeekEnding.Name = "cboEmployeeWeekEnding"
Me.cboEmployeeWeekEnding.Size = New System.Drawing.Size(164, 24)
Me.cboEmployeeWeekEnding.TabIndex = 3
'
'Label3
'
Me.Label3.ForeColor = System.Drawing.Color.White
Me.Label3.Location = New System.Drawing.Point(240, 0)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(96, 25)
Me.Label3.TabIndex = 2
Me.Label3.Text = "Week Ending"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'cboEmployee
'
Me.cboEmployee.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboEmployee.Location = New System.Drawing.Point(70, 1)
Me.cboEmployee.Name = "cboEmployee"
Me.cboEmployee.Size = New System.Drawing.Size(163, 24)
Me.cboEmployee.TabIndex = 1
'
'Label2
'
Me.Label2.ForeColor = System.Drawing.Color.White
Me.Label2.Location = New System.Drawing.Point(0, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(67, 25)
Me.Label2.TabIndex = 0
Me.Label2.Text = "Employee"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'TimeSheet
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15)
Me.ClientSize = New System.Drawing.Size(739, 374)
Me.Controls.Add(Me.pnlManager)
Me.Controls.Add(Me.grdTimeSheet)
Me.Controls.Add(Me.pnlEmployee)
Me.Controls.Add(Me.StatusBar1)
Me.Controls.Add(Me.ToolBar1)
Me.Menu = Me.MainMenu1
Me.Name = "TimeSheet"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Time Tracker Time Sheet"
CType(Me.pnlStatus, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.pnlDate, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnlEmployee.ResumeLayout(False)
CType(Me.grdTimeSheet, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnlManager.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
#Region " Variable Declarations "
Private intIndex As Integer
Private intTotal As Integer
Private blnEmployeeDisplay As Boolean = True
Private blnLoading As Boolean = True
Private strAppTitle As String
Private strCompany As String = "Wrox"
Private strApplication As String = "Time Tracker"
Private strUserID As String
Private strManagerID As String
Private objTimeSheets As WroxBusinessLogic.WBLTimeSheets
Private objUsers As WroxBusinessLogic.WBLUsers
Private objDataSet As DataSet
Private objTimeSheetDS As DataSet
Private objEmployees As DataSet
Private objTimeSheetDV As DataView
#End Region
#Region " Load Procedures "
Private Sub TimeSheet_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'Set the current date in the date panel in the status bar
pnlDate.Text = Date.Today
'Get the process title from the executable name
strAppTitle = _
System.Reflection.Assembly.GetExecutingAssembly.FullName.Substring(0, _
System.Reflection.Assembly.GetExecutingAssembly.FullName.IndexOf(","))
'Hide the managers menu option for regular users
If g_strUserRole.ToLower Like "user" Then
mnuViewEmployeeTimeSheets.Visible = False
blnEmployeeDisplay = True
strUserID = g_strUserID
Else
blnEmployeeDisplay = False
Call mnuViewEmployeeTimeSheets_Click(Nothing, Nothing)
strManagerID = g_strUserID
Call LoadEmployees()
End If
'Display the users name
lblEmployee.Text &= " " & g_strUserName
'Load the week ending date combo boxes
cboWeekEnding.Items.Add(GetPreviousWeekEndingDate)
cboEmployeeWeekEnding.Items.Add(GetPreviousWeekEndingDate)
cboWeekEnding.Items.Add(GetCurrentWeekEndingDate)
cboEmployeeWeekEnding.Items.Add(GetCurrentWeekEndingDate)
If g_strUserRole.ToLower Like "user" Then
cboWeekEnding.SelectedIndex = 1
Else
cboWeekEnding.SelectedIndex = -1
End If
'Turn off the loading flag
blnLoading = False
End Sub
#End Region
#Region " Navigation Procedures "
Private Sub mnuFileExit_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuFileExit.Click
Me.Close()
End Sub
Private Sub mnuViewMyTimeSheet_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuViewMyTimeSheet.Click
'Undock the Panel
pnlManager.Dock = DockStyle.None
'Move it out of the way
pnlManager.Location = New Point(5000, 5000)
'Set the Dock property to Fill
'(this will cause the location to change to 0,0)
pnlEmployee.Dock = DockStyle.Top
'Set the view flag
blnEmployeeDisplay = True
End Sub
Private Sub mnuViewEmployeeTimeSheets_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuViewEmployeeTimeSheets.Click
'Undock the Panel
pnlEmployee.Dock = DockStyle.None
'Move it out of the way
pnlEmployee.Location = New Point(5000, 5000)
'Set the Dock property to Fill
'(this will cause the location to change to 0,0)
pnlManager.Dock = DockStyle.Top
'Set the view flag
blnEmployeeDisplay = False
End Sub
Private Sub mnuHelpAbout_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuHelpAbout.Click
Dim objAbout As New About
objAbout.ShowDialog(Me)
objAbout.Dispose()
objAbout = Nothing
End Sub
#End Region
#Region " Utility Functions "
Private Function GetCurrentWeekEndingDate() As String
GetCurrentWeekEndingDate = DateSerial( _
Year(Now), Month(Now), DateAndTime.Day(Now) - _
DatePart("w", Now, FirstDayOfWeek.Sunday) + 6)
End Function
Private Function GetPreviousWeekEndingDate() As String
GetPreviousWeekEndingDate = DateSerial( _
Year(Now), Month(Now), DateAndTime.Day(Now) - _
DatePart("w", Now, FirstDayOfWeek.Sunday) - 1)
End Function
Private Sub LoadTimeSheet(ByVal WeekEndingDate As ComboBox)
'Clear previous bindings
grdTimeSheet.DataSource = Nothing
grdTimeSheet.DataMember = String.Empty
'Initialize a new instance of the business logic component
objTimeSheets = New WroxBusinessLogic.WBLTimeSheets( _
strCompany, strApplication)
'Get the timesheet for the user
objTimeSheetDS = objTimeSheets.GetTimeSheet( _
New Guid(strUserID), WeekEndingDate.SelectedItem)
'Set the DataView object with the data from the DataSet
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -