예제 #1
0
        private void MIeditHeader_Click(object sender, EventArgs e)
        {
            if (dgvHeaders.SelectedRows.Count > 0)
            {
                int      HeaderId       = Convert.ToInt32(dgvHeaders.SelectedRows[0].Cells["HeaderId"].Value.ToString());
                FIHeader selectedHeader = Audit_Headers.Where(i => i.Id == HeaderId).First();

                //Audit selectedAudit = auditList.Where(i => i.Id == selAuditId).First();

                FIHeaderEdit frmHeaderEdit = new FIHeaderEdit(glAudit, selectedHeader);
                frmHeaderEdit.ShowDialog();

                if (frmHeaderEdit.success)
                {
                    Audit_Headers = SelectHeaders(glAudit.Id);

                    if (AdminAccess == false)
                    {
                        Audit_Headers = Audit_Headers.Where(i => i.IsDeleted == false).ToList();
                    }

                    FillHeadersDataGridView(dgvHeaders, Audit_Headers);
                }
            }
        }
예제 #2
0
        public FIDetailEdit(FIHeader fiHeader, FIDetail fIDetail) //update
        {
            InitializeComponent();
            Init();

            ArrangeHeaderFields(fiHeader);
            isInsert = false;

            currentHeader = fiHeader;

            txtDescription.Text = fIDetail.Description;
            txtActionReq.Text   = fIDetail.ActionReq;
            txtActionCode.Text  = fIDetail.ActionCode;
            dtpActionDate.Value = fIDetail.ActionDt;


            fIDetail.Owners = fIDetail.getOwners(fIDetail.Id, fIDetail.RevNo);

            foreach (Users thisOwner in fIDetail.Owners)
            {
                dgvOwners.Rows.Add(new object[] { thisOwner.Id, thisOwner.FullName, thisOwner.RoleName });
            }

            oldFIDetailRecord = fIDetail;
        }
예제 #3
0
        private void MIeditDetail_Click(object sender, EventArgs e)
        {
            if (dgvDetails.SelectedRows.Count > 0)
            {
                int      DetailId       = Convert.ToInt32(dgvDetails.SelectedRows[0].Cells["DetailId"].Value.ToString());
                FIDetail selectedDetail = Header_Details.Where(i => i.Id == DetailId).First();

                int      HeaderId       = Convert.ToInt32(dgvHeaders.SelectedRows[0].Cells["HeaderId"].Value.ToString());
                FIHeader selectedHeader = Audit_Headers.Where(i => i.Id == HeaderId).First();

                FIDetailEdit frmDetailEdit = new FIDetailEdit(selectedHeader, selectedDetail);
                frmDetailEdit.ShowDialog();

                if (frmDetailEdit.success)
                {
                    Header_Details = SelectDetails(selectedHeader.Id);

                    if (AdminAccess == false)
                    {
                        Header_Details = Header_Details.Where(i => i.IsDeleted == false).ToList();
                    }

                    FillDetailsDataGridView(dgvDetails, Header_Details);
                }
            }
        }
예제 #4
0
        public FIDetail_Revisions(Audit givenAudit, FIHeader givenHeader, int detailId)
        {
            InitializeComponent();

            glAudit  = givenAudit;
            glHeader = givenHeader;

            DetailRevList = SelectDetailsRev(detailId);
        }
