protected void btnReset_Click(object sender, EventArgs e)
        {
            try
            {
                hdnSortExpression.Value = string.Empty;
                hdnSortDirection.Value  = string.Empty;

                artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
                DataSet initialData = artistResponsibilityMaintenanceBL.GetInitialData(out errorId);
                artistResponsibilityMaintenanceBL = null;

                if (initialData.Tables.Count != 0 && errorId != 2)
                {
                    Session["ArtistResData"] = initialData.Tables[0];
                    Session["ArtistResList"] = initialData.Tables[1];

                    gvArtistDetails.PageIndex = 0;
                    hdnPageNumber.Value       = "1";
                    BindGrid(initialData.Tables[0]);
                }
                else
                {
                    ExceptionHandler("Error in fetching data", string.Empty);
                }

                txtArtist.Text                  = string.Empty;
                ddlDealType.SelectedIndex       = 0;
                ddlResponsibility.SelectedIndex = 0;
                hdnChangeNotSaved.Value         = "N";
                hdnGridRowSelectedPrvious.Value = null;
                hdnSearchText.Value             = null;

                txtArtistNameInsert.Text           = "";
                ddlDealTypeInsert.SelectedIndex    = -1;
                ddlTeamRespInsert.SelectedIndex    = -1;
                ddlManagerRespInsert.SelectedIndex = -1;
                hdnInsertDataNotSaved.Value        = "N";
            }
            catch (Exception ex)
            {
                ExceptionHandler("Error in reseting page..", ex.Message);
            }
        }
        private void LoadArtistData()
        {
            hdnSearchText.Value = txtArtist.Text.Replace("'", "").Trim();//JIRA-1048 --Changes to handle single quote

            artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
            DataSet searchedData = artistResponsibilityMaintenanceBL.GetSearchedArtistData(txtArtist.Text.Replace("'", "").Trim(), ddlDealType.SelectedValue, ddlResponsibility.SelectedValue, out errorId);//JIRA-1048 --Changes to handle single quote

            artistResponsibilityMaintenanceBL = null;
            hdnPageNumber.Value = "1";

            if (searchedData.Tables.Count != 0 && errorId != 2)
            {
                Session["ArtistResData"] = searchedData.Tables[0];

                gvArtistDetails.PageIndex = 0;
                BindGrid(searchedData.Tables[0]);
            }
            else
            {
                ExceptionHandler("Error in fetching data", string.Empty);
            }
        }
        protected void imgBtnArtistInsert_Click(object sender, EventArgs e)
        {
            Page.Validate("valInsertArtist");
            if (!Page.IsValid)
            {
                msgView.SetMessage("Invalid data entered.Please correct.", MessageType.Warning, PositionType.Auto);
                return;
            }

            artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
            DataSet updatedData = artistResponsibilityMaintenanceBL.InsertArtistData(txtArtistNameInsert.Text.Trim().ToUpper(), ddlDealTypeInsert.SelectedValue, ddlTeamRespInsert.SelectedValue, ddlManagerRespInsert.SelectedValue, Convert.ToString(Session["UserCode"]), hdnSearchText.Value, ddlDealType.SelectedValue, ddlResponsibility.SelectedValue, out errorId);

            artistResponsibilityMaintenanceBL = null;

            if (updatedData.Tables.Count != 0 && errorId == 0)
            {
                Session["ArtistResData"]           = updatedData.Tables[0];
                txtArtistNameInsert.Text           = string.Empty;
                ddlDealTypeInsert.SelectedIndex    = -1;
                ddlTeamRespInsert.SelectedIndex    = -1;
                ddlManagerRespInsert.SelectedIndex = -1;

                gvArtistDetails.PageIndex = 0;
                BindGrid(updatedData.Tables[0]);

                hdnInsertDataNotSaved.Value = "N";
                msgView.SetMessage("Artist details saved successfully.", MessageType.Success, PositionType.Auto);
            }
            else if (errorId == 1)
            {
                msgView.SetMessage("Artist with same name and deal type already exist.", MessageType.Success, PositionType.Auto);
            }
            else
            {
                msgView.SetMessage("Failed to save artist details.", MessageType.Warning, PositionType.Auto);
            }
        }
        private void LoadData()
        {
            artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
            DataSet initialData = artistResponsibilityMaintenanceBL.GetInitialData(out errorId);

            artistResponsibilityMaintenanceBL = null;

            ddlDealType.DataTextField  = "deal_type_desc";
            ddlDealType.DataValueField = "deal_type_id";
            ddlDealType.DataSource     = initialData.Tables[2];
            ddlDealType.DataBind();
            ddlDealType.Items.Insert(0, new ListItem("-", null));

            ddlResponsibility.DataTextField  = "responsibility_desc";
            ddlResponsibility.DataValueField = "responsibility_code";
            ddlResponsibility.DataSource     = initialData.Tables[1];
            ddlResponsibility.DataBind();
            ddlResponsibility.Items.Insert(0, new ListItem("-", null));

            ddlDealTypeInsert.DataTextField  = "deal_type_desc";
            ddlDealTypeInsert.DataValueField = "deal_type_id";
            ddlDealTypeInsert.DataSource     = initialData.Tables[2];
            ddlDealTypeInsert.DataBind();
            ddlDealTypeInsert.Items.Insert(0, new ListItem("-", null));

            ddlTeamRespInsert.DataTextField  = "responsibility_desc";
            ddlTeamRespInsert.DataValueField = "responsibility_code";
            ddlTeamRespInsert.DataSource     = initialData.Tables[1];
            ddlTeamRespInsert.DataBind();
            ddlTeamRespInsert.Items.Insert(0, new ListItem("-", null));

            ddlManagerRespInsert.DataTextField  = "responsibility_desc";
            ddlManagerRespInsert.DataValueField = "responsibility_code";
            ddlManagerRespInsert.DataSource     = initialData.Tables[1];
            ddlManagerRespInsert.DataBind();
            ddlManagerRespInsert.Items.Insert(0, new ListItem("-", null));

            if (initialData.Tables.Count != 0 && errorId != 2)
            {
                Session["ArtistResData"] = initialData.Tables[0];
                Session["ArtistResList"] = initialData.Tables[1];
                hdnPageNumber.Value      = "1";

                //load grid as per the search criteria held. This to be done only when navigating from Audit screen
                if (Request.QueryString["fromAudit"] == "Y")
                {
                    if (Session["ArtistMaintFilters"] != null)
                    {
                        DataTable dtSearchedFilters = Session["ArtistMaintFilters"] as DataTable;
                        foreach (DataRow dRow in dtSearchedFilters.Rows)
                        {
                            if (dRow["filter_name"].ToString() == "txtArtist")
                            {
                                txtArtist.Text = dRow["filter_value"].ToString();
                            }
                            else if (dRow["filter_name"].ToString() == "ddlDealType")
                            {
                                ddlDealType.SelectedValue = dRow["filter_value"].ToString();
                            }
                            else if (dRow["filter_name"].ToString() == "ddlResponsibility")
                            {
                                ddlResponsibility.SelectedValue = dRow["filter_value"].ToString();
                            }
                        }

                        LoadArtistData();
                    }
                }
                else
                {
                    BindGrid(initialData.Tables[0]);
                }
            }
            else
            {
                ExceptionHandler("Error in fetching data", string.Empty);
            }
        }
        //JIRA-746 CHanges by Ravi on 05/03/2019 -- End

        protected void gvArtistDetails_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "saverow")
                {
                    if (!string.IsNullOrEmpty(hdnGridRowSelectedPrvious.Value))
                    {
                        int rowIndex = Convert.ToInt32(hdnGridRowSelectedPrvious.Value);

                        Page.Validate("GroupUpdate_" + rowIndex + "");
                        if (!Page.IsValid)
                        {
                            msgView.SetMessage("Invalid data entered.Please correct.", MessageType.Warning, PositionType.Auto);
                            return;
                        }

                        string artistId              = ((HiddenField)gvArtistDetails.Rows[rowIndex].FindControl("hdnArtistId")).Value;
                        string teamResponsibility    = ((DropDownList)gvArtistDetails.Rows[rowIndex].FindControl("ddlTeamResponsibility")).SelectedValue;
                        string managerResponsibility = ((DropDownList)gvArtistDetails.Rows[rowIndex].FindControl("ddlManagerResponsibility")).SelectedValue;

                        if (teamResponsibility == "-")
                        {
                            teamResponsibility = string.Empty;
                        }

                        if (managerResponsibility == "-")
                        {
                            managerResponsibility = string.Empty;
                        }

                        artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
                        DataSet updatedData = artistResponsibilityMaintenanceBL.UpdateArtistData(artistId, teamResponsibility, managerResponsibility, Convert.ToString(Session["UserCode"]), hdnSearchText.Value, out errorId);
                        artistResponsibilityMaintenanceBL = null;

                        if (updatedData.Tables.Count != 0 && errorId != 2)
                        {
                            Session["ArtistResData"] = updatedData.Tables[0];

                            hdnChangeNotSaved.Value         = "N";
                            hdnGridRowSelectedPrvious.Value = null;
                            msgView.SetMessage("Artist details saved successfully.", MessageType.Success, PositionType.Auto);
                        }
                        else
                        {
                            msgView.SetMessage("Failed to save artist details.", MessageType.Warning, PositionType.Auto);
                        }
                    }
                }
                else if (e.CommandName == "cancelrow")
                {
                    if (Session["ArtistResData"] == null)
                    {
                        return;
                    }

                    DataTable dtArtistResData = Session["ArtistResData"] as DataTable;
                    BindGrid(dtArtistResData);

                    hdnChangeNotSaved.Value         = "N";
                    hdnGridRowSelectedPrvious.Value = null;
                }
            }
            catch (Exception ex)
            {
                ExceptionHandler("Error in saving artist data.", ex.Message);
            }
        }
        protected void btnSaveChanges_Click(object sender, EventArgs e)
        {
            try
            {
                if (hdnChangeNotSaved.Value == "Y")
                {
                    int rowIndex = Convert.ToInt32(hdnGridRowSelectedPrvious.Value);

                    //Calculate the rowindex for validation
                    int rowIndexValidation = (gvArtistDetails.PageIndex * gvArtistDetails.PageSize) + rowIndex;

                    //Validate
                    Page.Validate("GroupUpdate_" + rowIndexValidation + "");
                    if (!Page.IsValid)
                    {
                        mpeSaveUndo.Hide();
                        msgView.SetMessage("Invalid data entered.Please correct.", MessageType.Warning, PositionType.Auto);
                        return;
                    }

                    string artistId              = ((HiddenField)gvArtistDetails.Rows[rowIndex].FindControl("hdnArtistId")).Value;
                    string teamResponsibility    = ((DropDownList)gvArtistDetails.Rows[rowIndex].FindControl("ddlTeamResponsibility")).SelectedValue;
                    string managerResponsibility = ((DropDownList)gvArtistDetails.Rows[rowIndex].FindControl("ddlManagerResponsibility")).SelectedValue;

                    if (teamResponsibility == "-")
                    {
                        teamResponsibility = string.Empty;
                    }

                    if (managerResponsibility == "-")
                    {
                        managerResponsibility = string.Empty;
                    }

                    artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
                    DataSet updatedData = artistResponsibilityMaintenanceBL.UpdateArtistData(artistId, teamResponsibility, managerResponsibility, Convert.ToString(Session["UserCode"]), hdnSearchText.Value, out errorId);
                    artistResponsibilityMaintenanceBL = null;

                    if (updatedData.Tables.Count != 0 && errorId != 2)
                    {
                        Session["ArtistResData"] = updatedData.Tables[0];

                        hdnChangeNotSaved.Value         = "N";
                        hdnGridRowSelectedPrvious.Value = null;
                        msgView.SetMessage("Artist details saved successfully.", MessageType.Success, PositionType.Auto);
                    }
                    else
                    {
                        msgView.SetMessage("Failed to save artist details.", MessageType.Warning, PositionType.Auto);
                    }
                }
                else if (hdnInsertDataNotSaved.Value == "Y")
                {
                    Page.Validate("valInsertArtist");
                    if (!Page.IsValid)
                    {
                        msgView.SetMessage("Invalid data entered.Please correct.", MessageType.Warning, PositionType.Auto);
                        return;
                    }

                    artistResponsibilityMaintenanceBL = new ArtistResponsibilityMaintenanceBL();
                    DataSet updatedData = artistResponsibilityMaintenanceBL.InsertArtistData(txtArtistNameInsert.Text.Trim().ToUpper(), ddlDealTypeInsert.SelectedValue, ddlTeamRespInsert.SelectedValue, ddlManagerRespInsert.SelectedValue, Convert.ToString(Session["UserCode"]), hdnSearchText.Value, ddlDealType.SelectedValue, ddlResponsibility.SelectedValue, out errorId);
                    artistResponsibilityMaintenanceBL = null;

                    if (updatedData.Tables.Count != 0 && errorId == 0)
                    {
                        Session["ArtistResData"]           = updatedData.Tables[0];
                        txtArtistNameInsert.Text           = string.Empty;
                        ddlDealTypeInsert.SelectedIndex    = -1;
                        ddlTeamRespInsert.SelectedIndex    = -1;
                        ddlManagerRespInsert.SelectedIndex = -1;

                        gvArtistDetails.PageIndex = 0;
                        BindGrid(updatedData.Tables[0]);
                        hdnInsertDataNotSaved.Value = "N";
                        msgView.SetMessage("Artist details saved successfully.", MessageType.Success, PositionType.Auto);
                    }
                    else if (errorId == 1)
                    {
                        msgView.SetMessage("Artist with same name and deal type already exist.", MessageType.Success, PositionType.Auto);
                    }
                    else
                    {
                        msgView.SetMessage("Failed to save artist details.", MessageType.Warning, PositionType.Auto);
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionHandler("Error in saving artist data.", ex.Message);
            }
        }