public DataTable GetCustomerInvoiceDistributionListById(CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI)
    {
        DataTable dtb = new DataTable();

        dtb = customerInvoiceDistributionFormDAL.GetCustomerInvoiceDistributionListById(customerInvoiceDistributionFormUI);
        return(dtb);
    }
    public int DeleteCustomerInvoiceDistribution(CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI)
    {
        int resutl = 0;

        resutl = customerInvoiceDistributionFormDAL.DeleteCustomerInvoiceDistribution(customerInvoiceDistributionFormUI);
        return(resutl);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI = new CustomerInvoiceDistributionFormUI();

        if (!Page.IsPostBack)
        {
            if (Request.QueryString["CustomerInvoiceDistributionId"] != null)
            {
                customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId = Request.QueryString["CustomerInvoiceDistributionId"];

                BindGLAccountTypeDropDownList();


                FillForm(customerInvoiceDistributionFormUI);


                btnSave.Visible   = false;
                btnClear.Visible  = false;
                btnUpdate.Visible = true;
                btnDelete.Visible = true;
                lblHeading.Text   = "Update Customer Invoice Distribution";
            }
            else
            {
                BindGLAccountTypeDropDownList();

                btnSave.Visible   = true;
                btnClear.Visible  = true;
                btnUpdate.Visible = false;
                btnDelete.Visible = false;
                lblHeading.Text   = "Add New Customer Invoice Distribution";
            }
        }
    }
    public DataTable GetCustomerInvoiceDistributionListById(CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI)
    {
        DataSet   ds   = new DataSet();
        DataTable dtbl = new DataTable();

        try
        {
            using (SqlConnection SupportCon = new SqlConnection(connectionString))
            {
                SqlCommand sqlCmd = new SqlCommand("SP_CustomerInvoiceDistribution_SelectById", SupportCon);
                sqlCmd.CommandType    = CommandType.StoredProcedure;
                sqlCmd.CommandTimeout = commandTimeout;

                sqlCmd.Parameters.Add("@tbl_CustomerInvoiceDistributionId", SqlDbType.NVarChar);
                sqlCmd.Parameters["@tbl_CustomerInvoiceDistributionId"].Value = customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId;

                using (SqlDataAdapter adapter = new SqlDataAdapter(sqlCmd))
                {
                    adapter.Fill(ds);
                }
            }
            if (ds.Tables.Count > 0)
            {
                dtbl = ds.Tables[0];
            }
        }
        catch (Exception exp)
        {
            logExcpUIobj.MethodName       = "getCustomerInvoiceDistributionListById()";
            logExcpUIobj.ResourceName     = "CustomerInvoiceDistributionFormDAL.CS";
            logExcpUIobj.RecordId         = customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId;
            logExcpUIobj.ExceptionDetails = "Error Occured. System Generated Error is: " + exp.ToString();
            logExcpDALobj.SaveExceptionToDB(logExcpUIobj);

            log.Error("[CustomerInvoiceDistributionFormDAL : getCustomerInvoiceDistributionListById] An error occured in the processing of Record Id : " + customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId + ". Details : [" + exp.ToString() + "]");
        }
        finally
        {
            ds.Dispose();
        }

        return(dtbl);
    }
    private void FillForm(CustomerInvoiceDistributionFormUI CustomerInvoiceDistributionFormUI)
    {
        try
        {
            DataTable dtb = customerInvoiceDistributionFormBAL.GetCustomerInvoiceDistributionListById(CustomerInvoiceDistributionFormUI);

            if (dtb.Rows.Count > 0)
            {
                txtCustomerInvoiceIdGuid.Text      = dtb.Rows[0]["tbl_CustomerInvoiceId"].ToString();
                txtCustomerInvoiceId.Text          = dtb.Rows[0]["tbl_CustomerInvoice"].ToString();
                txtGLAccountGuid.Text              = dtb.Rows[0]["tbl_GLAccountId"].ToString();
                txtGLAccount.Text                  = dtb.Rows[0]["tbl_GLAccount"].ToString();
                ddlOpt_GLAccountType.SelectedValue = dtb.Rows[0]["GLAccountType"].ToString();
                txtDescription.Text                = dtb.Rows[0]["Description"].ToString();
                txtDistributionReference.Text      = dtb.Rows[0]["DistributionReference"].ToString();
                txtDebit.Text             = dtb.Rows[0]["Debit"].ToString();
                txtCredit.Text            = dtb.Rows[0]["Credit"].ToString();
                txtOriginatingDebit.Text  = dtb.Rows[0]["OriginatingDebit"].ToString();
                txtOriginatingCredit.Text = dtb.Rows[0]["OriginatingCredit"].ToString();
            }
            else
            {
                lblError.Text      = Resources.GlobalResource.msgCouldNotLoadData;
                divError.Visible   = true;
                divSuccess.Visible = false;
            }
        }
        catch (Exception exp)
        {
            logExcpUIobj.MethodName       = "FillForm()";
            logExcpUIobj.ResourceName     = "Finance_Accounts_Receivable_Customer__Invoice__With_Sales_Order_CustomerInvoiceDistribution.CS";
            logExcpUIobj.RecordId         = CustomerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId;
            logExcpUIobj.ExceptionDetails = "Error Occured. System Generated Error is: " + exp.ToString();
            logExcpDALobj.SaveExceptionToDB(logExcpUIobj);

            log.Error("[Finance_Accounts_Receivable_Customer__Invoice__With_Sales_Order_CustomerInvoiceDistribution : FillForm] An error occured in the processing of Record Details : [" + exp.ToString() + "]");
        }
    }
    public int DeleteCustomerInvoiceDistribution(CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI)
    {
        int result = 0;

        try
        {
            using (SqlConnection SupportCon = new SqlConnection(connectionString))
            {
                SupportCon.Open();
                SqlCommand sqlCmd = new SqlCommand("SP_CustomerInvoiceDistribution_Delete", SupportCon);

                sqlCmd.CommandType    = CommandType.StoredProcedure;
                sqlCmd.CommandTimeout = commandTimeout;

                sqlCmd.Parameters.Add("@tbl_CustomerInvoiceDistributionId", SqlDbType.NVarChar);
                sqlCmd.Parameters["@tbl_CustomerInvoiceDistributionId"].Value = customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId;

                result = sqlCmd.ExecuteNonQuery();

                sqlCmd.Dispose();
                SupportCon.Close();
            }
        }
        catch (Exception exp)
        {
            logExcpUIobj.MethodName       = "DeleteCustomerInvoiceDistribution()";
            logExcpUIobj.ResourceName     = "CustomerInvoiceDistributionFormDAL.CS";
            logExcpUIobj.RecordId         = customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId;
            logExcpUIobj.ExceptionDetails = "Error Occured. System Generated Error is: " + exp.ToString();
            logExcpDALobj.SaveExceptionToDB(logExcpUIobj);

            log.Error("[CustomerInvoiceDistributionFormDAL : DeleteCustomerInvoiceDistribution] An error occured in the processing of Record Id : " + customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceDistributionId + ". Details : [" + exp.ToString() + "]");
        }

        return(result);
    }
    public int AddCustomerInvoiceDistribution(CustomerInvoiceDistributionFormUI customerInvoiceDistributionFormUI)
    {
        int result = 0;

        try
        {
            using (SqlConnection SupportCon = new SqlConnection(connectionString))
            {
                SupportCon.Open();
                SqlCommand sqlCmd = new SqlCommand("SP_CustomerInvoiceDistribution_Insert", SupportCon);
                sqlCmd.CommandType    = CommandType.StoredProcedure;
                sqlCmd.CommandTimeout = commandTimeout;

                sqlCmd.Parameters.Add("@CreatedBy", SqlDbType.NVarChar);
                sqlCmd.Parameters["@CreatedBy"].Value = customerInvoiceDistributionFormUI.CreatedBy;

                sqlCmd.Parameters.Add("@tbl_OrganizationId", SqlDbType.NVarChar);
                sqlCmd.Parameters["@tbl_OrganizationId"].Value = customerInvoiceDistributionFormUI.Tbl_OrganizationId;

                sqlCmd.Parameters.Add("@tbl_CustomerInvoiceId", SqlDbType.NVarChar);
                sqlCmd.Parameters["@tbl_CustomerInvoiceId"].Value = customerInvoiceDistributionFormUI.Tbl_CustomerInvoiceId;

                sqlCmd.Parameters.Add("@tbl_GLAccountId", SqlDbType.NVarChar);
                sqlCmd.Parameters["@tbl_GLAccountId"].Value = customerInvoiceDistributionFormUI.Tbl_GLAccountId;

                sqlCmd.Parameters.Add("@opt_GLAccountType", SqlDbType.TinyInt);
                sqlCmd.Parameters["@opt_GLAccountType"].Value = customerInvoiceDistributionFormUI.Opt_GLAccountType;

                sqlCmd.Parameters.Add("@Description", SqlDbType.NVarChar);
                sqlCmd.Parameters["@Description"].Value = customerInvoiceDistributionFormUI.Description;

                sqlCmd.Parameters.Add("@DistributionReference", SqlDbType.NVarChar);
                sqlCmd.Parameters["@DistributionReference"].Value = customerInvoiceDistributionFormUI.DistributionReference;

                sqlCmd.Parameters.Add("@Debit", SqlDbType.Decimal);
                sqlCmd.Parameters["@Debit"].Value = customerInvoiceDistributionFormUI.Debit;

                sqlCmd.Parameters.Add("@Credit", SqlDbType.Decimal);
                sqlCmd.Parameters["@Credit"].Value = customerInvoiceDistributionFormUI.Credit;

                sqlCmd.Parameters.Add("@OriginatingDebit", SqlDbType.Decimal);
                sqlCmd.Parameters["@OriginatingDebit"].Value = customerInvoiceDistributionFormUI.OriginatingDebit;

                sqlCmd.Parameters.Add("@OriginatingCredit", SqlDbType.Decimal);
                sqlCmd.Parameters["@OriginatingCredit"].Value = customerInvoiceDistributionFormUI.OriginatingCredit;


                result = sqlCmd.ExecuteNonQuery();

                sqlCmd.Dispose();
                SupportCon.Close();
            }
        }
        catch (Exception exp)
        {
            logExcpUIobj.MethodName       = "AddCustomerInvoiceDistribution()";
            logExcpUIobj.ResourceName     = "CustomerInvoiceDistributionFormDAL.CS";
            logExcpUIobj.RecordId         = "";
            logExcpUIobj.ExceptionDetails = "Error Occured. System Generated Error is: " + exp.ToString();
            logExcpDALobj.SaveExceptionToDB(logExcpUIobj);

            log.Error("[CustomerInvoiceDistributionFormDAL : AddCustomerInvoiceDistribution] An error occured in the processing of Record. Details : [" + exp.ToString() + "]");
        }

        return(result);
    }