#region Using directives
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using JuiceApps.BO;
using System.IO;
#endregion
namespace JuiceApps
{
///
/// Summary description for WorkOrderView.
///
public class WorkOrderView : System.Windows.Forms.Form
{
#region Instance Variables
private Button btnLeft;
private Button btnRight;
private Panel panel1;
private Label lblWON;
private Label label2;
private Panel pnlMain;
private TextBox txtAmount;
private Label label15;
private TextBox txtMaterials;
private Label label14;
private TextBox txtComments;
private Label label13;
private TextBox txtTimeSpent;
private Label label12;
private Label label11;
private Label label18;
private Label label10;
private TextBox txtCreated;
private Label label9;
private TextBox txtAssignedTo;
private Label label8;
private TextBox txtWOType;
private Label label7;
private TextBox txtMeterSN;
private Label label5;
private Label label6;
private TextBox txtTransformer;
private TextBox txtSubstation;
private TextBox txtLocID;
private Label label4;
private TextBox txtName;
private Label label3;
private VScrollBar vScrollBar1;
private Label lblWOCount;
private ComboBox cbStatus;
private MainMenu mainMenu1;
private MenuItem miEditDone;
private MenuItem miSave;
private ComboBox cbSubstatus;
private ComboBox comboBox1;
private Label label1;
private TextBox txtPeak;
private TextBox txtkVA;
private TextBox txtkWh;
private Label label17;
private Label label19;
private Label label20;
private Label label16;
private TextBox txtAverageReading;
private Label label21;
private TextBox txtAddress;
private Label label22;
private TextBox txtAccNum;
private Label label23;
private int currentWorkOrder = 0;
private ArrayList doNotEdit;
private bool changed = false;
private bool editing = false;
private MenuItem miBack;
private MenuItem menuItem1;
private Label label24;
private TextBox txtRoute;
private TextBox txtModule;
private Label label25;
private bool newMeter = false;
#endregion
// Called when a meter serial number is unrecognized (i.e. not in the database)
public WorkOrderView(string sn)
{
newMeter = true;
InitializeComponent();
}
// Called when a meter/work order is recognized (i.e. in the database)
public WorkOrderView(int current)
{
currentWorkOrder = current;
InitializeComponent();
initData(currentWorkOrder);
this.btnRight.Enabled = (currentWorkOrder < Helper.WorkOrders.Count() - 1) ? true : false;
this.btnLeft.Enabled = (currentWorkOrder > 0) ? true : false;
lblWOCount.Text = String.Format("{0}/{1}", (currentWorkOrder + 1), Helper.WorkOrders.Count());
}
#region Auto-Generated
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.lblWOCount = new System.Windows.Forms.Label();
this.lblWON = new System.Windows.Forms.Label();
this.btnLeft = new System.Windows.Forms.Button();
this.btnRight = new System.Windows.Forms.Button();
this.pnlMain = new System.Windows.Forms.Panel();
this.label24 = new System.Windows.Forms.Label();
this.txtRoute = new System.Windows.Forms.TextBox();
this.txtModule = new System.Windows.Forms.TextBox();
this.label25 = new System.Windows.Forms.Label();
this.txtAccNum = new System.Windows.Forms.TextBox();
this.label23 = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.txtAverageReading = new System.Windows.Forms.TextBox();
this.label21 = new System.Windows.Forms.Label();
this.txtPeak = new System.Windows.Forms.TextBox();
this.txtkVA = new System.Windows.Forms.TextBox();
this.txtkWh = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.cbSubstatus = new System.Windows.Forms.ComboBox();
this.cbStatus = new System.Windows.Forms.ComboBox();
this.txtAmount = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.txtMaterials = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.txtComments = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.txtTimeSpent = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.txtCreated = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.txtAssignedTo = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.txtWOType = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.txtMeterSN = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.txtTransformer = new System.Windows.Forms.TextBox();
this.txtSubstation = new System.Windows.Forms.TextBox();
this.txtLocID = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.txtName = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.txtAddress = new System.Windows.Forms.TextBox();
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.miEditDone = new System.Windows.Forms.MenuItem();
this.miSave = new System.Windows.Forms.MenuItem();
this.miBack = new System.Windows.Forms.MenuItem();
this.menuItem1 = new System.Windows.Forms.MenuItem();
//
// panel1
//
this.panel1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.lblWOCount);
this.panel1.Controls.Add(this.lblWON);
this.panel1.Controls.Add(this.btnLeft);
this.panel1.Controls.Add(this.btnRight);
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Size = new System.Drawing.Size(240, 30);
//
// label2
//
this.label2.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold);
this.label2.Location = new System.Drawing.Point(102, 0);
this.label2.Size = new System.Drawing.Size(17, 30);
this.label2.Text = "|";
this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// lblWOCount
//
this.lblWOCount.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold);
this.lblWOCount.Location = new System.Drawing.Point(102, 2);
this.lblWOCount.Size = new System.Drawing.Size(107, 30);
this.lblWOCount.Text = "0/0";
this.lblWOCount.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblWON
//
this.lblWON.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold);
this.lblWON.Location = new System.Drawing.Point(32, 2);
this.lblWON.Size = new System.Drawing.Size(64, 30);
this.lblWON.Text = "000";
//
// btnLeft
//
this.btnLeft.Enabled = false;
this.btnLeft.Font = new System.Drawing.Font("Tahoma", 18F, System.Drawing.FontStyle.Bold);
this.btnLeft.Location = new System.Drawing.Point(0, 0);
this.btnLeft.Size = new System.Drawing.Size(30, 30);
this.btnLeft.Text = "<";
this.btnLeft.Click += new System.EventHandler(this.btnLeft_Click);
//
// btnRight
//
this.btnRight.Enabled = false;
this.btnRight.Font = new System.Drawing.Font("Tahoma", 18F, System.Drawing.FontStyle.Bold);
this.btnRight.Location = new System.Drawing.Point(210, 0);
this.btnRight.Size = new System.Drawing.Size(30, 30);
this.btnRight.Text = ">";
this.btnRight.Click += new System.EventHandler(this.btnRight_Click);
//
// pnlMain
//
this.pnlMain.Controls.Add(this.label24);
this.pnlMain.Controls.Add(this.txtRoute);
this.pnlMain.Controls.Add(this.txtModule);
this.pnlMain.Controls.Add(this.label25);
this.pnlMain.Controls.Add(this.txtAccNum);
this.pnlMain.Controls.Add(this.label23);
this.pnlMain.Controls.Add(this.label22);
this.pnlMain.Controls.Add(this.txtAverageReading);
this.pnlMain.Controls.Add(this.label21);
this.pnlMain.Controls.Add(this.txtPeak);
this.pnlMain.Controls.Add(this.txtkVA);
this.pnlMain.Controls.Add(this.txtkWh);
this.pnlMain.Controls.Add(this.label17);
this.pnlMain.Controls.Add(this.label19);
this.pnlMain.Controls.Add(this.label20);
this.pnlMain.Controls.Add(this.label16);
this.pnlMain.Controls.Add(this.comboBox1);
this.pnlMain.Controls.Add(this.label1);
this.pnlMain.Controls.Add(this.cbSubstatus);
this.pnlMain.Controls.Add(this.cbStatus);
this.pnlMain.Controls.Add(this.txtAmount);
this.pnlMain.Controls.Add(this.label15);
this.pnlMain.Controls.Add(this.txtMaterials);
this.pnlMain.Controls.Add(this.label14);
this.pnlMain.Controls.Add(this.txtComments);
this.pnlMain.Controls.Add(this.label13);
this.pnlMain.Controls.Add(this.txtTimeSpent);
this.pnlMain.Controls.Add(this.label12);
this.pnlMain.Controls.Add(this.label11);
this.pnlMain.Controls.Add(this.label18);
this.pnlMain.Controls.Add(this.label10);
this.pnlMain.Controls.Add(this.txtCreated);
this.pnlMain.Controls.Add(this.label9);
this.pnlMain.Controls.Add(this.txtAssignedTo);
this.pnlMain.Controls.Add(this.label8);
this.pnlMain.Controls.Add(this.txtWOType);
this.pnlMain.Controls.Add(this.label7);
this.pnlMain.Controls.Add(this.txtMeterSN);
this.pnlMain.Controls.Add(this.label5);
this.pnlMain.Controls.Add(this.label6);
this.pnlMain.Controls.Add(this.txtTransformer);
this.pnlMain.Controls.Add(this.txtSubstation);
this.pnlMain.Controls.Add(this.txtLocID);
this.pnlMain.Controls.Add(this.label4);
this.pnlMain.Controls.Add(this.txtName);
this.pnlMain.Controls.Add(this.label3);
this.pnlMain.Controls.Add(this.txtAddress);
this.pnlMain.Location = new System.Drawing.Point(0, 30);
this.pnlMain.Size = new System.Drawing.Size(218, 713);
//
// label24
//
this.label24.Enabled = false;
this.label24.Location = new System.Drawing.Point(3, 154);
this.label24.Size = new System.Drawing.Size(81, 20);
this.label24.Text = "Route:";
this.label24.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtRoute
//
this.txtRoute.Enabled = false;
this.txtRoute.Location = new System.Drawing.Point(90, 153);
this.txtRoute.Size = new System.Drawing.Size(128, 21);
//
// txtModule
//
this.txtModule.Enabled = false;
this.txtModule.Location = new System.Drawing.Point(90, 126);
this.txtModule.Size = new System.Drawing.Size(128, 21);
//
// label25
//
this.label25.Enabled = false;
this.label25.Location = new System.Drawing.Point(3, 127);
this.label25.Size = new System.Drawing.Size(81, 20);
this.label25.Text = "Module:";
this.label25.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtAccNum
//
this.txtAccNum.Enabled = false;
this.txtAccNum.Location = new System.Drawing.Point(90, 3);
this.txtAccNum.Size = new System.Drawing.Size(128, 21);
//
// label23
//
this.label23.Enabled = false;
this.label23.Location = new System.Drawing.Point(3, 4);
this.label23.Size = new System.Drawing.Size(81, 20);
this.label23.Text = "Acct Num:";
this.label23.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label22
//
this.label22.Enabled = false;
this.label22.Location = new System.Drawing.Point(3, 58);
this.label22.Size = new System.Drawing.Size(81, 20);
this.label22.Text = "Address:";
this.label22.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtAverageReading
//
this.txtAverageReading.Enabled = false;
this.txtAverageReading.Location = new System.Drawing.Point(90, 603);
this.txtAverageReading.Size = new System.Drawing.Size(128, 21);
//
// label21
//
this.label21.Enabled = false;
this.label21.Location = new System.Drawing.Point(3, 604);
this.label21.Size = new System.Drawing.Size(81, 20);
this.label21.Text = "3 Month Avg:";
this.label21.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtPeak
//
this.txtPeak.Enabled = false;
this.txtPeak.Location = new System.Drawing.Point(90, 684);
this.txtPeak.Size = new System.Drawing.Size(128, 21);
//
// txtkVA
//
this.txtkVA.Enabled = false;
this.txtkVA.Location = new System.Drawing.Point(90, 657);
this.txtkVA.Size = new System.Drawing.Size(128, 21);
//
// txtkWh
//
this.txtkWh.Enabled = false;
this.txtkWh.Location = new System.Drawing.Point(90, 630);
this.txtkWh.Size = new System.Drawing.Size(128, 21);
//
// label17
//
this.label17.Enabled = false;
this.label17.Location = new System.Drawing.Point(3, 695);
this.label17.Size = new System.Drawing.Size(81, 20);
this.label17.Text = "Peak:";
this.label17.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label19
//
this.label19.Enabled = false;
this.label19.Location = new System.Drawing.Point(3, 658);
this.label19.Size = new System.Drawing.Size(81, 20);
this.label19.Text = "kVA:";
this.label19.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label20
//
this.label20.Enabled = false;
this.label20.Location = new System.Drawing.Point(3, 631);
this.label20.Size = new System.Drawing.Size(81, 20);
this.label20.Text = "kWh:";
this.label20.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label16
//
this.label16.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
this.label16.Location = new System.Drawing.Point(0, 578);
this.label16.Size = new System.Drawing.Size(218, 20);
this.label16.Text = "Reading Information";
this.label16.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// comboBox1
//
this.comboBox1.Enabled = false;
this.comboBox1.Items.Add("Location not found");
this.comboBox1.Items.Add("No access");
this.comboBox1.Items.Add("Abandoned");
this.comboBox1.Items.Add("Meter changed");
this.comboBox1.Items.Add("Meter not found");
this.comboBox1.Items.Add("Module unlocked");
this.comboBox1.Items.Add("Possible fraud");
this.comboBox1.Location = new System.Drawing.Point(90, 422);
this.comboBox1.Size = new System.Drawing.Size(128, 22);
//
// label1
//
this.label1.Enabled = false;
this.label1.Location = new System.Drawing.Point(3, 424);
this.label1.Size = new System.Drawing.Size(81, 20);
this.label1.Text = "Detail:";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// cbSubstatus
//
this.cbSubstatus.Enabled = false;
this.cbSubstatus.Items.Add("Failed");
this.cbSubstatus.Items.Add("Extended");
this.cbSubstatus.Items.Add("Invalid");
this.cbSubstatus.Items.Add("Effective");
this.cbSubstatus.Location = new System.Drawing.Point(90, 395);
this.cbSubstatus.Size = new System.Drawing.Size(128, 22);
//
// cbStatus
//
this.cbStatus.Enabled = false;
this.cbStatus.Items.Add("Open");
this.cbStatus.Items.Add("In progress");
this.cbStatus.Items.Add("Failed");
this.cbStatus.Items.Add("Closed");
this.cbStatus.Location = new System.Drawing.Point(90, 368);
this.cbStatus.Size = new System.Drawing.Size(128, 22);
//
// txtAmount
//
this.txtAmount.Enabled = false;
this.txtAmount.Location = new System.Drawing.Point(90, 551);
this.txtAmount.Size = new System.Drawing.Size(128, 21);
//
// label15
//
this.label15.Enabled = false;
this.label15.Location = new System.Drawing.Point(3, 552);
this.label15.Size = new System.Drawing.Size(81, 20);
this.label15.Text = "$ Amount:";
this.label15.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtMaterials
//
this.txtMaterials.Enabled = false;
this.txtMaterials.Location = new System.Drawing.Point(90, 524);
this.txtMaterials.Size = new System.Drawing.Size(128, 21);
//
// label14
//
this.label14.Enabled = false;
this.label14.Location = new System.Drawing.Point(3, 525);
this.label14.Size = new System.Drawing.Size(81, 20);
this.label14.Text = "Materials:";
this.label14.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtComments
//
this.txtComments.Enabled = false;
this.txtComments.Location = new System.Drawing.Point(90, 477);
this.txtComments.Multiline = true;
this.txtComments.Size = new System.Drawing.Size(128, 41);
//
// label13
//
this.label13.Enabled = false;
this.label13.Location = new System.Drawing.Point(3, 478);
this.label13.Size = new System.Drawing.Size(81, 20);
this.label13.Text = "Comments:";
this.label13.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtTimeSpent
//
this.txtTimeSpent.Enabled = false;
this.txtTimeSpent.Location = new System.Drawing.Point(90, 450);
this.txtTimeSpent.Size = new System.Drawing.Size(128, 21);
//
// label12
//
this.label12.Enabled = false;
this.label12.Location = new System.Drawing.Point(3, 451);
this.label12.Size = new System.Drawing.Size(81, 20);
this.label12.Text = "Time Spent:";
this.label12.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label11
//
this.label11.Enabled = false;
this.label11.Location = new System.Drawing.Point(3, 397);
this.label11.Size = new System.Drawing.Size(81, 20);
this.label11.Text = "Substatus:";
this.label11.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label18
//
this.label18.Enabled = false;
this.label18.Location = new System.Drawing.Point(3, 370);
this.label18.Size = new System.Drawing.Size(81, 20);
this.label18.Text = "Status:";
this.label18.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label10
//
this.label10.Enabled = false;
this.label10.Location = new System.Drawing.Point(3, 343);
this.label10.Size = new System.Drawing.Size(81, 20);
this.label10.Text = "Created:";
this.label10.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtCreated
//
this.txtCreated.Enabled = false;
this.txtCreated.Location = new System.Drawing.Point(90, 342);
this.txtCreated.Size = new System.Drawing.Size(128, 21);
//
// label9
//
this.label9.Enabled = false;
this.label9.Location = new System.Drawing.Point(3, 316);
this.label9.Size = new System.Drawing.Size(81, 20);
this.label9.Text = "Assigned To:";
this.label9.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtAssignedTo
//
this.txtAssignedTo.Enabled = false;
this.txtAssignedTo.Location = new System.Drawing.Point(90, 315);
this.txtAssignedTo.Size = new System.Drawing.Size(128, 21);
//
// label8
//
this.label8.Enabled = false;
this.label8.Location = new System.Drawing.Point(3, 289);
this.label8.Size = new System.Drawing.Size(81, 20);
this.label8.Text = "WO Type:";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtWOType
//
this.txtWOType.Enabled = false;
this.txtWOType.Location = new System.Drawing.Point(90, 288);
this.txtWOType.Size = new System.Drawing.Size(128, 21);
//
// label7
//
this.label7.Enabled = false;
this.label7.Location = new System.Drawing.Point(3, 262);
this.label7.Size = new System.Drawing.Size(81, 20);
this.label7.Text = "Meter S/N:";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtMeterSN
//
this.txtMeterSN.Enabled = false;
this.txtMeterSN.Location = new System.Drawing.Point(90, 261);
this.txtMeterSN.Size = new System.Drawing.Size(128, 21);
//
// label5
//
this.label5.Enabled = false;
this.label5.Location = new System.Drawing.Point(3, 235);
this.label5.Size = new System.Drawing.Size(81, 20);
this.label5.Text = "Transformer:";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label6
//
this.label6.Enabled = false;
this.label6.Location = new System.Drawing.Point(3, 208);
this.label6.Size = new System.Drawing.Size(81, 20);
this.label6.Text = "Substation:";
this.label6.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtTransformer
//
this.txtTransformer.Enabled = false;
this.txtTransformer.Location = new System.Drawing.Point(90, 234);
this.txtTransformer.Size = new System.Drawing.Size(128, 21);
//
// txtSubstation
//
this.txtSubstation.Enabled = false;
this.txtSubstation.Location = new System.Drawing.Point(90, 207);
this.txtSubstation.Size = new System.Drawing.Size(128, 21);
//
// txtLocID
//
this.txtLocID.Enabled = false;
this.txtLocID.Location = new System.Drawing.Point(90, 180);
this.txtLocID.Size = new System.Drawing.Size(128, 21);
//
// label4
//
this.label4.Enabled = false;
this.label4.Location = new System.Drawing.Point(3, 181);
this.label4.Size = new System.Drawing.Size(81, 20);
this.label4.Text = "Location ID:";
this.label4.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtName
//
this.txtName.Enabled = false;
this.txtName.Location = new System.Drawing.Point(90, 30);
this.txtName.Size = new System.Drawing.Size(128, 21);
//
// label3
//
this.label3.Enabled = false;
this.label3.Location = new System.Drawing.Point(3, 31);
this.label3.Size = new System.Drawing.Size(81, 20);
this.label3.Text = "Name:";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// txtAddress
//
this.txtAddress.Enabled = false;
this.txtAddress.Location = new System.Drawing.Point(90, 57);
this.txtAddress.Multiline = true;
this.txtAddress.Size = new System.Drawing.Size(128, 63);
//
// vScrollBar1
//
this.vScrollBar1.LargeChange = 30;
this.vScrollBar1.Location = new System.Drawing.Point(221, 29);
this.vScrollBar1.Maximum = 475;
this.vScrollBar1.Size = new System.Drawing.Size(19, 265);
this.vScrollBar1.SmallChange = 15;
this.vScrollBar1.ValueChanged += new System.EventHandler(this.vScrollBar1_ValueChanged);
//
// mainMenu1
//
this.mainMenu1.MenuItems.Add(this.miEditDone);
this.mainMenu1.MenuItems.Add(this.miSave);
this.mainMenu1.MenuItems.Add(this.miBack);
this.mainMenu1.MenuItems.Add(this.menuItem1);
//
// miEditDone
//
this.miEditDone.Text = "Edit";
this.miEditDone.Click += new System.EventHandler(this.miEditDone_Click);
//
// miSave
//
this.miSave.Enabled = false;
this.miSave.Text = "Save";
this.miSave.Click += new System.EventHandler(this.miSave_Click);
//
// miBack
//
this.miBack.Text = "Back";
this.miBack.Click += new System.EventHandler(this.miBack_Click);
//
// menuItem1
//
this.menuItem1.Text = "Exit";
this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
//
// WorkOrderView
//
this.ClientSize = new System.Drawing.Size(240, 294);
this.ControlBox = false;
this.Controls.Add(this.panel1);
this.Controls.Add(this.vScrollBar1);
this.Controls.Add(this.pnlMain);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Location = new System.Drawing.Point(0, 0);
this.Menu = this.mainMenu1;
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.WorkOrderView_Load);
this.Resize += new System.EventHandler(this.WorkOrderView_Resize);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.WorkOrderView_KeyDown);
}
#endregion
private void WorkOrderView_Load(object sender, EventArgs e)
{
// Non-editable fields
doNotEdit = new ArrayList();
doNotEdit.Add(this.txtLocID);
doNotEdit.Add(this.txtSubstation);
doNotEdit.Add(this.txtTransformer);
doNotEdit.Add(this.txtMeterSN);
doNotEdit.Add(this.txtCreated);
doNotEdit.Add(this.txtAverageReading);
doNotEdit.Add(this.txtAccNum);
doNotEdit.Add(this.txtModule);
doNotEdit.Add(this.txtRoute);
// Initialize changes to dataChanged event handler
foreach (Control c in this.pnlMain.Controls)
if (c is TextBox)
((TextBox)c).TextChanged += new EventHandler(dataChanged);
else if (c is ComboBox)
((ComboBox)c).SelectedIndexChanged += new EventHandler(dataChanged);
if (newMeter)
MessageBox.Show("Warning! Meter not found in database! Enter data and click save to add.", "Meter Not Found", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
}
private void dataChanged(Object sender, EventArgs e)
{
if (editing)
{
changed = true;
miSave.Enabled = true;
}
}
private void vScrollBar1_ValueChanged(object sender, EventArgs e)
{
this.pnlMain.Top = -this.vScrollBar1.Value + 30;
}
public void initData(int index)
{
if (Helper.FileExists())
{
WorkOrder w = Helper.WorkOrders[index];
this.Text = w.Portal;
txtAccNum.Text = w.AccountNum.ToString();
lblWON.Text = w.WONum.ToString();
txtAmount.Text = w.Amount.ToString();
txtMaterials.Text = w.MatUsed;
txtComments.Text = w.Comments;
txtTimeSpent.Text = w.TimeSpent.ToString();
cbSubstatus.SelectedItem = w.Substatus;
switch (w.Substatus.ToLower())
{
case "failed":
cbSubstatus.SelectedIndex = 0;
break;
case "extended":
cbSubstatus.SelectedIndex = 1;
break;
case "invalid":
cbSubstatus.SelectedIndex = 2;
break;
case "effective":
cbSubstatus.SelectedIndex = 3;
break;
default:
cbSubstatus.SelectedIndex = -1;
break;
}
switch (w.Status.ToLower())
{
case "open":
cbStatus.SelectedIndex = 0;
break;
case "in progress":
cbStatus.SelectedIndex = 1;
break;
case "failed":
cbStatus.SelectedIndex = 2;
break;
case "closed":
cbStatus.SelectedIndex = 3;
break;
default:
cbStatus.SelectedIndex = -1;
break;
}
txtCreated.Text = w.Created.ToString();
txtAssignedTo.Text = w.AssignedTo;
txtWOType.Text = w.WOType;
txtMeterSN.Text = w.MeterSN.ToString();
txtTransformer.Text = w.Transformer.ToString();
txtSubstation.Text = w.Substation;
txtLocID.Text = w.LocID.ToString();
txtName.Text = w.Name;
txtAverageReading.Text = w.AverageReading.ToString();
txtkWh.Text = w.kWh.ToString();
txtkVA.Text = w.kVA.ToString();
txtPeak.Text = w.Peak.ToString();
txtAddress.Text = (w.Address1 != String.Empty) ? String.Format("{0} {1}\r\n{2}, {3} {4}", w.Address1, w.Address2, w.City, w.State, w.Zip) : "";
txtModule.Text = w.Module;
txtRoute.Text = w.Route;
}
else
MessageBox.Show("File not found!");
}
private void btnLeft_Click(object sender, EventArgs e)
{
if (!editing)
if (currentWorkOrder > 0)
{
initData(--currentWorkOrder);
btnRight.Enabled = true;
if ((currentWorkOrder - 1) < 0)
btnLeft.Enabled = false;
lblWOCount.Text = String.Format("{0}/{1}", (currentWorkOrder + 1), Helper.WorkOrders.Count());
}
this.Focus();
}
private void btnRight_Click(object sender, EventArgs e)
{
if (!editing)
if ((currentWorkOrder + 1) < Helper.WorkOrders.Count())
{
initData(++currentWorkOrder);
btnLeft.Enabled = true;
if ((currentWorkOrder + 1) == Helper.WorkOrders.Count())
btnRight.Enabled = false;
lblWOCount.Text = String.Format("{0}/{1}", (currentWorkOrder + 1), Helper.WorkOrders.Count());
}
this.Focus();
}
private void WorkOrderView_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == System.Windows.Forms.Keys.Up)
{
if ((this.vScrollBar1.Value - this.vScrollBar1.SmallChange) <= this.vScrollBar1.Minimum)
this.vScrollBar1.Value = this.vScrollBar1.Minimum;
else
this.vScrollBar1.Value -= this.vScrollBar1.SmallChange;
//this.vScrollBar1_ValueChanged(sender, e);
}
else if (e.KeyCode == System.Windows.Forms.Keys.Down)
{
if ((this.vScrollBar1.Value + this.vScrollBar1.SmallChange) >= this.vScrollBar1.Maximum)
this.vScrollBar1.Value = this.vScrollBar1.Maximum;
else
this.vScrollBar1.Value += this.vScrollBar1.SmallChange;
}
else if (e.KeyCode == System.Windows.Forms.Keys.Left)
{
this.btnLeft_Click(sender, e);
}
else if (e.KeyCode == System.Windows.Forms.Keys.Right)
{
this.btnRight_Click(sender, e);
}
else if (e.KeyCode == (Keys.RButton | Keys.Space)) // Page up button
{
int factor = (Helper.WorkOrders.Count() / 10);
if (factor > 1)
{
if ((currentWorkOrder + factor) < Helper.WorkOrders.Count())
{
currentWorkOrder += factor;
initData(currentWorkOrder);
}
else
{
currentWorkOrder = Helper.WorkOrders.Count() - 1;
initData(currentWorkOrder);
btnLeft.Enabled = true;
btnRight.Enabled = false;
}
lblWOCount.Text = String.Format("{0}/{1}", (currentWorkOrder + 1), Helper.WorkOrders.Count());
}
}
else if (e.KeyCode == (Keys.LButton | Keys.Space)) // Page down button
{
int factor = (Helper.WorkOrders.Count() / 10);
if (factor > 1)
{
if ((currentWorkOrder - factor) > 0)
{
currentWorkOrder -= factor;
initData(currentWorkOrder);
}
else
{
currentWorkOrder = 0;
initData(currentWorkOrder);
btnRight.Enabled = true;
btnLeft.Enabled = false;
}
lblWOCount.Text = String.Format("{0}/{1}", (currentWorkOrder + 1), Helper.WorkOrders.Count());
}
}
}
///
/// Edit menu button clicked
///
private void miEditDone_Click(object sender, EventArgs e)
{
MenuItem button = (MenuItem)sender;
if (button.Text == "Edit")
{
editing = true;
if (newMeter)
enableAllControls();
else
enableRelevantControls();
button.Text = "Done";
}
else if (button.Text == "Done")
{
if (changed)
{
DialogResult result = MessageBox.Show("You have unsaved changes. Save them now?", "Unsaved Changes!", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
if (result == DialogResult.Yes)
save();
else if (result == DialogResult.No)
{
initData(currentWorkOrder);
changed = false;
miSave.Enabled = false;
}
}
editing = false;
disableRelevantControls();
button.Text = "Edit";
this.Focus();
}
}
///
/// Save menu item click
///
private void miSave_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Really save changes?", "Save?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result == DialogResult.Yes)
save();
}
///
/// Back menu item click
///
private void miBack_Click(object sender, EventArgs e)
{
this.Dispose();
this.Close();
}
///
/// Enables editable* controls.
/// *Controls not in doNotEdit.
///
private void enableRelevantControls()
{
bool editable = true;
foreach (Control c in this.pnlMain.Controls)
{
if (c is TextBox)
if (((TextBox)c).Equals(this.txtName))
Console.Write("here");
for (int i = 0; i < doNotEdit.Count; i++)
if (c.Equals(doNotEdit[i]))
editable = false;
if (editable)
c.Enabled = true;
editable = true;
}
}
private void enableAllControls()
{
foreach (Control c in this.pnlMain.Controls)
if ((c is TextBox) || (c is ComboBox))
c.Enabled = true;
}
private void disableRelevantControls()
{
foreach (Control c in this.pnlMain.Controls)
if ((c is TextBox) || (c is ComboBox))
c.Enabled = false;
}
private void save()
{
if (newMeter)
{
WorkOrder wo = new WorkOrder();
wo.WONum = Helper.WorkOrders.Count();
wo.Portal = String.Empty;
wo.AccountNum = txtAccNum.Text;
wo.Name = txtName.Text;
wo.LocID = txtLocID.Text;
wo.Substation = txtSubstation.Text;
wo.Transformer = txtTransformer.Text;
// ========== Begin address parsing
string[] addr = txtAddress.Text.Split("\r\n".ToCharArray());
string[] addr0_1 = addr[0].Split(' ');
string[] addr2_3_4 = addr[1].Split(' ');
wo.Address1 = addr0_1[0];
wo.Address2 = addr0_1[1];
wo.City = addr2_3_4[0];
wo.State = addr2_3_4[1];
wo.Zip = int.Parse(addr2_3_4[2]);
// ========== End address parsing
wo.Module = txtModule.Text;
wo.Route = txtRoute.Text;
wo.MeterSN = txtMeterSN.Text;
wo.WOType = txtWOType.Text;
wo.AssignedTo = txtAssignedTo.Text;
wo.AverageReading = 0.0;
wo.Created = (txtCreated.Text != String.Empty) ? new DateTime(int.Parse(txtCreated.Text.Substring(0, 4)),
int.Parse(txtCreated.Text.Substring(5, 2)),
int.Parse(txtCreated.Text.Substring(8, 2))) : new DateTime();
Helper.WorkOrders.Insert(Helper.WorkOrders.Count(), wo);
}
int c = Helper.WorkOrders.Count() - 1;
Helper.WorkOrders[c].Amount = double.Parse(txtAmount.Text);
Helper.WorkOrders[c].MatUsed = txtMaterials.Text;
Helper.WorkOrders[c].Comments = txtComments.Text;
Helper.WorkOrders[c].TimeSpent = double.Parse(txtTimeSpent.Text);
Helper.WorkOrders[c].Substatus = cbSubstatus.SelectedValue.ToString();
Helper.WorkOrders[c].Status = cbStatus.SelectedIndex.ToString();
Helper.WorkOrders[c].Name = txtName.Text;
Helper.WorkOrders[c].kWh = (txtkWh.Text != String.Empty) ? int.Parse(txtkWh.Text) : 0;
Helper.WorkOrders[c].kVA = (txtkVA.Text != String.Empty) ? int.Parse(txtkVA.Text) : 0;
Helper.WorkOrders[c].Peak = (txtPeak.Text != String.Empty) ? int.Parse(txtPeak.Text) : 0;
changed = false;
miSave.Enabled = false;
}
private void menuItem1_Click(object sender, EventArgs e)
{
this.Dispose();
this.Close();
Program.Exit();
}
private void WorkOrderView_Resize(object sender, EventArgs e)
{
FormWindowState m = this.WindowState;
}
}
}