private void getProduct(string ProductId)
{
try
{
if (!string.IsNullOrEmpty(ProductId))
{
ViewState["dtQues"] = null;
string getQuesId = "SELECT DISTINCT(GROUPID) FROM PRODUCTKIT WHERE PRODUCTID = (" + ProductId + ")";
DataTable dtQuesId = objDal.ExecuteTable(getQuesId);
string qId = string.Empty;
foreach (DataRow dr in dtQuesId.Rows)
{
qId += dr["GroupId"].ToString() + ",";
}
string getQues = @"SELECT QUESID ,NAME , DESCRIPTION ,GROUPID , ISREQUIERED FROM QUESTION WHERE QUESID IN (" + qId.TrimEnd(',') + ") ORDER BY QUESID ASC";
DataTable dtQues = objDal.ExecuteTable(getQues);
ViewState["dtQues"] = dtQues;
#region Create Question
try
{
if (Session["dtProduct"] != null)
{
SecondTimeControl();
Fillvalue();
}
else
{
NewControls();
}
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + ex.Message + "')", true);
}
#endregion
}
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + ex.Message + "')", true);
}
}
protected void NewControls()
{
DataTable dtQuestions = new DataTable();
if(Session["dtProduct"]!=null)
dtQuestions = Session["dtProduct"] as DataTable;
else
dtQuestions = ViewState["dtQues"] as DataTable;
int id = 0;
#region dynamic controls
foreach (DataRow dr in dtQuestions.Rows)
{
id = objCon.ConToInt(dr["QuesId"]);
#region label
Label lbQues = new Label();
lbQues.Text = "Question : " + dr["Name"].ToString();
lbQues.ID = "lbQues-" + id.ToString();
lbQues.CssClass = "question";
pnlDynamics.Controls.Add(lbQues);
Label lbAns = new Label();
lbAns.Text = "Answer : ";
lbAns.ID = "lbAns-" + id.ToString();
lbAns.CssClass = "answer";
pnlDynamics.Controls.Add(lbAns);
#endregion
string getQuesItem = @"SELECT * FROM QUESTIONITEM WHERE QUESID =" + dr["QuesId"].ToString() + "";
DataTable dtQuesItem = objDal.ExecuteTable(getQuesItem);
#region creating answers options
if (dr["GroupId"].ToString() == "1")
{
DropDownList ddl = new DropDownList();
ddl.ID = "ddlDynamics-" + id.ToString();
ddl.Items.Clear();
ddl.CssClass = "bloodgroup";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
ddl.ValidationGroup = "Mandatory";
Label lblddlError = new Label();
lblddlError.ID = "lblddlError-" + ddl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.Items.Insert(0, "--Select--");
pnlDynamics.Controls.Add(lblddlError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.CssClass = "bloodgroup ";
ddl.Items.Insert(0, "--Select--");
}
}
else if (dr["GroupId"].ToString() == "2")
{
RadioButtonList rbl = new RadioButtonList();
rbl.ID = "rblDynamics-" + id.ToString();
rbl.Items.Clear();
rbl.CssClass = "searchRadioButtons";
foreach (DataRow dritem in dtQuesItem.Rows)
{
rbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(rbl);
}
rbl.RepeatColumns = 2;
rbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
rbl.RepeatLayout = RepeatLayout.Flow;
rbl.SelectedIndex = 0;
}
else if (dr["GroupId"].ToString() == "3")
{
CheckBoxList cbl = new CheckBoxList();
cbl.Items.Clear();
cbl.ID = "cblDynamics-" + id.ToString();
cbl.CssClass = "checkBoxLists";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
cbl.ValidationGroup = "Mandatory";
Label lblcblError = new Label();
lblcblError.ID = "lblcblError-" + cbl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
pnlDynamics.Controls.Add(lblcblError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
}
cbl.RepeatColumns = 4;
cbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
cbl.RepeatLayout = RepeatLayout.Flow;
}
else if (dr["GroupId"].ToString() == "4")
{
TextBox txt = new TextBox();
txt.ID = "txtDynamics-" + id.ToString();
txt.CssClass = "textarea";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
txt.ValidationGroup = "Mandatory";
Label lbltxtError = new Label();
lbltxtError.ID = "lbltxtError-" + txt.ID;
lbltxtError.Text = string.Empty;
pnlDynamics.Controls.Add(txt);
pnlDynamics.Controls.Add(lbltxtError);
}
else
{
pnlDynamics.Controls.Add(txt);
}
}
else
{
TextBox txtM = new TextBox();
txtM.ID = "txtMDynamics-" + id.ToString();
txtM.TextMode = TextBoxMode.MultiLine;
txtM.CssClass = "textarea";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
txtM.ValidationGroup = "Mandatory";
Label lbltxtMError = new Label();
lbltxtMError.ID = "lbltxtMError-" + txtM.ID;
lbltxtMError.Text = string.Empty;
pnlDynamics.Controls.Add(lbltxtMError);
}
else
{
pnlDynamics.Controls.Add(txtM);
}
}
Literal lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
#endregion
}
#endregion
if (Session["dtProduct"] != null)
Fillvalue();
}
protected void SecondTimeControl()
{
try
{
#region dynamic controls for second time
DataTable exist = Session["dtProduct"] as DataTable;
#region get previous data
string QuesId = string.Empty;
foreach (DataRow dr in exist.Rows)
{
QuesId += dr["QuesId"] + ",";
}
string getPrevQues = @"SELECT QUESID ,NAME , DESCRIPTION ,GROUPID , ISREQUIERED FROM QUESTION WHERE QUESID IN (" + QuesId.TrimEnd(',') + ") ORDER BY QUESID ASC";
DataTable dtPrevQues = objDal.ExecuteTable(getPrevQues);
DataTable dtPrvDup = objDal.ExecuteTable(getPrevQues);
#endregion
DataTable dtQuestions = new DataTable();
#region get new data
if (!string.IsNullOrEmpty(ProductId))
{
string getQuesId = "SELECT DISTINCT(GROUPID) FROM PRODUCTKIT WHERE PRODUCTID = (" + ProductId + ")";
DataTable dtQuesId = objDal.ExecuteTable(getQuesId);
string qId = string.Empty;
foreach (DataRow dr in dtQuesId.Rows)
{
qId += dr["GroupId"].ToString() + ",";
}
string getQues = @"SELECT QUESID ,NAME , DESCRIPTION ,GROUPID , ISREQUIERED FROM QUESTION WHERE QUESID IN (" + qId.TrimEnd(',') + ") ORDER BY QUESID ASC";
dtQuestions = objDal.ExecuteTable(getQues);
}
#endregion
DataTable dtAllForDup = new DataTable();
dtPrvDup.Merge(dtQuestions);
dtAllForDup = dtPrvDup;
#region remove duplicate records
Hashtable hTable = new Hashtable();
string dupid = string.Empty;
foreach (DataRow drow in dtPrvDup.Rows)
{
if (hTable.Contains(drow["QuesId"]))
{
dupid += drow["QuesId"].ToString() + ",";
}
else
hTable.Add(drow["QuesId"], string.Empty);
}
foreach (string strs in dupid.TrimEnd(',').Split(','))
{
if (dtQuestions.Rows.Count > 0)
{
for (int i = dtQuestions.Rows.Count - 1; i >= 0; i--)
{
if (dtQuestions.Rows[i]["QuesId"].ToString() == strs)
dtQuestions.Rows[i].Delete();
dtQuestions.AcceptChanges();
}
}
}
#endregion
ViewState["dtQues"] = null;
DataTable dtAllQues = new DataTable();
dtAllQues = dtPrevQues;
dtAllQues.Merge(dtQuestions);
int id = 0;
#region dynamic controls
foreach (DataRow dr in dtPrevQues.Rows)
{
id = objCon.ConToInt(dr["QuesId"]);
#region label
Label lbQues = new Label();
lbQues.Text = "Question : " + dr["Name"].ToString();
lbQues.ID = "lbQues-" + id.ToString();
lbQues.CssClass = "question";
pnlDynamics.Controls.Add(lbQues);
Label lbAns = new Label();
lbAns.Text = "Answer : ";
lbAns.ID = "lbAns-" + id.ToString();
lbAns.CssClass = "answer";
pnlDynamics.Controls.Add(lbAns);
#endregion
string getQuesItem = @"SELECT * FROM QUESTIONITEM WHERE QUESID =" + dr["QuesId"].ToString() + "";
DataTable dtQuesItem = objDal.ExecuteTable(getQuesItem);
#region creating answers options
if (dr["GroupId"].ToString() == "1")
{
DropDownList ddl = new DropDownList();
ddl.ID = "ddlDynamics-" + id.ToString();
ddl.Items.Clear();
ddl.CssClass = "bloodgroup";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
ddl.ValidationGroup = "Mandatory";
Label lblddlError = new Label();
lblddlError.ID = "lblddlError-" + ddl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.Items.Insert(0, "--Select--");
pnlDynamics.Controls.Add(lblddlError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.CssClass = "bloodgroup ";
ddl.Items.Insert(0, "--Select--");
}
}
else if (dr["GroupId"].ToString() == "2")
{
RadioButtonList rbl = new RadioButtonList();
rbl.ID = "rblDynamics-" + id.ToString();
rbl.Items.Clear();
rbl.CssClass = "searchRadioButtons";
foreach (DataRow dritem in dtQuesItem.Rows)
{
rbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(rbl);
}
rbl.RepeatColumns = 2;
rbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
rbl.RepeatLayout = RepeatLayout.Flow;
rbl.SelectedIndex = 0;
}
else if (dr["GroupId"].ToString() == "3")
{
CheckBoxList cbl = new CheckBoxList();
cbl.Items.Clear();
cbl.ID = "cblDynamics-" + id.ToString();
cbl.CssClass = "checkBoxLists";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
cbl.ValidationGroup = "Mandatory";
Label lblcblError = new Label();
lblcblError.ID = "lblcblError-" + cbl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
pnlDynamics.Controls.Add(lblcblError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
}
cbl.RepeatColumns = 4;
cbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
cbl.RepeatLayout = RepeatLayout.Flow;
}
else if (dr["GroupId"].ToString() == "4")
{
TextBox txt = new TextBox();
txt.ID = "txtDynamics-" + id.ToString();
txt.CssClass = "textarea";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
txt.ValidationGroup = "Mandatory";
Label lbltxtError = new Label();
lbltxtError.ID = "lbltxtError-" + txt.ID;
lbltxtError.Text = string.Empty;
pnlDynamics.Controls.Add(txt);
pnlDynamics.Controls.Add(lbltxtError);
}
else
{
pnlDynamics.Controls.Add(txt);
}
}
else
{
TextBox txtM = new TextBox();
txtM.ID = "txtMDynamics-" + id.ToString();
txtM.TextMode = TextBoxMode.MultiLine;
txtM.CssClass = "textarea";
if (dr["IsReQuiered"].ToString().Trim() == "1")
{
txtM.ValidationGroup = "Mandatory";
Label lbltxtMError = new Label();
lbltxtMError.ID = "lbltxtMError-" + txtM.ID;
lbltxtMError.Text = string.Empty;
pnlDynamics.Controls.Add(lbltxtMError);
}
else
{
pnlDynamics.Controls.Add(txtM);
}
}
Literal lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
#endregion
}
#endregion
ViewState["dtQues"] = dtAllQues;
#endregion
}
catch
{
}
}
protected void Fillvalue()
{
DataTable dtVal = new DataTable();
dtVal = Session["dtProduct"] as DataTable;
#region check validation
foreach (Control c in pnlDynamics.Controls)
{
try
{
if (c is TextBox)
{
TextBox txt = c as TextBox;
foreach (DataRow drtxt in dtVal.Rows)
{
if (txt.ID == "txtDynamics-" + drtxt["QuesId"] || txt.ID == "txtMDynamics-" + drtxt["QuesId"])
{
txt.Text = drtxt["Ans"].ToString();
}
}
}
if (c is RadioButtonList)
{
RadioButtonList rbl = c as RadioButtonList;
foreach (DataRow drrbl in dtVal.Rows)
{
if (rbl.ID == "rblDynamics-" + drrbl["QuesId"])
{
rbl.SelectedValue = drrbl["Ans"].ToString();
}
}
}
if (c is DropDownList)
{
DropDownList ddl = c as DropDownList;
foreach (DataRow drcbl in dtVal.Rows)
{
if (ddl.ID == "ddlDynamics-" + drcbl["QuesId"])
{
ddl.SelectedValue = drcbl["Ans"].ToString();
}
}
}
if (c is CheckBoxList)
{
CheckBoxList cbl = c as CheckBoxList;
foreach (DataRow drcbl in dtVal.Rows)
{
if (cbl.ID == "cblDynamics-" + drcbl["QuesId"])
{
foreach (ListItem li in cbl.Items)
{
if (li.Text == drcbl["Ans"].ToString())
{
li.Selected = true;
}
}
}
}
}
}
catch (Exception ex)
{
}
}
#endregion
}
protected void Maintain()
{
if (ViewState["dtQues"] != null)
{
DataTable dtQuestions = ViewState["dtQues"] as DataTable;
if (groupSeqId < dtQuestions.Rows.Count)
{
ViewState["GrpID"] = null;
string GrpId = dtQuestions.Rows[groupSeqId]["GroupId"].ToString();
ViewState["GrpID"] = dtQuestions.Rows[groupSeqId]["QuesId"].ToString();
if (GrpId == "1")
RecreateControls("ddlDynamics", "DropDownList");
else if (GrpId == "2")
RecreateControls("rblDynamics", "RadioButtonList");
else if (GrpId == "3")
RecreateControls("cblDynamics", "CheckBoxList");
else if (GrpId == "4")
RecreateControls("txtDynamics", "TextBox");
else if (GrpId == "5")
RecreateControls("txtMDynamics", "TextBox");
}
}
}
private void RecreateControls(string ctrlPrefix, string ctrlType)
{
try
{
string[] ctrls = Request.Form.ToString().Split('&');
if (ViewState["dtQues"] != null)
{
DataTable dtQuestions = ViewState["dtQues"] as DataTable;
Control c = null;
Literal lt2;
int k = Convert.ToInt32(dtQuestions.Rows[groupSeqId]["QuesId"].ToString());
#region label
Label lbQues = new Label();
lbQues.Text = "Question : " + dtQuestions.Rows[groupSeqId]["Name"].ToString();
lbQues.ID = "lbQues-" + k.ToString() ;
lbQues.CssClass = "question";
pnlDynamics.Controls.Add(lbQues);
Label lbAns = new Label();
lbAns.ID = "lbAns-" + k.ToString();
lbAns.Text = "Answer : ";
lbAns.CssClass = "answer";
pnlDynamics.Controls.Add(lbAns);
#endregion
string getQuesItem = @"SELECT * FROM QUESTIONITEM WHERE QUESID =" + dtQuestions.Rows[groupSeqId]["QuesId"].ToString() + "";
DataTable dtQuesItem = objDal.ExecuteTable(getQuesItem);
bool exists = false;
for (int i = 0; i < ctrls.Length; i++)
{
if (ctrls[i].Contains(ctrlPrefix + "-" + k.ToString()))
{
string ctrlName = ctrls[i].Split('=')[0];
string ctrlValue = ctrls[i].Split('=')[1];
ctrlValue = Server.UrlDecode(ctrlValue);
#region child controls
if (ctrlType == "DropDownList" && ctrlPrefix.Contains("ddlDynamics"))
{
DropDownList ddl = new DropDownList();
ddl.ID = ctrlName;
ddl.Items.Clear();
ddl.CssClass = "bloodgroup";
if (dtQuestions.Rows[groupSeqId]["IsReQuiered"].ToString() == "1")
{
ddl.ValidationGroup = "Mandatory";
Label lblddlError = new Label();
lblddlError.ID = "lblddlError-" + ddl.ID;
lblddlError.Text = string.Empty;
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.Items.Insert(0, "--Select--");
ddl.SelectedValue = ctrlValue;
pnlDynamics.Controls.Add(lblddlError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
ddl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(ddl);
}
ddl.Items.Insert(0, "--Select--");
ddl.SelectedValue = ctrlValue;
}
lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
break;
}
if (ctrlType == "RadioButtonList" && ctrlPrefix.Contains("rblDynamics"))
{
RadioButtonList rbl = new RadioButtonList();
rbl.ID = ctrlName;
rbl.CssClass = "searchRadioButtons";
foreach (DataRow dritem in dtQuesItem.Rows)
{
rbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(rbl);
}
rbl.SelectedValue = ctrlValue;
rbl.RepeatColumns = 2;
rbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
rbl.RepeatLayout = RepeatLayout.Flow;
lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
break;
}
if (ctrlType == "CheckBoxList" && ctrlPrefix.Contains("cblDynamic"))
{
string[] vals = Request.Form.ToString().Split('&');
string quseid1 = string.Empty;
for (int count = 0; count < vals.Length; count++)
{
if (ctrls[count].Contains("cblDynamics-" + ctrlName.Split('-')[1].Split('%')[0]))
{
quseid1 += vals[count].Substring(ctrlName.Length - 3, 3) + ",";
}
}
string[] Ques = quseid1.TrimEnd(',').Split(',');
CheckBoxList cbl = new CheckBoxList();
cbl.ID = ctrlName;
cbl.CssClass = "checkBoxLists";
if (dtQuestions.Rows[groupSeqId]["IsReQuiered"].ToString() == "1")
{
cbl.ValidationGroup = "Mandatory";
Label lblcblError = new Label();
lblcblError.ID = "lblcblError-" + cbl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
pnlDynamics.Controls.Add(lblcblError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
}
cbl.RepeatColumns = 4;
cbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
cbl.RepeatLayout = RepeatLayout.Flow;
foreach (string str in Ques)
{
string strs = str[str.Length - 1].ToString();
cbl.Items[objCon.ConToInt(strs)].Selected = true;
}
exists = true;
lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
break;
}
if (ctrlType == "TextBox" && ctrlPrefix.Contains("txtDynamics"))
{
TextBox txt = new TextBox();
txt.ID = ctrlName;
txt.Text = ctrlValue;
txt.CssClass = "textarea";
if (dtQuestions.Rows[groupSeqId]["IsReQuiered"].ToString() == "1")
{
txt.ValidationGroup = "Mandatory";
Label lbltxtError = new Label();
lbltxtError.ID = "lbltxtError-" + txt.ID;
lbltxtError.Text = string.Empty;
pnlDynamics.Controls.Add(txt);
pnlDynamics.Controls.Add(lbltxtError);
}
else
{
pnlDynamics.Controls.Add(txt);
}
lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
break;
}
if (ctrlType == "TextBox" && ctrlPrefix.Contains("txtMDynamics"))
{
TextBox txtM = new TextBox();
txtM.ID = ctrlName;
txtM.Text = ctrlValue;
txtM.TextMode = TextBoxMode.MultiLine;
txtM.CssClass = "textarea";
if (dtQuestions.Rows[groupSeqId]["IsReQuiered"].ToString() == "1")
{
txtM.ValidationGroup = "Mandatory";
Label lbltxtMError = new Label();
lbltxtMError.ID = "lbltxtMError-" + txtM.ID;
lbltxtMError.Text = string.Empty;
pnlDynamics.Controls.Add(txtM);
pnlDynamics.Controls.Add(lbltxtMError);
}
else
{
pnlDynamics.Controls.Add(txtM);
}
lt2 = new Literal();
lt2.Text = "<br/>";
pnlDynamics.Controls.Add(lt2);
break;
}
#endregion
}
}
if (exists == false && ctrlPrefix == "cblDynamics" && ctrlType == "CheckBoxList")
{
CheckBoxList cbl = new CheckBoxList();
cbl.Items.Clear();
cbl.ID = "cblDynamics-" + k.ToString();
cbl.CssClass = "checkBoxLists";
if (dtQuestions.Rows[groupSeqId]["IsReQuiered"].ToString() == "1")
{
cbl.ValidationGroup = "Mandatory";
Label lblcblError = new Label();
lblcblError.ID = "lblcblError-" + cbl.ID;
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ID"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
pnlDynamics.Controls.Add(lblcblError);
}
else
{
foreach (DataRow dritem in dtQuesItem.Rows)
{
cbl.Items.Add(new ListItem("" + dritem["ITEMNAME"].ToString() + "", "" + dritem["ITEMNAME"].ToString() + ""));
pnlDynamics.Controls.Add(cbl);
}
}
cbl.RepeatColumns = 4;
cbl.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Horizontal;
cbl.RepeatLayout = RepeatLayout.Flow;
}
groupSeqId++;
Maintain();
}
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + ex.Message + "')", true);
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
Maintain();
bool check =false;
#region check validation
foreach (Control c in pnlDynamics.Controls)
{
try
{
if (c is TextBox)
{
TextBox txt = c as TextBox;
if (txt.ValidationGroup != null && string.IsNullOrEmpty(txt.Text))
{
Label lbl = new Label();
if (txt.TextMode != TextBoxMode.MultiLine)
lbl = pnlDynamics.FindControl("lbltxtError-" + txt.ID) as Label;
else
lbl = pnlDynamics.FindControl("lbltxtMError-" + txt.ID) as Label;
lbl.Text = string.Empty;
lbl.CssClass = "error";
lbl.Text = txt.Text + "This field cannot be blank";
check = true;
}
}
if (c is DropDownList)
{
DropDownList ddl = c as DropDownList;
if (ddl.ValidationGroup != null && ddl.SelectedValue == "--Select--")
{
Label lbl = pnlDynamics.FindControl("lblddlError-" + ddl.ID) as Label;
lbl.Text = string.Empty;
lbl.CssClass = "error";
lbl.Text = "Please select value";
check = true;
}
}
if (c is CheckBoxList)
{
CheckBoxList cbl = c as CheckBoxList;
bool count = false;
foreach (ListItem li in cbl.Items)
{
if (li.Selected)
count = true;
}
if (cbl.ValidationGroup != null && count == false)
{
Label lbl = pnlDynamics.FindControl("lblcblError-" + cbl.ID) as Label;
lbl.Text = string.Empty;
lbl.CssClass = "error";
lbl.Text = "Please check any value";
check = true;
}
}
}
catch (Exception ex)
{
}
}
#endregion
if (check == false)
{
#region save
string[] ctrls = Request.Form.ToString().Split('&');
string quseid = string.Empty;
string result = string.Empty;
DataTable tableProductAns = new DataTable();
tableProductAns.Columns.Add("OrderId", typeof(int));
tableProductAns.Columns.Add("QuesId", typeof(string));
tableProductAns.Columns.Add("Ans", typeof(string));
#region getValues from Dynamic
for (int count = 0; count < ctrls.Length; count++)
{
if (ctrls[count].ContainsIgnoreCase("Dynamics"))
{
quseid += ctrls[count].Split('=')[0].Split('-')[1] + ",";
result += ctrls[count].Split('=')[1] + ",";
}
}
#endregion
string[] Ques = quseid.TrimEnd(',').Split(',');
string[] Ans = result.TrimEnd(',').Split(',');
int strval = 0;
foreach (string str in Ques)
{
#region get all answer
string Qid = string.Empty;
string Answer = string.Empty;
#region getQuesId
if (str.Contains("%"))
Qid = str.Split('%')[0];
else
Qid = str;
int Quesid = objCon.ConToInt(Qid);
#endregion
#region get answer
if (Ans[strval].ToString().Contains("+"))
Answer = Ans[strval].ToString().Replace('+', ' ');
else if (Ans[strval].ToString().Contains("%2b"))
Answer = Ans[strval].ToString().Replace("%2b", "+");
else
Answer = Ans[strval].ToString();
#endregion
#region getName if Checkboxlist exists
if (str.Contains("%"))
{
string query2 = "select * from QuestionItem Where QuesId=" + Quesid + "";
DataTable dtQues = objDal.ExecuteTable(query2);
#region change id of datatable
int Id = 240;
foreach (DataRow dr in dtQues.Rows)
{
dr["ID"] = objCon.ConToStr(Id);
Id++;
}
dtQues.AcceptChanges();
#endregion
#region getItem Name
foreach (DataRow row in dtQues.Rows)
{
if (objCon.ConToInt(row["Id"]) == objCon.ConToInt(str.Split('%')[1]))
{
Answer = row["ItemName"].ToString();
}
}
#endregion
}
#endregion
#endregion
if (string.IsNullOrEmpty(Answer) || Answer == "--Select--")
Answer = string.Empty;
tableProductAns.Rows.Add(0, Quesid, Answer);
strval++;
Session["dtProduct"] = tableProductAns;
}
#endregion
Response.Redirect(ResolveClientUrl("~/ShoppingCart.aspx?add=true&ReturnUrl=" + Security.UrlEncode(ReturnUrl)));
}
else
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + "Please fill mandatory questions " + "')", true);
return;
}
}
catch(Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + ex.Message + "')", true);
}
}