protected void btnallocate_Click(object sender, EventArgs e)
    {
        try
        {
            if (grvRequest.SelectedIndex < 0)
            {
                lblmsg.Text = "Please select request to allocate."; return;
            }
            if (ddlallocateto.SelectedIndex == 0)
            {
                lblmsg.Text = "Please select Allocate To."; ddlallocateto.Focus(); return;
            }

            string strUpdateReq = "Update RequestMaster set AlloToEmpCode='" + ddlallocateto.SelectedItem.Value + "',AlloDate=getdate(),AlloByEmpCode='" + Session["EmpCode"].ToString() + "',ReqStatus='Progress' where reqID=" + lblReqID.Text;
            strUpdateReq = objdb.ExecuteInsertUpdate(strUpdateReq);
            if (strUpdateReq != "" && strUpdateReq != null && strUpdateReq != "0")
            {
                lblmsg.Text = "Request allocated."; tblAllocateto.Visible = false;

                //send email
                if (ConfigurationManager.AppSettings["sendemail"] == "Y")
                {
                    //get request details
                    DataSet ds = new DataSet();
                    ds = new DataSet();
                    ds = objdb.GetDataset("select * from RequestMaster where  reqID=" + lblReqID.Text, "RequestMaster");
                    DataRow rrm;
                    rrm = ds.Tables["RequestMaster"].Rows[0];


                    //get req by employee details
                    ds = new DataSet();
                    ds = objdb.GetDataset("select * from empmaster where empcode='" + rrm["reqbyempcode"].ToString() + "'", "empmaster");
                    DataRow remp;
                    remp = ds.Tables["empmaster"].Rows[0];

                    //get allocate emp details
                    ds = new DataSet();
                    ds = objdb.GetDataset("select * from empmaster where empcode='" + rrm["AlloToEmpCode"].ToString() + "'", "empmaster");
                    DataRow raemp;
                    raemp = ds.Tables["empmaster"].Rows[0];


                    //get request tat
                    ds = new DataSet();
                    ds = objdb.GetDataset("select * from ReqTypeMaster where ReqIypeId=" + rrm["ReqTypeMasterID"].ToString() + "", "ReqTypeMaster");
                    DataRow r;
                    r = ds.Tables["ReqTypeMaster"].Rows[0];

                    int tat;
                    tat = int.Parse(r["ReqTat"].ToString());

                    string dt = DateTime.Now.AddDays(tat).ToString("dd-MMM-yy hh:mm");

                    //send email

                    string strbody = "Dear " + remp["empname"].ToString() + ",<br><br> Your request no " + lblReqID.Text + " is allocated to " + raemp["empname"].ToString() + ". Your request will be completed on or before " + dt.ToString() + "<br><hr>" +
                                     "<b>Request Id : </b>" + lblReqID.Text + "<br>" +
                                     "<b>Request Date : </b>" + DateTime.Parse(rrm["ReqDate"].ToString()).ToString("dd-MMM-yy hh:mm") + "<br>" +
                                     "<b>Request Type : </b>" + r["reqtype"].ToString() + "<br>" +
                                     "<b>Request :</b> " + rrm["request"].ToString() + "<hr>" +

                                     "<br><br>Regards<br>RMS Team.";
                    string tomail;
                    tomail = remp["email"].ToString() + "," + raemp["email"].ToString();
                    String Ans = ClassEmail.SendMail(tomail, tomail, "RMS - Request No " + lblReqID.Text + " Allocated", strbody);
                    if (Ans == "OK")
                    {
                    }
                }



                ShowRequestGrid();
            }
            else
            {
                lblmsg.Text = "Error :" + objdb.returnMsg;
            }
        }
        catch (Exception ex) { lblmsg.Text = "Error : " + ex.Message.ToString(); }
    }