private void BtnSendMail_Click(object sender, EventArgs e)
        {
            try
            {
                DataTable dt = uIUtility.GetCheckedValuesForMail();
                if (dt.Rows.Count > 0)
                {
                    var confirmResult = MetroMessageBox.Show(this, "\n" + JimugoMessages.I000ZZ019, "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                    if (confirmResult == DialogResult.OK)
                    {
                        //Show mail progress message
                        Thread mailthread = new Thread(new ThreadStart(ShowMailLoading));
                        mailthread.Start();
                        //call mail send method from web service
                        frmClientCertificateListController clientCertificateList = new frmClientCertificateListController();
                        DataTable result = clientCertificateList.SendMail(dt);

                        //update data grid view
                        uIUtility.UpdateReturnedresults(result);

                        //close mail dialog
                        mailthread.Abort();
                    }
                }
            }
            catch (Exception ex)
            {
                Utility.WriteErrorLog(ex.Message, ex, false);
            }
        }
        private void BindGrid()
        {
            try
            {
                if (CheckUtility.SearchConditionCheck(this, lblFY.Text, txtFY.Text, false, Utility.DataType.HALF_NUMBER, 4, 0) &&
                    CheckUtility.SearchConditionCheck(this, lblCompanyNoBox.Text, txtCompanyNoBox.Text, false, Utility.DataType.HALF_ALPHA_NUMERIC, 10, 0) &&
                    CheckUtility.SearchConditionCheck(this, lblClientCertificateNo.Text, txtClientCertificateNo.Text, false, Utility.DataType.HALF_ALPHA_NUMERIC, 7, 0)
                    )
                {
                    frmClientCertificateListController oController = new frmClientCertificateListController();

                    DataTable dt = oController.GetClientCertificateList(fy, company_no_box, client_certificate_no, distributionStatus, uIUtility.MetaData.Offset, uIUtility.MetaData.Limit, out uIUtility.MetaData);
                    if (dt.Rows.Count > 0)
                    {
                        uIUtility.dtList   = dt;
                        dgvList.DataSource = uIUtility.dtList;
                        uIUtility.dtOrigin = uIUtility.dtList.Copy();

                        //pagination
                        uIUtility.CalculatePagination(lblcurrentPage, lblTotalPages, lblTotalRecords);
                    }
                    else
                    {
                        //clear data except headers
                        uIUtility.ClearDataGrid();
                        uIUtility.CalculatePagination(lblcurrentPage, lblTotalPages, lblTotalRecords);
                    }

                    uIUtility.CheckPagination(btnFirst, btnPrev, btnNext, btnLast, lblcurrentPage.Text, lblTotalPages.Text);
                    uIUtility.FormatUpdatedat();
                }
            }
            catch (System.TimeoutException)
            {
                MetroMessageBox.Show(this, "\n" + Messages.General.ServerTimeOut, "Search Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Net.WebException)
            {
                MetroMessageBox.Show(this, "\n" + Messages.General.NoConnection, "Search Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                Utility.WriteErrorLog(ex.Message, ex, false);
                MetroMessageBox.Show(this, "\n" + Messages.General.ThereWasAnError, "Search Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void BtnSubmit_Click(object sender, EventArgs e)
        {
            //get column values where MK not null or empty
            DataTable dt = uIUtility.SubmitChanges();

            try
            {
                //send to web service
                frmClientCertificateListController oController = new frmClientCertificateListController();

                if (dt.Rows.Count > 0)
                {
                    DataTable result = oController.Submit(dt, out uIUtility.MetaData);

                    //update data grid view
                    uIUtility.UpdateReturnedresults(result);
                }
            }
            catch (Exception ex)
            {
                Utility.WriteErrorLog(ex.Message, ex, false);
            }
        }