private void buildPageSizeList()
        {
            ResultJobPageSizes resultPageSizes = new ResultJobPageSizes();

            resultPageSizes = DBTransactions.GetPageSizesByJobID(Data.GlovalVariables.currentJobID);
            PageSizesListView.Items.Clear();
            if (resultPageSizes.RecordsCount != 0)
            {
                foreach (JobPageSize jobPageSize in resultPageSizes.ReturnValue)
                {
                    string[] row          = { jobPageSize.ID.ToString(), jobPageSize.CategoryName, jobPageSize.High.ToString(), jobPageSize.Width.ToString() };
                    var      listViewItem = new ListViewItem(row);
                    PageSizesListView.Items.Add(listViewItem);

                    JobPageSize jobPageSizeItem = new JobPageSize();
                    jobPageSizeItem.ID           = jobPageSize.ID;
                    jobPageSizeItem.JobID        = jobPageSize.JobID;
                    jobPageSizeItem.CategoryName = jobPageSize.CategoryName;
                    jobPageSizeItem.Width        = jobPageSize.Width;
                    jobPageSizeItem.High         = jobPageSize.High;
                    originalJobPageSizes.Add(jobPageSizeItem);
                }
            }

            ResetButtons();
        }
        private void Save(string action)
        {
            try
            {
                foreach (ListViewItem item in PageSizesListView.Items)
                {
                    // Check for Deletion
                    if (item.ForeColor == Color.DarkRed)
                    {
                        // Delete Record
                        DBTransactions.DeleteJobPageSize(Convert.ToInt32(item.SubItems[0].Text));
                    }

                    // Check for New
                    if (item.ForeColor == Color.DarkGreen)
                    {
                        // Add Record
                        JobPageSize jobPageZise = new JobPageSize();
                        jobPageZise.JobID        = Data.GlovalVariables.currentJobID;
                        jobPageZise.CategoryName = item.SubItems[1].Text;
                        jobPageZise.High         = Convert.ToDouble(item.SubItems[2].Text);
                        jobPageZise.Width        = Convert.ToDouble(item.SubItems[3].Text);
                        DBTransactions.NewJobPageSize(jobPageZise);
                    }

                    //Check for Update
                    if (item.ForeColor == Color.DarkViolet)
                    {
                        // Update Record
                        JobPageSize jobPageZise = new JobPageSize();
                        jobPageZise.ID           = Convert.ToInt32(item.SubItems[0].Text);
                        jobPageZise.JobID        = Data.GlovalVariables.currentJobID;
                        jobPageZise.CategoryName = item.SubItems[1].Text;
                        jobPageZise.High         = Convert.ToDouble(item.SubItems[2].Text);
                        jobPageZise.Width        = Convert.ToDouble(item.SubItems[3].Text);
                        DBTransactions.UpdateJobPageSize(jobPageZise);
                    }
                }

                if (action == "Save")
                {
                    // Rebuild PageSizesListView
                    buildPageSizeList();
                }
                else
                {
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                nlogger.Fatal(General.ErrorMessage(ex));
                MessageBox.Show(General.ErrorMessage(ex), "Error ...", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }