protected void grdFirmEvaluation_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            FirmEvalObj = new FirmEvaluation();
            int rowindex = int.Parse(grdFirmEvaluation.DataKeys[e.RowIndex].Value.ToString());

            FirmEvalObj.DeleteFirmEvaluation(rowindex);
            //Response.Redirect("FirmEvaluationList.aspx");
            UrlParameterPasser urlWrapper = new UrlParameterPasser("FirmEvaluationList.aspx");

            urlWrapper.PassParameters();
        }
        protected void grdFirmEvaluation_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                FirmEvalObj = new FirmEvaluation();
                clsEntFirmEvaluation ObjEntFirmEvInd = new clsEntFirmEvaluation();
                // Function used to  for downloading the files from database
                for (int i = 0; i < grdFirmEvaluation.Rows.Count; i++)
                {
                    //obtain selected index from GridView for the selected File
                    if (grdFirmEvaluation.SelectedIndex == i)
                    {
                        string firmEvalID = grdFirmEvaluation.DataKeys[i].Value.ToString();
                        ObjEntFirmEvInd = FirmEvalObj.readerFirmEvaluation(firmEvalID);

                        if (ObjEntFirmEvInd != null)
                        {
                            Byte[] programFile = ObjEntFirmEvInd.ProgramFile;

                            if (ObjEntFirmEvInd.FirmEvalID.ToString() != null)
                            {
                                string contentType = ObjEntFirmEvInd.Contenttype;
                                string fileName    = ObjEntFirmEvInd.FileName;
                                Response.ContentType = contentType;
                                //The AddHeader method adds a new HTML header and value to the response sent to the client
                                Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
                                //The Charset property appends the name of the character set (for example, ISO-8859-13) to the content-type header in the Response object
                                //Here Blank is attached
                                Response.Charset = "";
                                //Provides enumerated values that are used to set the Cache-Control HTTP header.
                                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                            }

                            //Provides enumerated values that are used to set the Cache-Control HTTP header.
                            Response.BinaryWrite(programFile);
                            //The End method causes the Web server to stop
                            //  processing the script and return the current result.
                            Response.End();
                        }
                        else
                        {
                            lblMessage.Text = "File DoesNot Exists";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }