WorkLog: Allow usage of stats forms even without worklog selected

This commit is contained in:
2025-10-02 15:04:18 +02:00
parent 15c77a14ec
commit 0499ac5bb9
3 changed files with 56 additions and 16 deletions

View File

@@ -298,10 +298,8 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
private void btnStats_Click(object sender, EventArgs e) private void btnStats_Click(object sender, EventArgs e)
{ {
if (_currentWorkLogItem == null) { return; }
FrmWorkLogStats frmStats = new FrmWorkLogStats FrmWorkLogStats frmStats = new FrmWorkLogStats
{ Activity = _currentWorkLogItem.Activity, WorkLog = _workLog }; { Activity = _currentWorkLogItem?.Activity ?? string.Empty, WorkLog = _workLog, WorkerName = txtName.Text, };
frmStats.Show(this); frmStats.Show(this);
} }
@@ -516,7 +514,6 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
btnAdd.Enabled = !enable; btnAdd.Enabled = !enable;
btnDelete.Enabled = enable; btnDelete.Enabled = enable;
btnRename.Enabled = enable; btnRename.Enabled = enable;
btnStats.Enabled = enable;
} }
private void WorkLogItem_Update(bool refresh = true) private void WorkLogItem_Update(bool refresh = true)

View File

@@ -37,6 +37,7 @@
this.lblTotalTime = new System.Windows.Forms.Label(); this.lblTotalTime = new System.Windows.Forms.Label();
this.dtpStart = new VAR.Toolbox.Controls.CDateTimePicker(); this.dtpStart = new VAR.Toolbox.Controls.CDateTimePicker();
this.dtpEnd = new VAR.Toolbox.Controls.CDateTimePicker(); this.dtpEnd = new VAR.Toolbox.Controls.CDateTimePicker();
this.lblName = new System.Windows.Forms.Label();
this.SuspendLayout(); this.SuspendLayout();
// //
// lsbDays // lsbDays
@@ -44,10 +45,14 @@
this.lsbDays.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.lsbDays.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsbDays.BackColor = System.Drawing.Color.Black;
this.lsbDays.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lsbDays.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.lsbDays.ForeColor = System.Drawing.Color.Gray;
this.lsbDays.FormattingEnabled = true; this.lsbDays.FormattingEnabled = true;
this.lsbDays.Location = new System.Drawing.Point(12, 113); this.lsbDays.Location = new System.Drawing.Point(12, 113);
this.lsbDays.Name = "lsbDays"; this.lsbDays.Name = "lsbDays";
this.lsbDays.Size = new System.Drawing.Size(393, 290); this.lsbDays.Size = new System.Drawing.Size(393, 288);
this.lsbDays.TabIndex = 0; this.lsbDays.TabIndex = 0;
// //
// lblDateStart // lblDateStart
@@ -56,12 +61,16 @@
this.lblDateStart.Name = "lblDateStart"; this.lblDateStart.Name = "lblDateStart";
this.lblDateStart.Size = new System.Drawing.Size(186, 23); this.lblDateStart.Size = new System.Drawing.Size(186, 23);
this.lblDateStart.TabIndex = 1; this.lblDateStart.TabIndex = 1;
this.lblDateStart.Text = "label1"; this.lblDateStart.Text = "lblDateStart";
// //
// txtActivity // txtActivity
// //
this.txtActivity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.txtActivity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtActivity.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.txtActivity.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtActivity.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.txtActivity.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.txtActivity.Location = new System.Drawing.Point(12, 12); this.txtActivity.Location = new System.Drawing.Point(12, 12);
this.txtActivity.Name = "txtActivity"; this.txtActivity.Name = "txtActivity";
this.txtActivity.Size = new System.Drawing.Size(325, 20); this.txtActivity.Size = new System.Drawing.Size(325, 20);
@@ -95,7 +104,7 @@
this.lblDateEnd.Name = "lblDateEnd"; this.lblDateEnd.Name = "lblDateEnd";
this.lblDateEnd.Size = new System.Drawing.Size(171, 23); this.lblDateEnd.Size = new System.Drawing.Size(171, 23);
this.lblDateEnd.TabIndex = 5; this.lblDateEnd.TabIndex = 5;
this.lblDateEnd.Text = "label2"; this.lblDateEnd.Text = "lblDateEnd";
this.lblDateEnd.TextAlign = System.Drawing.ContentAlignment.TopRight; this.lblDateEnd.TextAlign = System.Drawing.ContentAlignment.TopRight;
// //
// lblTotalTime // lblTotalTime
@@ -104,13 +113,15 @@
this.lblTotalTime.AutoSize = true; this.lblTotalTime.AutoSize = true;
this.lblTotalTime.Location = new System.Drawing.Point(12, 406); this.lblTotalTime.Location = new System.Drawing.Point(12, 406);
this.lblTotalTime.Name = "lblTotalTime"; this.lblTotalTime.Name = "lblTotalTime";
this.lblTotalTime.Size = new System.Drawing.Size(35, 13); this.lblTotalTime.Size = new System.Drawing.Size(64, 13);
this.lblTotalTime.TabIndex = 6; this.lblTotalTime.TabIndex = 6;
this.lblTotalTime.Text = "label1"; this.lblTotalTime.Text = "lblTotalTime";
// //
// dtpStart // dtpStart
// //
this.dtpStart.BackColor = System.Drawing.Color.DarkSlateGray;
this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm:ss"; this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpStart.ForeColor = System.Drawing.Color.Gray;
this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom; this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStart.Location = new System.Drawing.Point(15, 38); this.dtpStart.Location = new System.Drawing.Point(15, 38);
this.dtpStart.Name = "dtpStart"; this.dtpStart.Name = "dtpStart";
@@ -120,16 +131,29 @@
// dtpEnd // dtpEnd
// //
this.dtpEnd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.dtpEnd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.dtpEnd.BackColor = System.Drawing.Color.DarkSlateGray;
this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm:ss"; this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpEnd.ForeColor = System.Drawing.Color.Gray;
this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom; this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEnd.Location = new System.Drawing.Point(264, 38); this.dtpEnd.Location = new System.Drawing.Point(264, 38);
this.dtpEnd.Name = "dtpEnd"; this.dtpEnd.Name = "dtpEnd";
this.dtpEnd.Size = new System.Drawing.Size(141, 20); this.dtpEnd.Size = new System.Drawing.Size(141, 20);
this.dtpEnd.TabIndex = 8; this.dtpEnd.TabIndex = 8;
// //
// lblName
//
this.lblName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.lblName.Location = new System.Drawing.Point(264, 61);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(141, 23);
this.lblName.TabIndex = 9;
this.lblName.Text = "lblName";
this.lblName.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// FrmWorkLogStats // FrmWorkLogStats
// //
this.ClientSize = new System.Drawing.Size(417, 448); this.ClientSize = new System.Drawing.Size(417, 448);
this.Controls.Add(this.lblName);
this.Controls.Add(this.dtpEnd); this.Controls.Add(this.dtpEnd);
this.Controls.Add(this.dtpStart); this.Controls.Add(this.dtpStart);
this.Controls.Add(this.lblTotalTime); this.Controls.Add(this.lblTotalTime);
@@ -139,6 +163,7 @@
this.Controls.Add(this.txtActivity); this.Controls.Add(this.txtActivity);
this.Controls.Add(this.lblDateStart); this.Controls.Add(this.lblDateStart);
this.Controls.Add(this.lsbDays); this.Controls.Add(this.lsbDays);
this.Location = new System.Drawing.Point(0, 0);
this.Name = "FrmWorkLogStats"; this.Name = "FrmWorkLogStats";
this.Text = "WorkLogStats"; this.Text = "WorkLogStats";
this.Load += new System.EventHandler(this.FrmWorkLogStats_Load); this.Load += new System.EventHandler(this.FrmWorkLogStats_Load);
@@ -158,5 +183,6 @@
private System.Windows.Forms.Label lblTotalTime; private System.Windows.Forms.Label lblTotalTime;
private VAR.Toolbox.Controls.CDateTimePicker dtpStart; private VAR.Toolbox.Controls.CDateTimePicker dtpStart;
private VAR.Toolbox.Controls.CDateTimePicker dtpEnd; private VAR.Toolbox.Controls.CDateTimePicker dtpEnd;
private System.Windows.Forms.Label lblName;
} }
} }

