private void InsertExchangeRateFactor()
        {
            //Validate
            Page.Validate("valInsertExchangeRates");
            if (!Page.IsValid)
            {
                mpeSaveUndo.Hide();
                msgView.SetMessage("Exchange rate factor details not saved – invalid or missing data!", MessageType.Warning, PositionType.Auto);
                return;
            }

            string userCode = WebUtility.HtmlDecode(System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString());
            int    month    = Convert.ToInt32(txtTransactionReceiptDate.Text.Split('/')[0].ToString());
            int    year     = Convert.ToInt32(txtTransactionReceiptDate.Text.Split('/')[1].ToString());

            exchangeRateFactorsBL = new ExchangeRateFactorsBL();
            DataSet updatedData = exchangeRateFactorsBL.InsertExchangeRateFactor(ddlCompany.SelectedValue, month, year, Convert.ToDouble(txtExchangeRateFactor.Text), userCode, out errorId);

            exchangeRateFactorsBL = null;

            if (errorId == 3)
            {
                msgView.SetMessage("Invalid month. Failed to save exchange rate factor details.", MessageType.Warning, PositionType.Auto);
            }
            else if (errorId == 1)
            {
                msgView.SetMessage("Exchange rate factor exists for this month and company.", MessageType.Success, PositionType.Auto);
            }
            else if (updatedData.Tables.Count != 0 && errorId != 2)
            {
                Session["ExchangeRateFactorData"] = updatedData.Tables[0];
                gvExchangeRateDetails.PageIndex   = 0;

                //WUIN-746 clearing sort hidden files
                hdnSortExpression.Value = string.Empty;
                hdnSortDirection.Value  = string.Empty;

                BindGrid(updatedData.Tables[0]);

                hdnInsertDataNotSaved.Value     = "N";
                txtTransactionReceiptDate.Text  = string.Empty;
                txtExchangeRateFactor.Text      = string.Empty;
                gvExchangeRateDetails.PageIndex = 0;
                msgView.SetMessage("Exchange rate factor created successfully.", MessageType.Success, PositionType.Auto);
            }
            else
            {
                msgView.SetMessage("Failed to save exchange rate factor details.", MessageType.Warning, PositionType.Auto);
            }
        }