This commit is contained in:
2022-06-18 03:04:48 +00:00
parent aec5029993
commit 8b40faea04
5 changed files with 101 additions and 103 deletions

View File

@@ -28,6 +28,8 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.invoicesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -46,14 +48,13 @@
this.technicalsupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cbCustomersWithInvoiceableWorkorders = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.grid = new System.Windows.Forms.DataGridView();
this.wonumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.customer = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.status = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.statuscolor = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.workorderid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.customerid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.wonumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.servicedate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.project = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.linked = new System.Windows.Forms.DataGridViewCheckBoxColumn();
@@ -188,89 +189,98 @@
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// cbCustomersWithInvoiceableWorkorders
//
this.cbCustomersWithInvoiceableWorkorders.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cbCustomersWithInvoiceableWorkorders.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbCustomersWithInvoiceableWorkorders.FormattingEnabled = true;
this.cbCustomersWithInvoiceableWorkorders.Location = new System.Drawing.Point(13, 54);
this.cbCustomersWithInvoiceableWorkorders.Name = "cbCustomersWithInvoiceableWorkorders";
this.cbCustomersWithInvoiceableWorkorders.Size = new System.Drawing.Size(765, 21);
this.cbCustomersWithInvoiceableWorkorders.TabIndex = 1;
this.cbCustomersWithInvoiceableWorkorders.SelectedIndexChanged += new System.EventHandler(this.cbCustomersWithInvoiceableWorkorders_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(13, 35);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(187, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Customers with invoicable work orders";
//
// grid
//
this.grid.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.grid.AllowUserToAddRows = false;
this.grid.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.grid.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.grid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.grid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.grid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.grid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.wonumber,
this.customer,
this.status,
this.statuscolor,
this.workorderid,
this.customerid,
this.wonumber,
this.servicedate,
this.project,
this.linked});
this.grid.Location = new System.Drawing.Point(13, 103);
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
this.grid.EnableHeadersVisualStyles = false;
this.grid.Location = new System.Drawing.Point(0, 24);
this.grid.Name = "grid";
this.grid.ReadOnly = true;
this.grid.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.grid.Size = new System.Drawing.Size(765, 359);
this.grid.Size = new System.Drawing.Size(790, 450);
this.grid.TabIndex = 3;
this.grid.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.grid_CellFormatting);
//
// status
//
this.status.DataPropertyName = "Status";
this.status.HeaderText = "Status";
this.status.Name = "status";
this.status.ReadOnly = true;
this.status.Width = 62;
//
// statuscolor
//
this.statuscolor.DataPropertyName = "StatusColor";
this.statuscolor.HeaderText = "statuscolor";
this.statuscolor.Name = "statuscolor";
this.statuscolor.Visible = false;
this.statuscolor.Width = 83;
//
// workorderid
//
this.workorderid.DataPropertyName = "WorkorderId";
this.workorderid.HeaderText = "workorderid";
this.workorderid.Name = "workorderid";
this.workorderid.Visible = false;
this.workorderid.Width = 87;
//
// customerid
//
this.customerid.DataPropertyName = "CustomerId";
this.customerid.HeaderText = "customerid";
this.customerid.Name = "customerid";
this.customerid.Visible = false;
this.customerid.Width = 83;
//
// wonumber
//
this.wonumber.DataPropertyName = "ServiceNumber";
this.wonumber.HeaderText = "Service number";
this.wonumber.Name = "wonumber";
this.wonumber.ReadOnly = true;
this.wonumber.Width = 97;
this.wonumber.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.wonumber.Width = 78;
//
// customer
//
this.customer.DataPropertyName = "Customer";
this.customer.HeaderText = "Customer";
this.customer.Name = "customer";
this.customer.ReadOnly = true;
this.customer.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.customer.Width = 57;
//
// status
//
this.status.DataPropertyName = "Status";
this.status.HeaderText = "Status";
this.status.Name = "status";
this.status.ReadOnly = true;
this.status.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.status.Width = 43;
//
// statuscolor
//
this.statuscolor.DataPropertyName = "StatusColor";
this.statuscolor.HeaderText = "statuscolor";
this.statuscolor.Name = "statuscolor";
this.statuscolor.ReadOnly = true;
this.statuscolor.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.statuscolor.Visible = false;
this.statuscolor.Width = 64;
//
// workorderid
//
this.workorderid.DataPropertyName = "WorkorderId";
this.workorderid.HeaderText = "workorderid";
this.workorderid.Name = "workorderid";
this.workorderid.ReadOnly = true;
this.workorderid.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.workorderid.Visible = false;
this.workorderid.Width = 68;
//
// customerid
//
this.customerid.DataPropertyName = "CustomerId";
this.customerid.HeaderText = "customerid";
this.customerid.Name = "customerid";
this.customerid.ReadOnly = true;
this.customerid.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.customerid.Visible = false;
this.customerid.Width = 64;
//
// servicedate
//
@@ -278,7 +288,8 @@
this.servicedate.HeaderText = "Service date";
this.servicedate.Name = "servicedate";
this.servicedate.ReadOnly = true;
this.servicedate.Width = 85;
this.servicedate.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.servicedate.Width = 66;
//
// project
//
@@ -286,7 +297,8 @@
this.project.HeaderText = "Project";
this.project.Name = "project";
this.project.ReadOnly = true;
this.project.Width = 65;
this.project.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.project.Width = 46;
//
// linked
//
@@ -295,9 +307,8 @@
this.linked.Name = "linked";
this.linked.ReadOnly = true;
this.linked.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.linked.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.linked.Visible = false;
this.linked.Width = 64;
this.linked.Width = 45;
//
// MainForm
//
@@ -305,8 +316,6 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(790, 474);
this.Controls.Add(this.grid);
this.Controls.Add(this.label1);
this.Controls.Add(this.cbCustomersWithInvoiceableWorkorders);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
@@ -340,14 +349,13 @@
private System.Windows.Forms.ToolStripMenuItem technicalsupportToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ComboBox cbCustomersWithInvoiceableWorkorders;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.DataGridView grid;
private System.Windows.Forms.DataGridViewTextBoxColumn wonumber;
private System.Windows.Forms.DataGridViewTextBoxColumn customer;
private System.Windows.Forms.DataGridViewTextBoxColumn status;
private System.Windows.Forms.DataGridViewTextBoxColumn statuscolor;
private System.Windows.Forms.DataGridViewTextBoxColumn workorderid;
private System.Windows.Forms.DataGridViewTextBoxColumn customerid;
private System.Windows.Forms.DataGridViewTextBoxColumn wonumber;
private System.Windows.Forms.DataGridViewTextBoxColumn servicedate;
private System.Windows.Forms.DataGridViewTextBoxColumn project;
private System.Windows.Forms.DataGridViewCheckBoxColumn linked;

