protected void btnApprove_Click(Object Sender, EventArgs e) { if (Request.QueryString["rrid"] != null) { // Approved; Send to team lead for assignment int intResource = Int32.Parse(Request.QueryString["rrid"]); int intRequest = Int32.Parse(oResourceRequest.Get(intResource, "requestid")); int intService = Int32.Parse(oResourceRequest.Get(intResource, "serviceid")); int intNumber = Int32.Parse(oResourceRequest.Get(intResource, "number")); string strCVT = "CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString(); int ApprovalID = 0; DataSet dsApproval = oResourceRequest.GetApprovals(intRequest, intService, intNumber); foreach (DataRow drApproval in dsApproval.Tables[0].Rows) { if (Int32.Parse(drApproval["userid"].ToString()) == intProfile) { if (String.IsNullOrEmpty(drApproval["approved"].ToString()) == false || String.IsNullOrEmpty(drApproval["denied"].ToString()) == false) { ApprovalID = Int32.Parse(drApproval["id"].ToString()); break; } } } if (ApprovalID == 0) { oLog.AddEvent(intRequest.ToString(), strCVT, "Not already approved for user " + oUser.GetName(intProfile), LoggingType.Debug); oResourceRequest.UpdateStatusOverall(intResource, 2); if (oResourceRequest.Get(intResource, "platform_approval") == "0") { // Platform Approve oResourceRequest.ApprovePlatform(intResource, 1); SendEmail(intRequest, true, "PLATFORM", txtReason.Text); oLog.AddEvent(intRequest.ToString(), strCVT, "User " + oUser.GetName(intProfile) + " approved PLATFORM", LoggingType.Debug); } else if (oService.GetSelected(intRequest, intService, intNumber, "approved") == "0") { // Service Manager Approve oService.UpdateSelectedApprove(intRequest, intService, intNumber, 1, intProfile, DateTime.Now, ""); SendEmail(intRequest, true, "SERVICE MANAGER", txtReason.Text); oLog.AddEvent(intRequest.ToString(), strCVT, "User " + oUser.GetName(intProfile) + " approved SERVICE MANAGER", LoggingType.Debug); } else { oResourceRequest.UpdateApproval(intRequest, intService, intNumber, intProfile, txtReason.Text, DateTime.Now.ToString(), ""); SendEmail(intRequest, true, "3RD PARTY APPROVER", txtReason.Text); oLog.AddEvent(intRequest.ToString(), strCVT, "User " + oUser.GetName(intProfile) + " approved 3RD PARTY APPROVER", LoggingType.Debug); } int intItem = Int32.Parse(oResourceRequest.Get(intResource, "itemid")); if (oServiceRequest.NotifyApproval(intResource, intResourceRequestApprove, intEnvironment, "", dsnServiceEditor) == false) { oServiceRequest.NotifyTeamLead(intItem, intResource, intAssignPage, intViewPage, intEnvironment, "", dsnServiceEditor, dsnAsset, dsnIP, 0); } } else { oLog.AddEvent(intRequest.ToString(), strCVT, "Already approved for user " + oUser.GetName(intProfile), LoggingType.Debug); } } if (Request.QueryString["srid"] != null) { // Approved; Permit submission int intServiceSelectedID = Int32.Parse(Request.QueryString["srid"]); DataSet dsServiceSelected = oService.GetSelectedById(intServiceSelectedID); DataRow drServiceSelected = dsServiceSelected.Tables[0].Rows[0]; int intRequest = Int32.Parse(drServiceSelected["requestid"].ToString()); int intService = Int32.Parse(drServiceSelected["serviceid"].ToString()); int intItem = oService.GetItemId(intService); int intNumber = Int32.Parse(drServiceSelected["number"].ToString()); string strCVT = "CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString(); oService.UpdateSelectedApprove(intRequest, intService, intNumber, 1, intProfile, DateTime.Now, ""); SendEmail(intRequest, true, "SERVICE MANAGER", txtReason.Text); oLog.AddEvent(intRequest.ToString(), strCVT, "User " + oUser.GetName(intProfile) + " approved SERVICE MANAGER", LoggingType.Debug); // Kick off any automated processing... Workstations oWorkstation = new Workstations(intProfile, dsn); oWorkstation.ExecuteVMware(intRequest); } if (Request.QueryString["rid"] != null) { // Manager Approve int intRequest = Int32.Parse(Request.QueryString["rid"]); oServiceRequest.UpdateApproval(intRequest, 1); oResourceRequest.UpdateStatusRequest(intRequest, 2); SendEmail(intRequest, true, "MANAGER", txtReason.Text); DataSet dsForm = oRequestItem.GetForms(intRequest); foreach (DataRow drForm in dsForm.Tables[0].Rows) { int intService = 0; Int32.TryParse(drForm["serviceid"].ToString(), out intService); int intNumber = 0; Int32.TryParse(drForm["number"].ToString(), out intNumber); if (intService > 0 && intNumber > 0) { if (oServiceRequest.NotifyApproval(intRequest, intService, intNumber, intResourceRequestApprove, intEnvironment, "", dsnServiceEditor) == false) { // Send to Team Lead for assignment ds = oResourceRequest.GetUnAssigned(intRequest, 0); foreach (DataRow dr in ds.Tables[0].Rows) { int intItem = Int32.Parse(dr["itemid"].ToString()); oServiceRequest.NotifyTeamLead(intItem, Int32.Parse(dr["id"].ToString()), intAssignPage, intViewPage, intEnvironment, "", dsnServiceEditor, dsnAsset, dsnIP, 0); } } } } } Response.Redirect(oPage.GetFullLink(intPage) + "?action=finish"); }