protected void Page_Load(object sender, EventArgs e) { intProfile = Int32.Parse(Request.Cookies["profileid"].Value); oFunction = new Functions(intProfile, dsn, intEnvironment); oUser = new Users(intProfile, dsn); oPage = new Pages(intProfile, dsn); oResourceRequest = new ResourceRequest(intProfile, dsn); oRequestItem = new RequestItems(intProfile, dsn); oRequest = new Requests(intProfile, dsn); oApplication = new Applications(intProfile, dsn); oGroupRequest = new GroupRequest(intProfile, dsn); oDelegate = new Delegates(intProfile, dsn); oService = new Services(intProfile, dsn); if (Request.QueryString["applicationid"] != null && Request.QueryString["applicationid"] != "") { intApplication = Int32.Parse(Request.QueryString["applicationid"]); } if (Request.QueryString["pageid"] != null && Request.QueryString["pageid"] != "") { intPage = Int32.Parse(Request.QueryString["pageid"]); } if (Request.Cookies["application"] != null && Request.Cookies["application"].Value != "") { intApplication = Int32.Parse(Request.Cookies["application"].Value); } string strAttributes = ""; bool boolIncomplete = false; if (Request.QueryString["rrid"] != null && Request.QueryString["rrid"] != "") { intResourceWorkflow = Int32.Parse(Request.QueryString["rrid"]); intResourceParent = oResourceRequest.GetWorkflowParent(intResourceWorkflow); DataSet ds = oResourceRequest.Get(intResourceParent); if (ds.Tables[0].Rows.Count > 0) { intRequest = Int32.Parse(ds.Tables[0].Rows[0]["requestid"].ToString()); intItem = Int32.Parse(ds.Tables[0].Rows[0]["itemid"].ToString()); intNumber = Int32.Parse(ds.Tables[0].Rows[0]["number"].ToString()); // Start Workflow Change bool boolComplete = (oResourceRequest.GetWorkflow(intResourceWorkflow, "status") == "3"); int intUser = Int32.Parse(oResourceRequest.GetWorkflow(intResourceWorkflow, "userid")); // End Workflow Change intService = Int32.Parse(ds.Tables[0].Rows[0]["serviceid"].ToString()); int intApp = oRequestItem.GetItemApplication(intItem); if (Request.QueryString["save"] != null && Request.QueryString["save"] != "") { Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "saved", "<script type=\"text/javascript\">alert('Information Saved Successfully');<" + "/" + "script>"); } if (oService.Get(intService, "sla") != "") { oFunction.ConfigureToolButton(btnSLA, "/images/tool_sla"); int intDays = oResourceRequest.GetSLA(intResourceParent); if (intDays < 1) { btnSLA.Style["border"] = "solid 2px #FF0000"; } else if (intDays < 3) { btnSLA.Style["border"] = "solid 2px #FF9999"; } btnSLA.Attributes.Add("onclick", "return OpenWindow('RESOURCE_REQUEST_SLA','?rrid=" + intResourceParent.ToString() + "');"); } else { btnSLA.ImageUrl = "/images/tool_sla_dbl.gif"; btnSLA.Enabled = false; } if (!IsPostBack) { if (intResourceWorkflow > 0) { ds = oRequest.Get(intRequest); if (ds.Tables[0].Rows.Count > 0) { ds = oGroupRequest.GetMaintenance(intRequest, intItem, intNumber); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["completed"].ToString() == "") { boolIncomplete = true; } else { lblComplete.Text = ds.Tables[0].Rows[0]["completed"].ToString(); panComplete.Visible = true; } lblRequestBy.Text = oUser.GetFullName(oRequest.GetUser(intRequest)); lblRequestOn.Text = DateTime.Parse(oRequest.Get(intRequest, "created")).ToLongDateString(); int intDomain = Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()); Domains oDomain = new Domains(intProfile, dsn); intDomain = Int32.Parse(oDomain.Get(intDomain, "environment")); AD oAD = new AD(intProfile, dsn, intDomain); Variables oVariable = new Variables(intDomain); DataSet dsParameters = oGroupRequest.GetMaintenanceParameters(intRequest, intItem, intNumber); StringBuilder sb = new StringBuilder(strDetails); switch (ds.Tables[0].Rows[0]["maintenance"].ToString()) { case "CREATE": lblType.Text = "Group Creation"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); panID.Visible = true; txtID.Text = ds.Tables[0].Rows[0]["name"].ToString(); sb.Append("<tr><td><b>Scope:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[0]["value"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Type:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[1]["value"].ToString()); sb.Append("</td>"); break; case "MOVE": lblType.Text = "Group Move"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); sb.Append("<tr><td><b>New Location:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[0]["value"].ToString()); sb.Append("</td>"); break; case "COPY": lblType.Text = "Group Copy"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); panID.Visible = true; txtID.Text = dsParameters.Tables[0].Rows[0]["value"].ToString(); sb.Append("<tr><td><b>Scope:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[1]["value"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Type:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[2]["value"].ToString()); sb.Append("</td>"); panUsers.Visible = true; string[] strUsers; char[] strSplit = { ';' }; strUsers = dsParameters.Tables[0].Rows[3]["value"].ToString().Split(strSplit); for (int ii = 0; ii < strUsers.Length; ii++) { if (strUsers[ii].Trim() != "") { DirectoryEntry oEntry2 = oAD.UserSearch(strUsers[ii].Trim()); ListItem oList = new ListItem(oEntry2.Properties["displayName"].Value.ToString() + " (" + oEntry2.Properties["name"].Value.ToString() + ")", oEntry2.Properties["name"].Value.ToString()); chkUsers.Items.Add(oList); oList.Selected = true; } } break; case "DELETE": lblType.Text = "Group Deletion"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); break; case "RENAME": lblType.Text = "Group Rename"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); panID.Visible = true; txtID.Text = dsParameters.Tables[0].Rows[0]["value"].ToString(); break; case "CHANGE": lblType.Text = "Group Properties Change"; sb.Append("<tr><td><b>Group:</b></td><td>"); sb.Append(ds.Tables[0].Rows[0]["name"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>Domain:</b></td><td>"); sb.Append(oDomain.Get(Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()), "name")); sb.Append("</td>"); sb.Append("<tr><td><b>New Scope:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[0]["value"].ToString()); sb.Append("</td>"); sb.Append("<tr><td><b>New Type:</b></td><td>"); sb.Append(dsParameters.Tables[0].Rows[1]["value"].ToString()); sb.Append("</td>"); break; default: lblType.Text = "Unavailable"; sb.Append("<tr><td colspan=\"2\"><b>Invalid Maintenance Code!</b></td>"); break; } strDetails = sb.ToString(); panWorkload.Visible = true; } else { panDenied.Visible = true; } } else { panDenied.Visible = true; } } else { panDenied.Visible = true; } } } else { panDenied.Visible = true; } btnDenied.Attributes.Add("onclick", "return CloseWindow();"); oFunction.ConfigureToolButton(btnApprove, "/images/tool_approve"); oFunction.ConfigureToolButton(btnDeny, "/images/tool_deny"); if (boolIncomplete == true) { btnApprove.Attributes.Add("onclick", "return " + strAttributes + "confirm('Are you sure you want to APPROVE this request?');"); btnDeny.Attributes.Add("onclick", "return ValidateText('" + txtComments.ClientID + "','Please enter a reason') && confirm('Are you sure you want to DENY this request?');"); } else { btnApprove.Attributes.Add("onclick", "alert('This request has already been completed.\\n\\nIf this request continues to appear in your work queue, please contact a ClearView administrator.');return false;"); btnDeny.Attributes.Add("onclick", "alert('This request has already been completed.\\n\\nIf this request continues to appear in your work queue, please contact a ClearView administrator.');return false;"); } oFunction.ConfigureToolButton(btnPrint, "/images/tool_print"); btnPrint.Attributes.Add("onclick", "return PrintWindow();"); oFunction.ConfigureToolButton(btnClose, "/images/tool_close"); btnClose.Attributes.Add("onclick", "return ExitWindow();"); // 6/1/2009 - Load ReadOnly View if (oResourceRequest.CanUpdate(intProfile, intResourceWorkflow, false) == false) { oFunction.ConfigureToolButtonRO(btnApprove, btnDeny); //panDenied.Visible = true; } } else { panDenied.Visible = true; } }
protected void btnApprove_Click(Object Sender, EventArgs e) { oResourceRequest.UpdateWorkflowHours(intResourceWorkflow); DataSet ds = oGroupRequest.GetMaintenance(intRequest, intItem, intNumber); int intUser = oRequest.GetUser(intRequest); DataSet dsParameters = oGroupRequest.GetMaintenanceParameters(intRequest, intItem, intNumber); string strMaintenance = ds.Tables[0].Rows[0]["maintenance"].ToString(); string strGroup = ds.Tables[0].Rows[0]["name"].ToString(); int intDomain = Int32.Parse(ds.Tables[0].Rows[0]["domain"].ToString()); Domains oDomain = new Domains(intProfile, dsn); intDomain = Int32.Parse(oDomain.Get(intDomain, "environment")); AD oAD = new AD(intProfile, dsn, intDomain); Variables oVariable = new Variables(intDomain); DirectoryEntry oEntry = oAD.GroupSearch(strGroup); if (oEntry != null) { switch (strMaintenance) { case "MOVE": // Group Move string strPath = dsParameters.Tables[0].Rows[0]["value"].ToString(); oRequest.AddResult(intRequest, intItem, intNumber, "Group Move", oAD.MoveGroup(oEntry, strPath), "Group " + strGroup + " was successfully moved", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); break; case "COPY": // Group Copy string strID = txtID.Text; string strScope2 = dsParameters.Tables[0].Rows[1]["value"].ToString(); if (strScope2 == "Domain Local") { strScope2 = "DLG"; } if (strScope2 == "Global") { strScope2 = "GG"; } if (strScope2 == "Universal") { strScope2 = "UG"; } string strType2 = dsParameters.Tables[0].Rows[2]["value"].ToString(); if (strType2 == "Security") { strType2 = "S"; } if (strType2 == "Distribution") { strType2 = "D"; } oRequest.AddResult(intRequest, intItem, intNumber, "Group Copy", oAD.CreateGroup(strID, "", "Created by ClearView - " + DateTime.Now.ToShortDateString(), oVariable.GroupOU(), strScope2, strType2), "Group " + strGroup + " was successfully copied", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); foreach (ListItem oList in chkUsers.Items) { if (oList.Selected == true) { oRequest.AddResult(intRequest, intItem, intNumber, "Group Membership", oAD.JoinGroup(oList.Value, strID, 0), "Account " + oList.Value + " was successfully added to the group " + strGroup, intEnvironment, (oService.Get(intService, "notify_client") == "1"), ""); } } break; case "DELETE": // Group Deletion oRequest.AddResult(intRequest, intItem, intNumber, "Group Deletion", oAD.Delete(oEntry), "Group " + strGroup + " was successfully deleted", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); break; case "RENAME": // Group Rename string strI = txtID.Text; oRequest.AddResult(intRequest, intItem, intNumber, "Group Rename", oAD.Rename(oEntry, strI, "", ""), "Group " + strGroup + " was successfully renamed", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); break; case "CHANGE": // Group Change string strScope3 = dsParameters.Tables[0].Rows[0]["value"].ToString(); if (strScope3 == "Domain Local") { strScope3 = "DLG"; } if (strScope3 == "Global") { strScope3 = "GG"; } if (strScope3 == "Universal") { strScope3 = "UG"; } string strType3 = dsParameters.Tables[0].Rows[1]["value"].ToString(); if (strType3 == "Security") { strType3 = "S"; } if (strType3 == "Distribution") { strType3 = "D"; } oRequest.AddResult(intRequest, intItem, intNumber, "Group Change", oAD.Change(oEntry, strScope3, strType3), "Group " + strGroup + " was successfully changed", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); break; } } else if (strMaintenance == "CREATE") { // Group Creation string strScope1 = dsParameters.Tables[0].Rows[0]["value"].ToString(); if (strScope1 == "Domain Local") { strScope1 = "DLG"; } if (strScope1 == "Global") { strScope1 = "GG"; } if (strScope1 == "Universal") { strScope1 = "UG"; } string strType1 = dsParameters.Tables[0].Rows[1]["value"].ToString(); if (strType1 == "Security") { strType1 = "S"; } if (strType1 == "Distribution") { strType1 = "D"; } oRequest.AddResult(intRequest, intItem, intNumber, "Group Creation", oAD.CreateGroup(txtID.Text, "", "Created by ClearView - " + DateTime.Now.ToShortDateString(), oVariable.GroupOU(), strScope1, strType1), "Group " + strGroup + " was successfully created", intEnvironment, (oService.Get(intService, "notify_client") == "1"), oUser.GetName(intUser)); } oGroupRequest.UpdateMaintenance(intRequest, intItem, intNumber, 1, txtComments.Text); Complete(); }