View File

@@ -19,9 +19,8 @@ namespace AyaNovaQBI
private void MainForm_Load(object sender, EventArgs e)
{
cbCustomersWithInvoiceableWorkorders.DataSource = util.GetCustomersWithInvoiceableItems();
cbCustomersWithInvoiceableWorkorders.DisplayMember = "Name";
// grid.DataSource = util.GetInvoiceableItems();
grid.DataSource = util.GetInvoiceableItems();
}
private void grid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
@@ -33,10 +32,10 @@ namespace AyaNovaQBI
if (!isLinked)
{
grid.Rows[e.RowIndex].Cells["wonumber"].ErrorText = "Not invoiceable: use \"Invoice\" -> \"Fix problems\" to resolve";
grid.Rows[e.RowIndex].ErrorText = "Not invoiceable: use \"Invoice\" -> \"Fix problems\" to resolve";
}else
{
grid.Rows[e.RowIndex].Cells["wonumber"].ErrorText = null;
grid.Rows[e.RowIndex].ErrorText = null;
}
}
@@ -48,15 +47,6 @@ namespace AyaNovaQBI
Close();
}
private void cbCustomersWithInvoiceableWorkorders_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbCustomersWithInvoiceableWorkorders.SelectedValue != null)
{
var selectedNameIdItem = cbCustomersWithInvoiceableWorkorders.SelectedValue as NameIdItem;
grid.DataSource = util.GetInvoiceableItems(selectedNameIdItem.Name);
}
else
grid.DataSource = null;
}
}
}

View File

@@ -120,6 +120,12 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="wonumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="customer.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="status.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -132,9 +138,6 @@
<metadata name="customerid.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="wonumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="servicedate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@@ -8,7 +8,8 @@ namespace AyaNovaQBI
{
internal class InvoiceableItem
{
public string Status { get; set; }
public string Customer { get; set; }
public string Status { get; set; }
public string ServiceNumber { get; set; }
public string ServiceDate { get; set; }
public string Project { get; set; }

View File

@@ -9,23 +9,19 @@ namespace AyaNovaQBI
internal class util
{
public static List<InvoiceableItem> GetInvoiceableItems(string customerName)
public static List<InvoiceableItem> GetInvoiceableItems()
{
var random = new Random();
var l = new List<InvoiceableItem>();
for (int i = 1; i < random.Next(3,100); i++)
l.Add(new InvoiceableItem { CustomerId = 1, Linked = random.Next(2) == 1, Project = $"project {i}", ServiceDate = DateTime.Now.ToString("s"), ServiceNumber = (40+i).ToString(), Status = $"Waiting to be invoiced ({customerName})", StatusColor = "FF00FFAA", WorkorderId = 4 });
for (int i = 1; i < random.Next(25, 100); i++)
l.Add(new InvoiceableItem { Customer = $"Customer {random.Next(1, 5)}", Linked = random.Next(2) == 1, Project = $"project {i}", ServiceDate = DateTime.Now.ToString("s"), ServiceNumber = (40 + i).ToString(), Status = $"Waiting to be invoiced", StatusColor = "FF00FFAA", WorkorderId = 4 });
return l.OrderBy(x => x.Customer)
.ThenBy(x => x.ServiceNumber)
.ToList();
return l;
}
public static List<NameIdItem> GetCustomersWithInvoiceableItems()
{
var random = new Random();
var l = new List<NameIdItem>();
for (int i = 1; i < random.Next(5,100); i++)
l.Add(new NameIdItem { Id = i, Name = $"Customer {i}"});
return l;
}
}
}