View File

@@ -28,6 +28,12 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
set => _workLog = value; set => _workLog = value;
} }
public string WorkerName
{
get => lblName.Text;
set => lblName.Text = value;
}
private void FrmWorkLogStats_Load(object sender, EventArgs e) private void FrmWorkLogStats_Load(object sender, EventArgs e)
{ {
dtpStart.Value = DateTime.Now.Date.AddMonths(-1); dtpStart.Value = DateTime.Now.Date.AddMonths(-1);
@@ -47,6 +53,12 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
private void WorkLog_ProcessStats() private void WorkLog_ProcessStats()
{ {
if (string.IsNullOrWhiteSpace(txtActivity.Text))
{
CleanList();
return;
}
bool found = false; bool found = false;
DateTime dateStart = DateTime.MaxValue; DateTime dateStart = DateTime.MaxValue;
DateTime dateEnd = DateTime.MinValue; DateTime dateEnd = DateTime.MinValue;
@@ -78,10 +90,7 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
if (found == false) if (found == false)
{ {
lblDateStart.Text = string.Empty; CleanList();
lblDateEnd.Text = string.Empty;
lsbDays.Items.Clear();
lblTotalTime.Text = string.Empty;
return; return;
} }
@@ -127,5 +136,13 @@ namespace VAR.Toolbox.UI.Tools.WorkLog
lsbDays.Items.AddRange(strDays.ToArray<object>()); lsbDays.Items.AddRange(strDays.ToArray<object>());
lblTotalTime.Text = $"{tsTotal.ToString()} - {tsTotal.TotalHours}"; lblTotalTime.Text = $"{tsTotal.ToString()} - {tsTotal.TotalHours}";
} }
private void CleanList()
{
lblDateStart.Text = string.Empty;
lblDateEnd.Text = string.Empty;
lsbDays.Items.Clear();
lblTotalTime.Text = string.Empty;
}
} }
} }