예제 #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtHeaderTitle.Text.Trim() == "")
            {
                MessageBox.Show("Please insert a Title!");
                return;
            }

            if (cbCategory.Text.Trim() == "")
            {
                MessageBox.Show("Please choose a Category!");
                return;
            }

            newFIHeaderRecord = new FIHeader()
            {
                Id           = oldFIHeaderRecord.Id,
                Title        = txtHeaderTitle.Text,
                FICategory   = InsertNewAudit.getComboboxItem <FICategory>(cbCategory),
                FICategoryId = InsertNewAudit.getComboboxItem <FICategory>(cbCategory).Id,
                AuditId      = currentAudit.Id
            };

            if (isInsert) //insert
            {
                if (InsertIntoTable_FIHeader(newFIHeaderRecord))
                {
                    MessageBox.Show("New F/I Header inserted successfully!");
                    success = true;
                    Close();
                }
                else
                {
                    MessageBox.Show("The New F/I Header has not been inserted!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else //update
            {
                if (FIHeader.isEqual(oldFIHeaderRecord, newFIHeaderRecord) == false)
                {
                    if (UpdateTable_Headers(newFIHeaderRecord))
                    {
                        success = true;
                        MessageBox.Show("Header updated successfully!");
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("The F/I Header has not been updated!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    Close();
                }
            }
        }
예제 #6
0
        public FIDetailEdit(FIHeader fiHeader) //insert
        {
            InitializeComponent();
            Init();

            ArrangeHeaderFields(fiHeader);
            isInsert = true;

            currentHeader = fiHeader;
        }
예제 #7
0
        private void MIDetailRevisions_Click(object sender, EventArgs e)
        {
            if (dgvDetails.SelectedRows.Count > 0)
            {
                int      HeaderId       = Convert.ToInt32(dgvHeaders.SelectedRows[0].Cells["HeaderId"].Value.ToString());
                FIHeader selectedHeader = Audit_Headers.Where(i => i.Id == HeaderId).First();

                int      DetailId       = Convert.ToInt32(dgvDetails.SelectedRows[0].Cells["DetailId"].Value.ToString());
                FIDetail selectedDetail = Header_Details.Where(i => i.Id == DetailId).First();

                FIDetail_Revisions frmFIDetailRev = new FIDetail_Revisions(glAudit, selectedHeader, selectedDetail.Id);
                frmFIDetailRev.ShowDialog();
            }
        }
예제 #8
0
        public FIHeaderEdit(Audit audit, FIHeader fiHeader) //Update
        {
            InitializeComponent();

            ArrangeAuditFields(audit);

            Init();

            isInsert = false;

            currentAudit = audit;

            txtHeaderTitle.Text      = fiHeader.Title;
            cbCategory.SelectedIndex = cbCategory.FindStringExact(fiHeader.FICategory.Name);

            oldFIHeaderRecord = fiHeader;
        }
예제 #9
0
        public static void FillHeadersDataGridView(DataGridView dgv, FIHeader Header)
        {
            dgv.Rows.Clear();

            List <dgvDictionary> dgvDictList = new List <dgvDictionary>();

            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.Id, dgvColumnHeader = "HeaderId"
            });
            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.Title, dgvColumnHeader = "HeaderTitle"
            });
            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.FICategory.Name, dgvColumnHeader = "HeaderCategory"
            });
            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.UpdUser.FullName, dgvColumnHeader = "HeaderUpdUser"
            });
            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.UpdDt.ToString("dd.MM.yyyy HH:mm:ss"), dgvColumnHeader = "HeaderUpdDt"
            });
            dgvDictList.Add(new dgvDictionary()
            {
                dbfield = Header.IsDeleted, dgvColumnHeader = "HeaderIsDeleted"
            });


            object[] obj = new object[dgv.Columns.Count];

            for (int i = 0; i < dgv.Columns.Count; i++)
            {
                obj[i] = dgvDictList.Where(z => z.dgvColumnHeader == dgv.Columns[i].Name).First().dbfield;
            }

            dgv.Rows.Add(obj);

            dgv.ClearSelection();
        }
예제 #10
0
        private bool UpdateTable_Headers(FIHeader header)
        {
            bool ret = false;

            SqlConnection sqlConn = new SqlConnection(SqlDBInfo.connectionString);
            string        InsSt   = "UPDATE [dbo].[FIHeader] SET [Title] = encryptByPassPhrase(@passPhrase, convert(varchar(500), @Title)), [FICategoryId] = @FICategoryId, [UpdUserId] = @UpdUserId, " +
                                    "[UpdDt] = getDate() " +
                                    "WHERE id=@id";

            try
            {
                sqlConn.Open();

                SqlCommand cmd = new SqlCommand(InsSt, sqlConn);

                cmd.Parameters.AddWithValue("@passPhrase", SqlDBInfo.passPhrase);

                cmd.Parameters.AddWithValue("@id", header.Id);
                cmd.Parameters.AddWithValue("@FICategoryId", header.FICategoryId);
                cmd.Parameters.AddWithValue("@Title", header.Title);
                cmd.Parameters.AddWithValue("@UpdUserId", UserInfo.userDetails.Id);

                cmd.CommandType = CommandType.Text;
                int rowsAffected = cmd.ExecuteNonQuery();

                if (rowsAffected > 0)
                {
                    ret = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("The following error occurred: " + ex.Message);
            }
            sqlConn.Close();

            return(ret);
        }
예제 #11
0
        private bool InsertIntoTable_FIHeader(FIHeader fiHeader) //INSERT [dbo].[FIHeader]
        {
            bool ret = false;

            SqlConnection sqlConn = new SqlConnection(SqlDBInfo.connectionString);
            string        InsSt   = "INSERT INTO [dbo].[FIHeader] ([AuditId],[Title],[FICategoryId] ,[InsUserId], [InsDt],[UpdUserId], [UpdDt]) VALUES " +
                                    "(@AuditId,encryptByPassPhrase(@passPhrase, convert(varchar(500), @Title)), " +
                                    "@FICategoryId, @InsUserId, getDate(), @InsUserId, getDate() ) ";

            try
            {
                sqlConn.Open();
                SqlCommand cmd = new SqlCommand(InsSt, sqlConn);

                cmd.Parameters.AddWithValue("@passPhrase", SqlDBInfo.passPhrase);

                cmd.Parameters.AddWithValue("@AuditId", fiHeader.AuditId);
                cmd.Parameters.AddWithValue("@Title", fiHeader.Title);
                cmd.Parameters.AddWithValue("@FICategoryId", fiHeader.FICategoryId);
                cmd.Parameters.AddWithValue("@InsUserId", UserInfo.userDetails.Id);

                cmd.CommandType = CommandType.Text;
                int rowsAffected = cmd.ExecuteNonQuery();

                if (rowsAffected > 0)
                {
                    ret = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("The following error occurred: " + ex.Message);
            }
            sqlConn.Close();

            return(ret);
        }
예제 #12
0
 private void ArrangeHeaderFields(FIHeader selectedHeader)
 {
     txtHeaderTitle.Text = selectedHeader.Title;
     txtCategory.Text    = selectedHeader.FICategory.Name;
 }