protected bool Save(DetailsView sender)
        {
            try
            {
                var tab1 = ((DetailsView)sender).FindControl("TabContainer1").FindControl("TabPanel1");
                var tab2 = ((DetailsView)sender).FindControl("TabContainer1").FindControl("TabPanel2");

                var obj = new DAL.SurveyQuestion();
                int pk = int.Parse(lblPK.Text);
                obj.Fetch(pk);

                switch (obj.QType)
                {
                    case 1:
                        obj.QText = ((HtmlTextArea)((Panel)tab1.FindControl("pnlType1")).FindControl("QText")).InnerHtml;
                        break;
                    case 2:
                        var p2 = (Panel)tab1.FindControl("pnlType2");
                        obj.QText = ((HtmlTextArea)p2.FindControl("QText2")).InnerHtml;
                        obj.QName = ((TextBox)p2.FindControl("QName2")).Text;
                        obj.IsRequired = ((CheckBox)p2.FindControl("IsRequired2")).Checked;
                        obj.DisplayControl = ((DropDownList)p2.FindControl("DisplayControl2")).SelectedValue.SafeToInt();
                        obj.DisplayDirection = ((DropDownList)p2.FindControl("DisplayDirection2")).SelectedValue.SafeToInt();
                        break;
                    case 3:
                        var p3 = (Panel) tab1.FindControl("pnlType3");
                        obj.QText = ((HtmlTextArea)p3.FindControl("QText3")).InnerHtml;
                        obj.QName = ((TextBox)p3.FindControl("QName3")).Text; 
                        obj.IsRequired = ((CheckBox)p3.FindControl("IsRequired3")).Checked;
                        break;
                    case 4:
                        var p4 = (Panel) tab1.FindControl("pnlType4");
                        obj.QText = ((HtmlTextArea)p4.FindControl("QText4")).InnerHtml;
                        obj.QName = ((TextBox)p4.FindControl("QName4")).Text; 
                        obj.IsRequired = ((CheckBox)p4.FindControl("IsRequired4")).Checked;
                        obj.DisplayControl = ((DropDownList)p4.FindControl("DisplayControl4")).SelectedValue.SafeToInt();
                        break;
                }


                if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                {
                    obj.Update();

                    //switch (obj.QType)
                    //{
                    //    case 2:
                    //        SaveType2Answers(obj.QID, tab2);
                    //        break;
                    //    case 4:
                    //        SaveType4Answers(obj.QID, tab2);
                    //        SaveType4Lines(obj.QID, tab2);
                    //        break;
                    //}

                    return true;
                }
                else
                {
                    var masterPage = (IControlRoomMaster)Master;
                    string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                    foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                    {
                        message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                    }
                    message = string.Format("{0}</ul>", message);
                    if (masterPage != null) masterPage.PageError = message;
                    return false;
                }
            }
            catch (Exception ex)
            {
                var masterPage = (IControlRoomMaster)Master;
                if (masterPage != null)
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                return false;
            }
        }            
        protected bool Save(DetailsView sender)
        {
            try
            {
                var tab1 = ((DetailsView)sender).FindControl("TabContainer1").FindControl("TabPanel1");
                var tab2 = ((DetailsView)sender).FindControl("TabContainer1").FindControl("TabPanel2");

                var obj = new DAL.SurveyQuestion();
                int pk  = int.Parse(lblPK.Text);
                obj.Fetch(pk);

                switch (obj.QType)
                {
                case 1:
                    obj.QText = ((HtmlTextArea)((Panel)tab1.FindControl("pnlType1")).FindControl("QText")).InnerHtml;
                    break;

                case 2:
                    var p2 = (Panel)tab1.FindControl("pnlType2");
                    obj.QText            = ((HtmlTextArea)p2.FindControl("QText2")).InnerHtml;
                    obj.QName            = ((TextBox)p2.FindControl("QName2")).Text;
                    obj.IsRequired       = ((CheckBox)p2.FindControl("IsRequired2")).Checked;
                    obj.DisplayControl   = ((DropDownList)p2.FindControl("DisplayControl2")).SelectedValue.SafeToInt();
                    obj.DisplayDirection = ((DropDownList)p2.FindControl("DisplayDirection2")).SelectedValue.SafeToInt();
                    break;

                case 3:
                    var p3 = (Panel)tab1.FindControl("pnlType3");
                    obj.QText      = ((HtmlTextArea)p3.FindControl("QText3")).InnerHtml;
                    obj.QName      = ((TextBox)p3.FindControl("QName3")).Text;
                    obj.IsRequired = ((CheckBox)p3.FindControl("IsRequired3")).Checked;
                    break;

                case 4:
                    var p4 = (Panel)tab1.FindControl("pnlType4");
                    obj.QText          = ((HtmlTextArea)p4.FindControl("QText4")).InnerHtml;
                    obj.QName          = ((TextBox)p4.FindControl("QName4")).Text;
                    obj.IsRequired     = ((CheckBox)p4.FindControl("IsRequired4")).Checked;
                    obj.DisplayControl = ((DropDownList)p4.FindControl("DisplayControl4")).SelectedValue.SafeToInt();
                    break;
                }


                if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                {
                    obj.Update();

                    //switch (obj.QType)
                    //{
                    //    case 2:
                    //        SaveType2Answers(obj.QID, tab2);
                    //        break;
                    //    case 4:
                    //        SaveType4Answers(obj.QID, tab2);
                    //        SaveType4Lines(obj.QID, tab2);
                    //        break;
                    //}

                    return(true);
                }
                else
                {
                    var    masterPage = (IControlRoomMaster)Master;
                    string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                    foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                    {
                        message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                    }
                    message = string.Format("{0}</ul>", message);
                    if (masterPage != null)
                    {
                        masterPage.PageError = message;
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                var masterPage = (IControlRoomMaster)Master;
                if (masterPage != null)
                {
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
                return(false);
            }
        }