using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using QBoard.BusinessLayer;
using QBoard.Data.Masters;
using System.Collections.Generic;
using Data.Masters;
using System.IO;
using System.Text;
using System.Reflection;
using QBoard.UtilityLayer;
public partial class Audit_ViewAuditObservations : System.Web.UI.Page
{
Hashtable htControls = new Hashtable();
protected void Page_Load(object sender, EventArgs e)
{
htControls.Add("LinkButton", "Text");
htControls.Add("HyperLink", "Text");
htControls.Add("DropDownList", "SelectedItem");
htControls.Add("CheckBox", "Checked");
gvObservationsList.AllowPaging = false;
if (!IsPostBack)
{
ViewState["obsCount"] = 0;
BindDDL();
BindGrid();
}
//BindGrid();
}
protected void BindGrid()
{
try
{
Audit objDTO = new Audit();
string FromDate = "01/01/1971";
string ToDate = "01/01/1971";
int status;
List
ProjectAudit objPrjAuditDTO = new ProjectAudit();
if (!((ddlPrjName.SelectedValue == General.NO_PROJECTS_FOUND) || (ddlPrjName.SelectedValue == General.NO_DEPARTMENTS_FOUND)))
{ objDTO.ProjectID = Convert.ToInt32(ddlPrjName.SelectedValue); }
else
{ objDTO.ProjectID = 0; }
objPrjAuditDTO.AuditObsTypeId = Convert.ToInt32(ddlObsType.SelectedValue);
if (!string.IsNullOrEmpty(txtFromMonth.Text))
{
FromDate = txtFromMonth.Text;
}
if (!string.IsNullOrEmpty(txtToMonth.Text))
{
ToDate = txtToMonth.Text;
}
objDTO.AuditDateFrom = Convert.ToDateTime(FromDate);
objDTO.AuditDateTo = Convert.ToDateTime(ToDate);
if (rdOpen.Checked == true)
{
//objPrjAuditDTO.Auditstatus = false;
status = 0;
}
else if (rdClosed.Checked == true)
{
//objPrjAuditDTO.Auditstatus = true;
status = 1;
}
else
{
status = 2;
}
if (rdbtnPrj.Checked == true)
{
objProAudit = ManageAuditObservations.Search(objDTO, objPrjAuditDTO, status);
}
else
{
objProAudit = Departments.SearchDeptObs(objDTO, objPrjAuditDTO, status);
}
ViewState["obsCount"] = objProAudit.Count;
gvObservationsList.DataSource = objProAudit;
gvObservationsList.DataBind();
if (rdbtnPrj.Checked == true)
{
TeamInfo.Visible = true;
List
objTeamList = ManageAuditObservations.AuditObsTeamInfo(objDTO.ProjectID);
if (objTeamList.Count > 0)
{
string strPL, strPM, strQC, strQA = "";
strPL = "";
strQC = "";
strPM = "";
for (int i = 0; i < objTeamList.Count; i++)
{
if (objTeamList[i].Role == "PL")
{
strPL = objTeamList[i].UserName + "," + strPL;
//litPL.Text = litPL.Text + objTeamList[i].UserName.ToUpper();
}
if (objTeamList[i].Role == "QC")
{
strQC = objTeamList[i].UserName + "," + strQC;
//LitQCs.Text = LitQCs.Text + " " + objTeamList[i].UserName.ToUpper();
}
if (objTeamList[i].Role == "QA")
{
strQA = objTeamList[i].UserName + "," + strQA;
//litAuditTeam.Text = litAuditTeam.Text + " " + objTeamList[i].UserName.ToUpper();
}
if (objTeamList[i].Role == "PM")
{
strPM = objTeamList[i].UserName + "," + strPM;
//litAuditTeam.Text = litAuditTeam.Text + " " + objTeamList[i].UserName.ToUpper();
}
}
string strlitPL = strPL.Length > 0 ? strPL.Substring(0, strPL.Length - 1) : strPL;
if (strlitPL == "")
litPL.Text = "Not Assigned";
else
litPL.Text = strlitPL;
string strLitQCs = strQC.Length > 0 ? strQC.Substring(0, strQC.Length - 1) : strQC;
if (strLitQCs == "")
LitQCs.Text = "Not Assigned";
else
LitQCs.Text = strLitQCs;
string strlitPM = strPM.Length > 0 ? strPM.Substring(0, strPM.Length - 1) : strPM;
if (strlitPM == "")
litReviewRef.Text = "Not Assigned";
else
litReviewRef.Text = strlitPM;
if ((strlitPL.Length <= 0))
{
LitAudtee.Text = LitQCs.Text;
}
else if (strLitQCs.Length > 0)
{
LitAudtee.Text = litPL.Text + "," + strLitQCs;
}
else
{
LitAudtee.Text = litPL.Text;
}
string strlitAuditTeam = strQA.Length > 0 ? strQA.Substring(0, strQA.Length - 1) : strQA;
if (strlitAuditTeam == "")
litAuditTeam.Text = "Not Assigned";
else
litAuditTeam.Text = strlitAuditTeam;
}
else
{
litPL.Text = "Not Assigned";
litAuditTeam.Text = "Not Assigned";
litReviewRef.Text = "Not Assigned";
LitQCs.Text = "Not Assigned";
}
}
else
{
TeamInfo.Visible = false;
}
}
catch (Exception ex) { }
}
protected void btnShowinBig_Click(object sender, EventArgs e)
{
if (Convert.ToInt16(ViewState["obsCount"]) > 0)
{
string strTypeID; //0 for Project and 1 for Dept
string strProjectId = ddlPrjName.SelectedValue;
string strFromDate = string.Empty;
string strToDate = string.Empty;
string strStatus;
string strObsType = ddlObsType.SelectedValue;
if (rdbtnPrj.Checked == true)
{
strTypeID = "0";
}
else
{
strTypeID = "1";
}
if (txtFromMonth.Text != "")
{
foreach (string FromDate in txtFromMonth.Text.Split('/'))
{
strFromDate += FromDate;
}
}
if (txtToMonth.Text != "")
{
foreach (string FromDate in txtToMonth.Text.Split('/'))
{
strToDate += FromDate;
}
}
if (rdOpen.Checked == true) { strStatus = "0"; } else { strStatus = "1"; }
String qryString = "MaximizeObservations.aspx?TypeID=" + strTypeID + "&PrjID=" + strProjectId + "&ObsTypeID=" + strObsType + "&FDate=" + strFromDate + "&TDate=" + strToDate + "&Status=" + strStatus;
this.ClientScript.RegisterStartupScript(this.GetType(), "Observations", "popUp = window.open('" + qryString + "','','width=500,height=350,toolbar=1,location=no,directories=no,status=no,menubar=yes,resizable=no,scrollbars=no,fullscreen=yes');", true);
}
else
{
this.ClientScript.RegisterStartupScript(this.GetType(), "KEY", "javascript:alert('* No records found.');", true);
}
}
protected void btnExport_Click(object sender, EventArgs e)
{
if (Convert.ToInt16(ViewState["obsCount"])>0)
{
PrepareGridViewForExport(gvObservationsList);
ExportGridView(gvObservationsList);
}
else
{
this.ClientScript.RegisterStartupScript(this.GetType(), "KEY", "javascript:alert('* No records to export.');", true);
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
private void BindDDL()
{
try
{
ddlObsType.DataSource = ManageAuditObservations.BindAuditObsTypes(1);//1 Normal Audit 2=Best Project
ddlObsType.DataTextField = "AuditObsTypeName";
ddlObsType.DataValueField = "AuditObsTypeID";
ddlObsType.DataBind();
ListItem item = new ListItem("All", "0");
ddlObsType.Items.Insert(0,item);
bool isAdmin=false;
if (rdbtnPrj.Checked == true)
{
//TeamInfo.Visible = true;
List
if ((Page.User.IsInRole("Admin")) || (Page.User.IsInRole("SDU Head")))
{
isAdmin = true;
objProjects = ManageAuditObservations.BindProjects();
}
else
{
objProjects = Projects.GetProjectForUser(Page.User.Identity.Name);
}
lblPrjORDept.Text = "Project Name";
if (objProjects.Count > 0)
{
ddlPrjName.DataSource = objProjects;
ddlPrjName.DataTextField = "ProjectName";
ddlPrjName.DataValueField = "ProjectID";
//btnSearch.Enabled = true;
}
else
{
ddlPrjName.Items.Clear();
ListItem iItem = new ListItem(General.NO_PROJECTS_FOUND);
ddlPrjName.Items.Add(iItem);
//btnSearch.Enabled = false;
}
ddlPrjName.DataBind();
}
else
{
//TeamInfo.Visible = false;
List
if ((Page.User.IsInRole("Admin")) || (Page.User.IsInRole("SDU Head")))
{
isAdmin = true;
obj = Departments.GetDepartmentsForUser(User.Identity.Name, isAdmin);
}
else
{
isAdmin = false;
obj = Departments.GetDepartmentsForUser(User.Identity.Name, isAdmin);
}
lblPrjORDept.Text = "Department Name";
if (obj.Count > 0)
{
ddlPrjName.DataSource = obj;
ddlPrjName.DataTextField = "DepartmentName";
ddlPrjName.DataValueField = "DepartmentId";
//btnSearch.Enabled = true;
}
else
{
ddlPrjName.Items.Clear();
ListItem iItem = new ListItem(General.NO_DEPARTMENTS_FOUND);
ddlPrjName.Items.Add(iItem);
//btnSearch.Enabled = false;
//gvObservationsList.Visible = false;
}
ddlPrjName.DataBind();
}
}
catch (Exception ex) { }
}
protected void gvObservationsList_RowEditing(object sender, GridViewEditEventArgs e)
{
gvObservationsList.EditIndex = e.NewEditIndex;
GridViewRow row = gvObservationsList.Rows[e.NewEditIndex];
Label lblObsType = (Label)row.Cells[3].Controls[1];
ViewState["RowObsType"] = lblObsType.Text;
BindGrid();
}
protected void gvObservationsList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.DataRow) && ((e.Row.RowState == DataControlRowState.Normal) || (e.Row.RowState == DataControlRowState.Alternate)))
{
ImageButton imgDelete;
ImageButton imgEdit;
if (!((Page.User.IsInRole("Admin")) || (Page.User.IsInRole("QA"))))
{
imgDelete = (ImageButton)(e.Row.FindControl("btnDelete"));
imgEdit = (ImageButton)(e.Row.Cells[7].Controls[0]);
if (imgEdit != null)
imgEdit.Visible = false;
if (imgDelete != null)
imgDelete.Visible = false;
}
//if((e.Row.RowState==DataControlRowState.Normal) || (e.Row.RowState==DataControlRowState.Alternate))
Label lab = (Label)e.Row.Cells[5].Controls[1];
if (lab.Text == "False")
{
lab.Text = "Open";
}
else if (lab.Text == "True")
{
lab.Text = "Closed";
imgDelete = (ImageButton)(e.Row.FindControl("btnDelete"));
imgEdit = (ImageButton)(e.Row.Cells[7].Controls[0]);
if (imgEdit != null)
imgEdit.Visible = false;
if (imgDelete != null)
imgDelete.Visible = false;
}
}
if (e.Row.RowType == DataControlRowType.Header)
{
if (!((Page.User.IsInRole("Admin")) || (Page.User.IsInRole("QA"))))
{
if (e.Row.Cells[7].Text.Trim() == "Edit")
{
e.Row.Cells[7].Visible = false;
}
if (e.Row.Cells[8].Text.Trim() == "Delete")
{
e.Row.Cells[8].Visible = false;
}
}
if (rdClosed.Checked == true)
{
if (e.Row.Cells[7].Text.Trim() == "Edit")
{
e.Row.Cells[7].Visible = false;
}
if (e.Row.Cells[8].Text.Trim() == "Delete")
{
e.Row.Cells[8].Visible = false;
}
}
}
if ((e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Normal)) || (e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate)))
{
ImageButton imgEdit;
imgEdit = (ImageButton)(e.Row.Cells[7].Controls[0]);
TextBox txtObs = (TextBox)e.Row.Cells[2].Controls[0];
txtObs.TextMode = TextBoxMode.MultiLine;
txtObs.Rows = 3;
txtObs.CausesValidation = true;
DropDownList ddlList = (DropDownList)e.Row.Cells[3].Controls[1];
ddlList.Items.Clear();
ddlList.DataSource = ManageAuditObservations.BindAuditObsTypes(1);//1 Normal Project 2=Best Project
ddlList.DataTextField = "AuditObsTypeName";
ddlList.DataValueField = "AuditObsTypeID";
ddlList.DataBind();
if (ViewState["RowObsType"] != null)
{
ListItem Item=ddlList.Items.FindByText(ViewState["RowObsType"].ToString());
int index = ddlList.Items.IndexOf(Item);
ddlList.SelectedIndex = index;
}
}
}
protected void gvObservationsList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvObservationsList.EditIndex = -1;
BindGrid();
}
protected void gvObservationsList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvObservationsList.PageIndex = e.NewPageIndex;
BindGrid();
}
protected void gvObservationsList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
ProjectAudit objDTO = new ProjectAudit();
DataKey key;
key = gvObservationsList.DataKeys[e.RowIndex];
objDTO.ID = Convert.ToInt32(key.Value);
objDTO.AuditObservation = Convert.ToString(((TextBox)gvObservationsList.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
//objDTO.AuditObsTypeId = Convert.ToInt32(((DropDownList)
DropDownList ddl = (DropDownList)gvObservationsList.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1");
objDTO.AuditObsTypeId = Convert.ToInt32(ddl.SelectedValue);
//objDTO.AuditExClosureDate = Convert.ToDateTime(gvObservationsList.Rows[e.RowIndex].Cells[6].Text);
DropDownList ddl2=(DropDownList)gvObservationsList.Rows[e.RowIndex].Cells[5].FindControl("DropDownList2");
if (ddl2.SelectedValue == "False")
{
objDTO.Auditstatus = false;
}
else
{
objDTO.Auditstatus = true;
objDTO.AuditClosureDate = DateTime.Now;
}
ManageAuditObservations.UpdateProjectAudit(objDTO);
gvObservationsList.EditIndex = -1;
BindGrid();
this.ClientScript.RegisterStartupScript(this.GetType(), "KEY", "javascript:alert('*Observation Details Updated Successfully');", true);
}
catch (Exception ex)
{
}
}
private void clearControls()
{
litPL.Text = "";
LitQCs.Text = "";
litReviewRef.Text = "";
LitDate.Text = "";
LitAudtee.Text = "";
litAuditTeam.Text = "";
litAuditArea.Text = "";
}
protected void gvObservationsList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
DataKey key;
key = gvObservationsList.DataKeys[e.RowIndex];
int m_intAuditObsId = (int)key.Value;
ManageAuditObservations.DeleteObservation(m_intAuditObsId);
gvObservationsList.EditIndex = -1;
BindGrid();
this.ClientScript.RegisterStartupScript(this.GetType(), "KEY", "javascript:alert('*Observation Details Deleted Successfully');", true);
}
catch (Exception ex)
{
}
}
protected void gvObservationsList_RowCreated(object sender, GridViewRowEventArgs e)
{
}
protected void ddlPrjName_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
}
protected void rdbtnPrj_CheckedChanged(object sender, EventArgs e)
{
BindDDL();
BindGrid();
//TeamInfo.Visible = true;
}
protected void rdbtnDept_CheckedChanged(object sender, EventArgs e)
{
BindDDL();
BindGrid();
//TeamInfo.Visible = false;
}
private void PrepareGridViewForExport(Control gv)
{
try
{
Literal l = new Literal();
for (int i = 0; i < gv.Controls.Count; i++)
{
if ((null != htControls[gv.Controls[i].GetType().Name]) || (null != htControls[gv.Controls[i].GetType
().BaseType.Name]))
{
l.Text = GetControlPropertyValue(gv.Controls[i]);
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
if (gv.Controls[i].HasControls())
{
PrepareGridViewForExport(gv.Controls[i]);
}
}
}
catch (Exception ex)
{
}
}
private string GetControlPropertyValue(Control control)
{
Type controlType = control.GetType();
string strControlType = controlType.Name;
string strReturn = "Error";
bool bReturn;
PropertyInfo[] ctrlProps = controlType.GetProperties();
string ExcelPropertyName = (string)htControls[strControlType];
try
{
if (ExcelPropertyName == null)
{
ExcelPropertyName = (string)htControls[control.GetType().BaseType.Name];
if (ExcelPropertyName == null)
return strReturn;
}
foreach (PropertyInfo ctrlProp in ctrlProps)
{
if (ctrlProp.Name == ExcelPropertyName &&
ctrlProp.PropertyType == typeof(String))
{
try
{
strReturn = (string)ctrlProp.GetValue(control, null);
break;
}
catch
{
strReturn = "";
}
}
if (ctrlProp.Name == ExcelPropertyName &&
ctrlProp.PropertyType == typeof(bool))
{
try
{
bReturn = (bool)ctrlProp.GetValue(control, null);
strReturn = bReturn ? "True" : "False";
break;
}
catch
{
strReturn = "Error";
}
}
if (ctrlProp.Name == ExcelPropertyName &&
ctrlProp.PropertyType == typeof(System.Web.UI.WebControls.ListItem))
{
try
{
strReturn = ((System.Web.UI.WebControls.ListItem)(ctrlProp.GetValue(control, null))).Text;
break;
}
catch
{
strReturn = "";
}
}
}
}
catch (Exception ex)
{
}
return strReturn;
}
public override void VerifyRenderingInServerForm(Control control)
{
}
private void ExportGridView(GridView gv)
{
try
{
string attachment = "attachment; filename=Obs.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
catch (Exception ex)
{
}
}
}