Beispiel #1
0
        public string LoadCheckboxes(int _requestid, int _itemid, int _number, int _resourceid, int _serviceid)
        {
            ResourceRequest oResourceRequest = new ResourceRequest(user, dsn);
            DataSet         dsWF             = oResourceRequest.GetRequestService(_requestid, _serviceid, _number);
            bool            boolDone         = false;

            if (dsWF.Tables[0].Rows.Count > 0)
            {
                int intStatus = 0;
                Int32.TryParse(dsWF.Tables[0].Rows[0]["status"].ToString(), out intStatus);
                boolDone = (intStatus == 3 || dsWF.Tables[0].Rows[0]["completed"].ToString() != "");
            }
            StringBuilder sbReturn = new StringBuilder();
            DataSet       ds       = Gets(_serviceid, 0, 1);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                int intID = Int32.Parse(dr["id"].ToString());
                if (dr["checkbox"].ToString() == "1")
                {
                    int intValue = oResourceRequest.GetDetailValue(_requestid, _itemid, _number, (oResourceRequest.GetWorkflow(_resourceid, "joined") == "1" ? 0 : _resourceid), intID);
                    if (intValue == -1)
                    {
                        intValue = 0;
                        oResourceRequest.AddDetails(_requestid, _itemid, _number, (oResourceRequest.GetWorkflow(_resourceid, "joined") == "1" ? 0 : _resourceid), intID, intValue);
                    }
                    sbReturn.Append("<tr><td><table id=\"chkTaskList" + _resourceid.ToString() + "\" cellpadding=\"2\" cellspacing=\"1\" border=\"0\"><tr><td valign=\"top\"><input id=\"chkDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("\" type=\"checkbox\" name=\"chkDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("\" onclick=\"UpdateRRCheckDetail('hdnDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("', this);\"");
                    sbReturn.Append(intValue == 1 || boolDone ? " checked" : "");
                    sbReturn.Append(" /></td><td><label for=\"chkDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("\">");
                    sbReturn.Append(dr["name"].ToString());
                    sbReturn.Append("</label><input type=\"hidden\" name=\"hdnDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("\" id=\"hdnDetail_");
                    sbReturn.Append(intID.ToString());
                    sbReturn.Append("\" value=\"");
                    sbReturn.Append(intValue.ToString());
                    sbReturn.Append("\" /></td></tr></table></td></tr>");
                }
            }
            if (sbReturn.ToString() != "")
            {
                sbReturn.Insert(0, "<table cellpadding=\"2\" cellspacing=\"1\" border=\"0\">");
                sbReturn.Append("</table>");
            }
            return(sbReturn.ToString());
        }
Beispiel #2
0
        private void CompletedWorkflow()
        {
            int intResourceWorkflow = Int32.Parse(lblResourceWorkflow.Text);
            int intResourceParent   = oResourceRequest.GetWorkflowParent(intResourceWorkflow);

            double dblAllocated = double.Parse(oResourceRequest.GetWorkflow(intResourceWorkflow, "allocated"));

            oResourceRequest.UpdateWorkflowHoursOverwrite(intResourceWorkflow, dblAllocated);

            // Add a green / completed status if there are no updates, OR the last status is not green
            DataSet dsStatus = oResourceRequest.GetStatuss(intResourceWorkflow);

            if (dsStatus.Tables[0].Rows.Count == 0 || dsStatus.Tables[0].Rows[0]["status"].ToString() != "3")
            {
                oResourceRequest.AddStatus(intResourceWorkflow, 3, "Completed", intProfile);
            }
            oResourceRequest.UpdateWorkflowStatus(intResourceWorkflow, 3, true);
            oResourceRequest.CloseWorkflow(intResourceWorkflow, intEnvironment, 0, dsnServiceEditor, true, intResourceRequestApprove, intAssignPage, intViewPage, dsnAsset, dsnIP);

            //update Procurement Details Initiate new Services or Complete Request
            UpdateProcurementDetails();

            //Asset Order => Initiate New Service Or Complete Request
            oAssetOrder.InitiateNextServiceRequestOrCompleteRequest(Int32.Parse(hdnOrderId.Value), intNumber, intService, false, dsnServiceEditor, intAssignPage, intViewPage, dsnAsset, dsnIP);

            //If this service was returned then update the status of next service
            if (boolServiceReturned == true)
            {
                DataSet dsRR = oResourceRequest.GetRequestService(intRequest, intService, intNumber);
                if (dsRR.Tables[0].Rows.Count > 0)
                {
                    int intRRId = Int32.Parse(dsRR.Tables[0].Rows[0]["parent"].ToString());

                    DataSet dsRRReturn = oResourceRequest.getResourceRequestReturn(intRRId, intService, intNumber, 1, 0);
                    if (dsRRReturn.Tables[0].Rows.Count > 0)
                    {
                        int intNextRRId      = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextRRId"].ToString());
                        int intNextServiceId = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextServiceId"].ToString());
                        int intNextNumber    = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextNumber"].ToString());;


                        oResourceRequest.UpdateStatusRequest(intNextRRId, 2);
                        DataSet dsRRWF = oResourceRequest.GetWorkflowsParent(intNextRRId);
                        foreach (DataRow dr in dsRRWF.Tables[0].Rows)
                        {
                            int intRRWFId = Int32.Parse(dr["id"].ToString());
                            oResourceRequest.UpdateWorkflowStatus(intRRWFId, 2, true);
                        }
                    }
                }
                oResourceRequest.updateResourceRequestReturnCompleted(Int32.Parse(lblReqReturnedId.Text));
            }
            Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "reload", "<script type=\"text/javascript\">RefreshOpeningWindow();window.close();<" + "/" + "script>");
        }
Beispiel #3
0
        private void Save(int intRequest)
        {
            int intItem    = Int32.Parse(lblItem.Text);
            int intNumber  = Int32.Parse(lblNumber.Text);
            int intService = Int32.Parse(lblService.Text);
            int intProject = oRequest.GetProjectNumber(intRequest);

            //if (intProject == -1)
            //    oServiceRequest.Update(intRequest, txtTitle.Text);
            oServiceEditor.AddRequest(intRequest, intService, intNumber, txtTitle.Text, Int32.Parse(radPriority.SelectedItem.Value), txtStatement.Text, DateTime.Now, DateTime.Now, (radExpediteYes.Checked ? 1 : 0));
            oServiceEditor.SaveForm(Request, intRequest, intService, intNumber, false, intEnvironment, dsn);

            //Reset the Resource Request and Workflow status for returned requests
            if (boolReqReturned == true)
            {
                int intReturned = 0;
                Int32.TryParse(lblReturned.Text, out intReturned);
                ResourceRequest oResourceRequest = new ResourceRequest(0, dsn);
                DataSet         dsRR             = oResourceRequest.GetRequestService(intRequest, intReturned, Int32.Parse(lblNumber.Text));
                if (dsRR.Tables[0].Rows.Count > 0)
                {
                    int intRRId = Int32.Parse(dsRR.Tables[0].Rows[0]["parent"].ToString());
                    oResourceRequest.updateResourceRequestReturnCompleted(Int32.Parse(lblReqReturnedId.Text));
                    DataSet dsRRWF = oResourceRequest.GetWorkflowsParent(intRRId);
                    oResourceRequest.UpdateStatusRequest(intRRId, 2);
                    foreach (DataRow dr in dsRRWF.Tables[0].Rows)
                    {
                        int intRRWFId = Int32.Parse(dr["id"].ToString());
                        oResourceRequest.UpdateWorkflowStatus(intRRWFId, 2, true);
                    }
                }
            }
            //Reset the Resource Request and approval process for denied requests
            if (boolReqDenied == true)
            {
                ResourceRequest oResourceRequest = new ResourceRequest(0, dsn);
                DataSet         dsResource       = oResourceRequest.GetAllService(intRequest, intService, Int32.Parse(lblNumber.Text));
                if (dsResource.Tables[0].Rows.Count > 0)
                {
                    int     intResource = Int32.Parse(dsResource.Tables[0].Rows[0]["rrid"].ToString());
                    DataSet dsRR        = oResourceRequest.Get(intResource);
                    if (dsRR.Tables[0].Rows.Count > 0)
                    {
                        oResourceRequest.UpdateStatusOverall(intResource, 2);
                        oService.UpdateSelectedApprove(intRequest, intService, Int32.Parse(lblNumber.Text), 0, 0, DateTime.Now, "");
                        if (oServiceRequest.NotifyApproval(intResource, intResourceRequestApprove, intEnvironment, "", dsnServiceEditor) == false)
                        {
                            oServiceRequest.NotifyTeamLead(intItem, intResource, intAssignPage, intViewPage, intEnvironment, "", dsnServiceEditor, dsnAsset, dsnIP, 0);
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public string GetBody(int _requestid, int _itemid, int _number, int _serviceid, int _rrid, int _rr_workflowid, string _se_dsn, int _environment, string _dsn_asset, string _dsn_ip)
        {
            string              strView              = "";
            Applications        oApplication         = new Applications(user, dsn);
            RequestItems        oRequestItem         = new RequestItems(user, dsn);
            ResourceRequest     oResourceRequest     = new ResourceRequest(user, dsn);
            Users               oUser                = new Users(user, dsn);
            Services            oService             = new Services(user, dsn);
            Variables           oVariable            = new Variables(_environment);
            Functions           oFunction            = new Functions(0, dsn, _environment);
            Requests            oRequest             = new Requests(user, dsn);
            Projects            oProject             = new Projects(user, dsn);
            ServiceRequests     oServiceRequest      = new ServiceRequests(user, dsn);
            ServiceEditor       oServiceEditor       = new ServiceEditor(user, _se_dsn);
            Servers             oServer              = new Servers(user, dsn);
            Workstations        oWorkstation         = new Workstations(user, dsn);
            AssetOrder          oAssetOrder          = new AssetOrder(user, dsn, _dsn_asset, _environment);
            AssetSharedEnvOrder oAssetSharedEnvOrder = new AssetSharedEnvOrder(user, dsn, _dsn_asset, _environment);
            PNCTasks            oPNCTask             = new PNCTasks(user, dsn);
            TSM          oTSM         = new TSM(user, dsn);
            StatusLevels oStatusLevel = new StatusLevels();

            DataSet dsRR = oResourceRequest.GetRequestService(_requestid, _serviceid, _number);

            if (dsRR.Tables[0].Rows.Count > 0)
            {
                if (_rrid == 0)
                {
                    Int32.TryParse(dsRR.Tables[0].Rows[0]["parent"].ToString(), out _rrid);
                }
                if (_rr_workflowid == 0)
                {
                    Int32.TryParse(dsRR.Tables[0].Rows[0]["id"].ToString(), out _rr_workflowid);
                }
            }

            // Workflow
            string strWorkflowName = "";
            int    intProject      = oRequest.GetProjectNumber(_requestid);

            if (intProject > 0)
            {
                strView += "<tr><td valign=\"top\"><b>Project Name:</b></td>";
                strView += "<td colspan=\"40\">" + oProject.Get(intProject, "name") + "</td></tr>";
                strView += "<tr><td valign=\"top\"><b>Project Number:</b></td>";
                strView += "<td>" + "<a href=\"" + oRequest.GetDataPointLink(_requestid, _environment) + "\" target=\"_blank\">" + oProject.Get(intProject, "number") + "</a></td></tr>";
            }
            else
            {
                string strTaskName = "N/A";
                if (_rr_workflowid > 0)
                {
                    strTaskName = oResourceRequest.GetWorkflow(_rr_workflowid, "name").Trim();
                }
                if ((strTaskName == "" || strTaskName == "N/A") && _rrid > 0)
                {
                    strTaskName = oResourceRequest.Get(_rrid, "name").Trim();
                }
                if ((strTaskName == "" || strTaskName == "N/A") && _requestid > 0)
                {
                    strTaskName = oServiceRequest.Get(_requestid, "name").Trim();
                }
                strView += "<tr><td valign=\"top\"><b>Task Name:</b></td>";
                strView += "<td colspan=\"40\">" + strTaskName + "</td></tr>";
            }
            strView += "<tr><td valign=\"top\"><b>Task Number:</b></td>";
            strView += "<td>" + "<a href=\"javascript:void(0);\" class=\"lookup\" onclick=\"OpenNewWindowMenu('/datapoint/service/resource.aspx?id=" + oFunction.encryptQueryString(_rrid.ToString()) + "', '800', '600');\">CVT" + _requestid.ToString() + "-" + _serviceid.ToString() + "-" + _number.ToString() + "</a></td></tr>";
            //strWorkflowName += "<td>" + "<a href=\"javascript:void(0);\" class=\"lookup\" onclick=\"OpenNewWindowMenu('" + oRequest.GetDataPointLink(_requestid, _environment) + "', '800', '600');\">CVT" + _requestid.ToString() + "</a></td>";

            string strWorkflowRequested  = "";
            string strWorkflowCreated    = "";
            string strWorkflowService    = "";
            string strWorkflowDepartment = "";
            string strWorkflowResources  = "";
            string strWorkflowStatus     = "";
            string strWorkflowComments   = "";
            int    intStatus             = 0;

            // Requested
            strWorkflowRequested += "<td valign=\"top\"><b>Requested By:</b></td>";
            int intRequestor        = oRequest.GetUser(_requestid);
            int intRequestorManager = 0;

            Int32.TryParse(oUser.Get(intRequestor, "manager"), out intRequestorManager);
            Int32.TryParse(oResourceRequest.Get(_rrid, "status"), out intStatus);
            strWorkflowRequested += "<td>" + oUser.GetFullName(intRequestor) + " (" + oUser.GetName(intRequestor) + ")" + "</td>";
            strWorkflowCreated   += "<td valign=\"top\"><b>Created On:</b></td>";
            if (_rrid > 0)
            {
                strWorkflowCreated += "<td>" + DateTime.Parse(oResourceRequest.Get(_rrid, "created")).ToLongDateString() + "</td>";
            }
            else
            {
                strWorkflowCreated += "<td>" + DateTime.Parse(oRequest.Get(_requestid, "created")).ToLongDateString() + "</td>";
            }
            // Service
            strWorkflowService += "<td valign=\"top\"><b>Service:</b></td>";
            if (_serviceid == 0)
            {
                strWorkflowService += "<td>" + oRequestItem.GetItem(_itemid, "service_title") + "</td>";
            }
            else
            {
                strWorkflowService += "<td>" + oService.GetName(_serviceid) + "</td>";
            }
            // Department
            strWorkflowDepartment += "<td valign=\"top\"><b>Department:</b></td>";
            strWorkflowDepartment += "<td>" + oApplication.Get(oRequestItem.GetItemApplication(_itemid), "service_title") + "</td>";
            // Resources
            string  strApprovers = "";
            DataSet dsApprovals  = oResourceRequest.GetApprovals(_requestid, _serviceid, _number);

            foreach (DataRow drApprover in dsApprovals.Tables[0].Rows)
            {
                int intApprover = Int32.Parse(drApprover["userid"].ToString());
                if (drApprover["approved"].ToString() == "" && drApprover["denied"].ToString() == "")
                {
                    if (strApprovers != "")
                    {
                        strApprovers += "\\n";
                    }
                    strApprovers += oUser.GetFullName(intApprover) + " (" + oUser.GetName(intApprover) + ")";
                }
            }
            bool boolAutomated = (oService.Get(_serviceid, "automate") == "1");

            if (boolAutomated == false)
            {
                DataSet dsReqForm = oRequestItem.GetForm(_requestid, _serviceid, _itemid, _number);
                if (dsReqForm.Tables[0].Rows.Count > 0)
                {
                    boolAutomated = (dsReqForm.Tables[0].Rows[0]["automated"].ToString() == "1" ? true : false);
                }
            }
            strWorkflowResources += "<td valign=\"top\"><b>Assigned:</b></td>";
            strWorkflowStatus    += "<td><b>Status:</b></td>";
            if (boolAutomated == true)
            {
                strWorkflowResources += "<td valign=\"top\">---</td>";
                intStatus             = (int)ResourceRequestStatus.NotAvailable; // Set to N/A since it is automated...
                strWorkflowStatus    += "<td>" + oStatusLevel.HTML(intStatus) + "</td>";
            }
            else
            {
                List <WorkflowStatus> RR = oResourceRequest.GetStatus(null, _rrid, null, null, null, null, false, _se_dsn);
                if (RR.Count > 0)
                {
                    StringBuilder strUsers = new StringBuilder();
                    foreach (string strUser in RR[0].users)
                    {
                        if (String.IsNullOrEmpty(strUser) == false)
                        {
                            strUsers.Append(strUser);
                            strUsers.AppendLine("<br/>");
                        }
                    }
                    strWorkflowResources += "<td valign=\"top\">" + strUsers.ToString() + "</td>";
                    strWorkflowStatus    += "<td>" + RR[0].status + "</td>";
                    if (String.IsNullOrEmpty(RR[0].comments) == false)
                    {
                        strWorkflowComments += "<td valign=\"top\"><b>Comments:</b></td>";
                        strWorkflowComments += "<td valign=\"top\">" + oFunction.FormatText(RR[0].comments) + "</td>";
                    }
                }
                else
                {
                    strWorkflowResources += "<td valign=\"top\"> N / A </td>";
                    strWorkflowStatus    += "<td> N / A </td>";
                }
            }
            strView += "<tr>" + strWorkflowRequested + "</tr><tr>" + strWorkflowCreated + "</tr><tr>" + strWorkflowService + "</tr><tr>" + strWorkflowDepartment + "</tr>" + "<tr>" + strWorkflowStatus + "</tr>" + (strWorkflowResources == "" ? "" : "<tr>" + strWorkflowResources + "</tr>") + (strWorkflowComments == "" ? "" : "<tr>" + strWorkflowComments + "</tr>");

            if (strView == "")
            {
                strView = "Information Unavailable";
            }
            else
            {
                strView = "<table cellpadding=\"3\" cellspacing=\"2\" border=\"0\" style=\"" + oVariable.DefaultFontStyle() + "\">" + strView + "</table>";
                StringBuilder      sbViewRequest       = new StringBuilder();
                Customized         oCustomized         = new Customized(user, dsn);
                DNS                oDNS                = new DNS(user, dsn);
                OnDemandTasks      oOnDemandTask       = new OnDemandTasks(user, dsn);
                Reports            oReport             = new Reports(user, dsn);
                Audit              oAudit              = new Audit(user, dsn);
                Enhancements       oEnhancement        = new Enhancements(user, dsn);
                ServerDecommission oServerDecommission = new ServerDecommission(0, dsn);
                Storage            oStorage            = new Storage(0, dsn);

                string strCatch = "1";
                try
                {
                    sbViewRequest.Append(oServiceEditor.GetRequestBody(_requestid, _serviceid, _number, dsn));
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "2";
                        sbViewRequest.Append(oCustomized.GetPNCDNSConflictBody(_requestid, _itemid, _number));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "3";
                        sbViewRequest.Append(oCustomized.GetStorage3rdBody(_requestid, _itemid, _number, _environment));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "4";
                        sbViewRequest.Append(oOnDemandTask.GetServerOther(_requestid, _serviceid, _number, _environment, _dsn_asset, _dsn_ip));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "5";
                        sbViewRequest.Append(GetBody(oReport.GetOrderReport(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "6";
                        sbViewRequest.Append(oServerDecommission.GetBody(_requestid, _number, _dsn_asset, _environment));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "7";
                        sbViewRequest.Append(oCustomized.GetDecommissionServerBody(_requestid, _itemid, _number, _dsn_asset));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "7.1";
                        sbViewRequest.Append(oWorkstation.GetApprovalSummary(_requestid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "8";
                        int intEnhancementID = oCustomized.GetEnhancementID(_requestid);
                        if (intEnhancementID > 0)
                        {
                            sbViewRequest.Append("<tr><td>");
                            sbViewRequest.Append(oCustomized.GetEnhancementBody(intEnhancementID, _environment, false));
                            sbViewRequest.Append("</td></tr>");
                        }
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "9";
                        int intIssueID = oCustomized.GetIssueID(_requestid);
                        if (intIssueID > 0)
                        {
                            sbViewRequest.Append("<tr><td>");
                            sbViewRequest.Append(oCustomized.GetIssueBody(intIssueID, _environment, false));
                            sbViewRequest.Append("</td></tr>");
                        }
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "10";
                        sbViewRequest.Append(GetBody(oCustomized.GetIIS(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "11";
                        sbViewRequest.Append(GetBody(oCustomized.GetRemediation(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "12";
                        sbViewRequest.Append(GetBody(oCustomized.GetServerArchive(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "13";
                        sbViewRequest.Append(GetBody(oCustomized.GetServerRetrieve(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "14";
                        sbViewRequest.Append(GetBody(oCustomized.GetTPM(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "15";
                        sbViewRequest.Append(GetBody(oCustomized.GetWorkstation(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "16";
                        sbViewRequest.Append(GetBody(oCustomized.GetThirdTierDistributed(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "17";
                        sbViewRequest.Append(GetBody(oCustomized.GetGeneric(_requestid, _itemid, _number), _serviceid));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "18";
                        sbViewRequest.Append(oDNS.GetDNSBody(_requestid, _itemid, _number, false, _environment));
                    }
                    if (sbViewRequest.ToString() == "")
                    {
                        strCatch = "19";
                        sbViewRequest.Append(oAudit.GetErrorBody(_requestid, _serviceid, _number));
                    }

                    if (sbViewRequest.ToString() == "")//Server Error Provisioning Support
                    {
                        strCatch = "20";
                        sbViewRequest.Append(oServer.GetErrorDetailsBody(_requestid, _itemid, _number, _environment));
                    }

                    if (sbViewRequest.ToString() == "") //Workstation Error Provisioning Support
                    {
                        strCatch = "21";
                        sbViewRequest.Append(oWorkstation.GetVirtualErrorDetailsBody(_requestid, _number, _environment));
                    }

                    if (sbViewRequest.ToString() == "") //Asset Procurement
                    {
                        strCatch = "22";
                        sbViewRequest.Append(oAssetOrder.GetOrderBody(_requestid, _itemid, _number));
                    }

                    if (sbViewRequest.ToString() == "") //Shared Environement - IM
                    {
                        strCatch = "23";
                        sbViewRequest.Append(oAssetSharedEnvOrder.GetOrderBody(_requestid, _itemid, _number));
                    }

                    if (sbViewRequest.ToString() == "") //Backup
                    {
                        strCatch = "24";
                        sbViewRequest.Append(oTSM.GetBody(_requestid, _itemid, _number, _dsn_asset, _dsn_ip));
                    }

                    if (sbViewRequest.ToString() == "") // New Enhancement
                    {
                        strCatch = "25";
                        sbViewRequest.Append(oEnhancement.GetBodyRequest(_requestid, _environment));
                    }

                    if (sbViewRequest.ToString() == "") // New Enhancement
                    {
                        strCatch = "26";
                        sbViewRequest.Append(oStorage.GetBody(_requestid, _itemid, _number, _dsn_asset, _dsn_ip, _environment, false));
                    }


                    if (sbViewRequest.ToString() == "")
                    {
                        //strViewRequest = "Information Unavailable";
                        sbViewRequest.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
                    }
                    else
                    {
                        if (sbViewRequest.ToString().Trim().StartsWith("<table") == false)
                        {
                            sbViewRequest.Insert(0, "<table cellpadding=\"3\" cellspacing=\"2\" border=\"0\" style=\"" + oVariable.DefaultFontStyle() + "\">");
                            sbViewRequest.Append("</table>");
                        }
                    }
                }
                catch
                {
                    sbViewRequest = new StringBuilder("&nbsp;&nbsp;** WARNING: Information Unavailable (# " + strCatch + ") **&nbsp;&nbsp;");
                }
                sbViewRequest.Insert(0, "<table cellpadding=\"3\" cellspacing=\"2\" border=\"0\" style=\"" + oVariable.DefaultFontStyle() + "\"><tr><td>");
                sbViewRequest.Append("</td></tr></table>");
                strView += "<br/>" + sbViewRequest.ToString();
            }
            return(strView);
        }
        protected void btnComplete_Click(Object Sender, EventArgs e)
        {
            int intResourceWorkflow = Int32.Parse(lblResourceWorkflow.Text);
            int intResourceParent   = oResourceRequest.GetWorkflowParent(intResourceWorkflow);
            //oResourceRequest.UpdateWorkflowStatus(intResourceWorkflow, 3, true);
            //oResourceRequest.CloseWorkflow(intResourceWorkflow, intEnvironment, strBCC, 0, dsnServiceEditor, true, intResourceRequestApprove, intAssignPage, intViewPage, dsnAsset, dsnIP);

            int     intAnswer = 0;
            int     intModel  = 0;
            DataSet ds        = oOnDemandTasks.GetServerOther(intRequest, intService, intNumber);

            if (ds.Tables[0].Rows.Count > 0)
            {
                intAnswer = Int32.Parse(ds.Tables[0].Rows[0]["answerid"].ToString());
                intModel  = Int32.Parse(ds.Tables[0].Rows[0]["modelid"].ToString());
            }

            bool boolComplete = true;

            //Check for all the service are complete and kick of the other services
            int     intService1 = 0;
            DataSet dsRR;

            intService1 = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_SAV_ESM"]);
            dsRR        = oResourceRequest.GetRequestService(intRequest, intService1, intNumber);
            if (dsRR.Tables[0].Rows.Count > 0)
            {
                int intStatus = Int32.Parse(dsRR.Tables[0].Rows[0]["status"].ToString());
                if (intStatus != 3)
                {
                    boolComplete = false;
                }
            }

            intService1 = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_HIDS"]);
            dsRR        = oResourceRequest.GetRequestService(intRequest, intService1, intNumber);

            if (dsRR.Tables[0].Rows.Count > 0)
            {
                int intStatus = Int32.Parse(dsRR.Tables[0].Rows[0]["status"].ToString());
                if (intStatus != 3)
                {
                    boolComplete = false;
                }
            }


            intService1 = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_ECM"]);
            dsRR        = oResourceRequest.GetRequestService(intRequest, intService1, intNumber);
            if (dsRR.Tables[0].Rows.Count > 0)
            {
                int intStatus = Int32.Parse(dsRR.Tables[0].Rows[0]["status"].ToString());
                if (intStatus != 3)
                {
                    boolComplete = false;
                }
            }


            intService1 = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_NETIQ"]);
            dsRR        = oResourceRequest.GetRequestService(intRequest, intService1, intNumber);
            if (dsRR.Tables[0].Rows.Count > 0)
            {
                int intStatus = Int32.Parse(dsRR.Tables[0].Rows[0]["status"].ToString());
                if (intStatus != 3)
                {
                    boolComplete = false;
                }
            }


            intService1 = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_AUDIT"]);
            dsRR        = oResourceRequest.GetRequestService(intRequest, intService1, intNumber);
            if (dsRR.Tables[0].Rows.Count > 0)
            {
                int intStatus = Int32.Parse(dsRR.Tables[0].Rows[0]["status"].ToString());
                if (intStatus != 3)
                {
                    boolComplete = false;
                }
            }


            if (boolComplete == true)
            {
                // Send next 3 services

                Forecast oForecast = new Forecast(0, dsn);

                bool boolCluster = false;

                if (oForecast.IsHACluster(intAnswer) == true)
                {
                    boolCluster = true;
                }

                if (boolCluster == true)
                {
                    // send Cluster
                    int intImplementorUser     = 0;
                    int intImplementorResource = 0;

                    DataSet dsImplementor = oOnDemandTasks.GetPending(intAnswer);
                    if (dsImplementor.Tables[0].Rows.Count > 0)
                    {
                        intImplementorResource = Int32.Parse(dsImplementor.Tables[0].Rows[0]["resourceid"].ToString());
                        intImplementorUser     = Int32.Parse(oResourceRequest.GetWorkflow(intImplementorResource, "userid"));
                    }

                    if (intImplementorUser > 0)
                    {
                        Variables oVariable        = new Variables(intEnvironment);
                        int       intServiceId     = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_CLUSTER"]);
                        int       intServiceItemId = oService.GetItemId(intServiceId);
                        int       intServiceNumber = 1;
                        oOnDemandTasks.AddServerOther(intRequest, intServiceId, intServiceNumber, intAnswer, intModel);
                        double dblServiceHours = oServiceDetail.GetHours(intServiceId, 1);
                        int    intResource     = oServiceRequest.AddRequest(intRequest, intServiceItemId, intServiceId, 1, dblServiceHours, 2, intServiceNumber, dsnServiceEditor);
                        // Comment the following...
                        //oServiceRequest.NotifyTeamLead(intServiceItemId, intResource, intAssignPage, intViewPage, intEnvironment, strBCC, "", dsnServiceEditor, dsnAsset, dsnIP);
                        // Include the following...
                        int    intResourceWorkflowNEW = oResourceRequest.AddWorkflow(intResource, 0, oResourceRequest.Get(intResource, "name"), intImplementorUser, Int32.Parse(oResourceRequest.Get(intResource, "devices")), double.Parse(oResourceRequest.Get(intResource, "allocated")), 2, 1);
                        string strService             = oService.GetName(intServiceId);
                        if (intServiceId == 0)
                        {
                            strService = oRequestItem.GetItemName(intServiceItemId);
                        }
                        int    intApp     = oRequestItem.GetItemApplication(intServiceItemId);
                        string strDefault = oUser.GetApplicationUrl(intImplementorUser, intViewPage);
                        if (strDefault == "")
                        {
                            oFunction.SendEmail("Request Assignment: " + strService, oUser.GetName(intImplementorUser), "", strBCC, "Request Assignment: " + strService, "<p><b>The following request has been automatically assigned to you</b><p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflowNEW, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p>", true, false);
                        }
                        else
                        {
                            if (intProject > 0)
                            {
                                oFunction.SendEmail("Request Assignment: " + strService, oUser.GetName(intImplementorUser), "", strBCC, "Request Assignment: " + strService, "<p><b>The following request has been automatically assigned to you</b><p><p><a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/" + strDefault + oPage.GetFullLink(intViewPage) + "?pid=" + intProject.ToString() + "\" target=\"_blank\">Click here to review your new assignment.</a></p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflowNEW, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p>" + oVariable.EmailFooter(), true, false);
                            }
                            else
                            {
                                oFunction.SendEmail("Request Assignment: " + strService, oUser.GetName(intImplementorUser), "", strBCC, "Request Assignment: " + strService, "<p><b>The following request has been automatically assigned to you</b><p><p><a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/frame/resource_request.aspx?rrid=" + intResourceWorkflowNEW.ToString() + "\" target=\"_blank\">Click here to review your new assignment.</a></p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflowNEW, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p>" + oVariable.EmailFooter(), true, false);
                            }
                        }
                        oProject.Update(intProject, 2);
                        oResourceRequest.UpdateAccepted(intResource, 1);
                        oResourceRequest.UpdateAssignedBy(intResource, -1000);
                    }
                }

                //Send SQL Task
                bool boolSQL = false;

                Servers oServer = new Servers(0, dsn);

                DataSet dsServers = oServer.GetAnswer(intAnswer);

                foreach (DataRow drServer in dsServers.Tables[0].Rows)
                {
                    int intServer = Int32.Parse(drServer["id"].ToString());

                    DataSet dsComponents = oServer.GetComponents(intServer);

                    foreach (DataRow drComponent in dsComponents.Tables[0].Rows)
                    {
                        boolSQL = (drComponent["code"].ToString() == "SQL");

                        if (boolSQL == true)
                        {
                            break;
                        }
                    }

                    if (boolSQL == true)
                    {
                        break;
                    }
                }

                if (boolSQL == true)
                {
                    // send SQL
                    //Generate HIDS Task
                    int intServiceId     = Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_PNC_SQL"]);
                    int intServiceItemId = oService.GetItemId(intServiceId);
                    int intServiceNumber = 1;
                    oOnDemandTasks.AddServerOther(intRequest, intServiceId, intServiceNumber, intAnswer, intModel);
                    double dblServiceHours = oServiceDetail.GetHours(intServiceId, 1);
                    int    intResource     = oServiceRequest.AddRequest(intRequest, intServiceItemId, intServiceId, 1, dblServiceHours, 2, intServiceNumber, dsnServiceEditor);
                    oServiceRequest.NotifyTeamLead(intServiceItemId, intResource, intAssignPage, intViewPage, intEnvironment, strBCC, "", dsnServiceEditor, dsnAsset, dsnIP, 0);
                }

                //Lotus notes task generation
            }



            Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "reload", "<script type=\"text/javascript\">if(window.opener!=null)window.opener.navigate('" + oPage.GetFullLink(intMyWork) + "');window.close();<" + "/" + "script>");
        }
Beispiel #6
0
        protected int IsNewWorkflowRequest(DataRowView dr)
        {
            int intIsNewWorkflowRequest = 0;

            if (dr["newwindow"].ToString() == "1")
            {
                int     intRRId    = oResourceRequest.GetWorkflowParent(Int32.Parse(dr["Id"].ToString()));
                DataSet dsRR       = oResourceRequest.Get(intRRId);
                int     intRequest = Int32.Parse(dsRR.Tables[0].Rows[0]["requestid"].ToString());
                int     intService = Int32.Parse(dsRR.Tables[0].Rows[0]["serviceid"].ToString());
                int     intNumber  = Int32.Parse(dsRR.Tables[0].Rows[0]["number"].ToString());

                DataSet dsRRReturn;

                //Check if this request was returned & re-submitted again(WITHOUT service workflow)
                dsRRReturn = oResourceRequest.getResourceRequestReturn(intRRId, intService, intNumber, 0, 1);
                if (dsRRReturn.Tables[0].Rows.Count > 0)
                {
                    if (DateTime.Parse(dr["modified"].ToString()) > DateTime.Parse(dsRRReturn.Tables[0].Rows[0]["modified"].ToString()))
                    {
                        dsRRReturn.Tables[0].Rows.Clear();
                    }
                }

                //Check if this request is Returned by Service Workflow(WITH service workflow)
                if (dsRRReturn.Tables[0].Rows.Count == 0)
                {
                    dsRRReturn = oResourceRequest.getResourceRequestReturn(intRRId, intService, intNumber, 1, 0);
                }
                if (dsRRReturn.Tables[0].Rows.Count > 0)
                {
                    if (DateTime.Parse(dr["modified"].ToString()) > DateTime.Parse(dsRRReturn.Tables[0].Rows[0]["modified"].ToString()))
                    {
                        dsRRReturn.Tables[0].Rows.Clear();
                    }
                }


                //Check if this request was returned and re-submitted by Service Workflow(Workload Manager)
                if (dsRRReturn.Tables[0].Rows.Count == 0)
                {
                    Services oService  = new Services(0, dsn);
                    DataSet  dsReceive = oService.GetWorkflowsReceive(intService);
                    if (dsReceive.Tables[0].Rows.Count > 0)
                    {
                        int intPreService = Int32.Parse(dsReceive.Tables[0].Rows[0]["serviceid"].ToString());

                        if (intPreService != 0) //Request came from service workflow
                        {
                            DataSet dsPreRR = oResourceRequest.GetRequestService(intRequest, intPreService, intNumber);
                            if (dsPreRR.Tables[0].Rows.Count > 0)
                            {
                                int intPreRRId   = Int32.Parse(dsPreRR.Tables[0].Rows[0]["parent"].ToString());
                                int intPreRRItem = Int32.Parse(dsPreRR.Tables[0].Rows[0]["itemid"].ToString());
                                int intPreNumber = Int32.Parse(dsPreRR.Tables[0].Rows[0]["number"].ToString());

                                dsRRReturn = oResourceRequest.getResourceRequestReturn(intPreRRId, intPreService, intPreNumber, 1, 1);
                            }
                        }
                    }
                }

                if (dsRRReturn.Tables[0].Rows.Count > 0)
                {
                    if (DateTime.Parse(dr["modified"].ToString()) > DateTime.Parse(dsRRReturn.Tables[0].Rows[0]["modified"].ToString()))
                    {
                        dsRRReturn.Tables[0].Rows.Clear();
                    }
                }



                if (dsRRReturn.Tables[0].Rows.Count > 0)
                {
                    if ((dr["modified"].ToString() != "") &&
                        dsRRReturn.Tables[0].Rows[0]["modified"].ToString() != "")
                    {
                        if (DateTime.Parse(dr["modified"].ToString()) <= DateTime.Parse(dsRRReturn.Tables[0].Rows[0]["modified"].ToString()))
                        {
                            intIsNewWorkflowRequest = 1;
                        }
                    }
                }
                else
                {
                    if ((dr["created"].ToString() != "") && dr["modified"].ToString() != "")
                    {
                        if (dr["created"].ToString() == dr["modified"].ToString())
                        {
                            intIsNewWorkflowRequest = 1;
                        }
                    }
                }
            }
            return(intIsNewWorkflowRequest);
        }
        private string GetSummary(int _requestid, int _serviceid, int _number)
        {
            Users           oUser           = new Users(intProfile, dsn);
            ServiceRequests oServiceRequest = new ServiceRequests(intProfile, dsn);
            RequestItems    oRequestItem    = new RequestItems(intProfile, dsn);
            Applications    oApplication    = new Applications(intProfile, dsn);
            StringBuilder   sbSummary       = new StringBuilder();
            DataSet         ds       = oResourceRequest.GetRequestService(_requestid, _serviceid, _number);
            int             intCount = 0;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                intCount++;
                int           intResource  = Int32.Parse(dr["id"].ToString());
                double        dblAllocated = double.Parse(dr["allocated"].ToString());
                double        dblUsed      = oResourceRequest.GetWorkflowUsed(intResource);
                DataSet       dsStatus     = oResourceRequest.GetStatuss(intResource);
                string        strStatus    = "";
                StringBuilder sbStatuses   = new StringBuilder();
                bool          boolChange   = false;
                foreach (DataRow drStatus in dsStatus.Tables[0].Rows)
                {
                    double dblStatus = double.Parse(drStatus["status"].ToString());
                    strStatus = oResourceRequest.GetStatus(dblStatus, 30, 15);
                    if (boolChange == true)
                    {
                        sbStatuses.Append("<tr>");
                    }
                    else
                    {
                        sbStatuses.Append("<tr bgcolor=\"#F6F6F6\">");
                    }
                    sbStatuses.Append("<td nowrap valign=\"top\" align=\"center\">");
                    sbStatuses.Append(oResourceRequest.GetStatus(dblStatus, 30, 10));
                    sbStatuses.Append("</td>");
                    sbStatuses.Append("<td nowrap valign=\"top\" align=\"center\">");
                    sbStatuses.Append(DateTime.Parse(drStatus["modified"].ToString()).ToShortDateString());
                    sbStatuses.Append("</td>");
                    sbStatuses.Append("<td width=\"100%\" valign=\"top\">");
                    sbStatuses.Append(drStatus["comments"].ToString());
                    sbStatuses.Append("</td>");
                    sbStatuses.Append("</tr>");
                    boolChange = !boolChange;
                }
                if (sbStatuses.ToString() != "")
                {
                    sbStatuses.Insert(0, "<table width=\"100%\" cellpadding=\"3\" cellspacing=\"0\" border=\"0\" style=\"border:solid 1px #CCCCCC\"><tr bgcolor=\"#EEEEEE\"><td>&nbsp;</td><td><b><u>Date:</u></b></td><td><b><u>Comments:</u></b></td></tr>");
                    sbStatuses.Append("</table>");
                }
                double dblProgress = 0.00;
                if (dblAllocated > 0.00)
                {
                    dblProgress = (dblUsed / dblAllocated) * 100.00;
                }
                sbSummary.Append("<tr>");
                sbSummary.Append("<td><img src=\"/images/resource_people.gif\" border=\"0\" align=\"absmiddle\"></td>");
                int intUser = Int32.Parse(dr["userid"].ToString());
                sbSummary.Append("<td>");
                sbSummary.Append(intUser > 0 ? oUser.GetFullName(intUser) : "Pending Assignment");
                sbSummary.Append("</td>");
                sbSummary.Append("<td>");
                sbSummary.Append(oApplication.GetName(oRequestItem.GetItemApplication(Int32.Parse(dr["itemid"].ToString()))));
                sbSummary.Append("</td>");
                sbSummary.Append("<td nowrap align=\"center\">");
                sbSummary.Append(intUser > 0 ? strStatus : "---");
                sbSummary.Append("</td>");
                sbSummary.Append("<td nowrap width=\"100\">");
                sbSummary.Append(intUser > 0 ? oServiceRequest.GetStatusBar(dblProgress, "100", "14", true) : "---");
                sbSummary.Append("</td>");
                sbSummary.Append("<td width=\"1\" nowrap><a href=\"javascript:void(0);\" onclick=\"ShowHide('div");
                sbSummary.Append(intCount.ToString());
                sbSummary.Append("');\">[Details]</a></td>");
                sbSummary.Append("</tr>");
                sbSummary.Append("<tr>");
                sbSummary.Append("<td colspan=\"6\">");
                sbSummary.Append("<div id=\"div");
                sbSummary.Append(intCount.ToString());
                sbSummary.Append("\" style=\"display:none\">");
                sbSummary.Append(sbStatuses.ToString());
                sbSummary.Append("</div>");
                sbSummary.Append("</td>");
                sbSummary.Append("</tr>");
            }

            sbSummary.Insert(0, "<table width=\"100%\" cellpadding=\"3\" cellspacing=\"2\" border=\"0\"><tr><td></td><td><b><u>Technician:</u></b></td><td><b><u>Department:</u></b></td><td align=\"center\"><b><u>Status:</u></b></td><td><b><u>Progress:</u></b></td><td></td></tr>");
            sbSummary.Append("</table>");

            return(sbSummary.ToString());
        }
Beispiel #8
0
        private string GetSummary(int _requestid, int _serviceid, int _number)
        {
            Users           oUser           = new Users(intProfile, dsn);
            ServiceRequests oServiceRequest = new ServiceRequests(intProfile, dsn);
            RequestItems    oRequestItem    = new RequestItems(intProfile, dsn);
            Applications    oApplication    = new Applications(intProfile, dsn);
            StatusLevels    oStatus         = new StatusLevels();
            StringBuilder   sbSummary       = new StringBuilder();
            DataSet         ds       = oResourceRequest.GetRequestService(_requestid, _serviceid, _number);
            int             intCount = 0;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                intCount++;
                int    intResource  = Int32.Parse(dr["id"].ToString());
                int    intItem      = Int32.Parse(dr["itemid"].ToString());
                int    intNumber    = Int32.Parse(dr["number"].ToString());
                int    intStatus    = Int32.Parse(dr["status"].ToString());
                double dblAllocated = double.Parse(dr["allocated"].ToString());
                double dblProgress  = 0.00;
                if (intStatus == 3)
                {
                    dblProgress = 100.00;
                }
                else
                {
                    double dblUsed = oResourceRequest.GetWorkflowUsed(intResource);
                    if (dblAllocated > 0.00)
                    {
                        dblProgress = (dblUsed / dblAllocated) * 100.00;
                    }
                }
                string  strReason   = "Unavailable";
                int     intApproval = 0;
                DataSet dsReason    = oResourceRequest.GetApproval(_requestid, intItem, intNumber);
                if (dsReason.Tables[0].Rows.Count > 0)
                {
                    strReason = dsReason.Tables[0].Rows[0]["reason"].ToString().Trim();
                    if (strReason == "")
                    {
                        strReason = "<i>No additional information...</i>";
                    }
                    intApproval = Int32.Parse(dsReason.Tables[0].Rows[0]["approval"].ToString());
                }
                string strStatus  = oStatus.Name(intApproval);
                bool   boolResult = (intApproval == 1);
                sbSummary.Append("<tr>");
                sbSummary.Append("<td width=\"1\"><img src=\"/images/resource_people.gif\" border=\"0\" align=\"absmiddle\"></td>");
                int intUser = Int32.Parse(dr["userid"].ToString());
                sbSummary.Append("<td>");
                sbSummary.Append(intUser > 0 ? oUser.GetFullName(intUser) : "Pending Assignment");
                sbSummary.Append("</td>");
                sbSummary.Append("<td>");
                sbSummary.Append(oApplication.GetName(oRequestItem.GetItemApplication(Int32.Parse(dr["itemid"].ToString()))));
                sbSummary.Append("</td>");
                sbSummary.Append("<td nowrap align=\"center\">");
                sbSummary.Append(intUser > 0 ? strStatus : "---");
                sbSummary.Append("</td>");
                sbSummary.Append("<td nowrap width=\"100\">");
                sbSummary.Append(intUser > 0 ? oServiceRequest.GetStatusBar(dblProgress, "100", "14", true) : "---");
                sbSummary.Append("</td>");
                sbSummary.Append("<td width=\"1\" nowrap><a href=\"javascript:void(0);\" onclick=\"ShowHide('div");
                sbSummary.Append(intCount.ToString());
                sbSummary.Append("_1');\">[Details]</a>");
                sbSummary.Append(boolResult ? "&nbsp;<a href=\"javascript:void(0);\" onclick=\"ShowHide('div" + intCount.ToString() + "_2');\">[Result]</a>" : "");
                sbSummary.Append("</td>");
                sbSummary.Append("</tr>");
                sbSummary.Append("<tr>");
                sbSummary.Append("<td colspan=\"6\">");
                sbSummary.Append("<div id=\"div");
                sbSummary.Append(intCount.ToString());
                sbSummary.Append("_1\" style=\"display:none\">");
                sbSummary.Append(strReason);
                sbSummary.Append("</div>");

                if (boolResult == true)
                {
                    string  strResult = "";
                    DataSet dsResult  = oRequest.GetResult(_requestid, intItem, intNumber);
                    foreach (DataRow drResult in dsResult.Tables[0].Rows)
                    {
                        strResult += drResult["result"].ToString();
                    }
                    sbSummary.Append("<div id=\"div");
                    sbSummary.Append(intCount.ToString());
                    sbSummary.Append("_2\" style=\"display:none\">");
                    sbSummary.Append(strResult);
                    sbSummary.Append("</div>");
                }
                sbSummary.Append("</td>");
                sbSummary.Append("</tr>");
            }

            sbSummary.Insert(0, "<table width=\"100%\" cellpadding=\"3\" cellspacing=\"2\" border=\"0\"><tr><td></td><td><b><u>Technician:</u></b></td><td><b><u>Department:</u></b></td><td align=\"center\"><b><u>Status:</u></b></td><td><b><u>Progress:</u></b></td><td></td></tr>");
            sbSummary.Append("</table>");

            return(sbSummary.ToString());
        }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            intProfile       = Int32.Parse(Request.Cookies["profileid"].Value);
            oProject         = new Projects(intProfile, dsn);
            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);
            oService         = new Services(intProfile, dsn);
            oServiceRequest  = new ServiceRequests(intProfile, dsn);
            oRequestField    = new RequestFields(intProfile, dsn);
            oApplication     = new Applications(intProfile, dsn);
            oServiceDetail   = new ServiceDetails(intProfile, dsn);
            oDelegate        = new Delegates(intProfile, dsn);
            oDocument        = new Documents(intProfile, dsn);
            oLog             = new Log(intProfile, dsn);
            oServiceEditor   = new ServiceEditor(intProfile, dsnServiceEditor);
            oVariable        = new Variables(intEnvironment);
            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);
            }
            if (Request.QueryString["rrid"] != null && Request.QueryString["rrid"] != "")
            {
                // Start Workflow Change
                lblResourceWorkflow.Text = Request.QueryString["rrid"];
                int intResourceWorkflow = Int32.Parse(Request.QueryString["rrid"]);
                int intResourceParent   = oResourceRequest.GetWorkflowParent(intResourceWorkflow);
                ds = oResourceRequest.Get(intResourceParent);
                // End Workflow Change
                intRequest          = Int32.Parse(ds.Tables[0].Rows[0]["requestid"].ToString());
                lblRequestedBy.Text = oUser.GetFullName(oRequest.GetUser(intRequest));
                lblRequestedOn.Text = DateTime.Parse(oResourceRequest.Get(intResourceParent, "created")).ToString();
                lblDescription.Text = oRequest.Get(intRequest, "description");
                if (lblDescription.Text == "")
                {
                    lblDescription.Text = "<i>No information</i>";
                }
                intItem   = Int32.Parse(ds.Tables[0].Rows[0]["itemid"].ToString());
                intNumber = Int32.Parse(ds.Tables[0].Rows[0]["number"].ToString());
                int intStatus = 0;
                Int32.TryParse(oResourceRequest.GetWorkflow(intResourceWorkflow, "status"), out intStatus);
                // Start Workflow Change
                bool boolComplete = (oResourceRequest.GetWorkflow(intResourceWorkflow, "status") == "3");
                int  intUser      = Int32.Parse(oResourceRequest.GetWorkflow(intResourceWorkflow, "userid"));
                txtCustom.Text = oResourceRequest.GetWorkflow(intResourceWorkflow, "name");
                double dblAllocated = double.Parse(oResourceRequest.GetWorkflow(intResourceWorkflow, "allocated"));
                boolJoined = (oResourceRequest.GetWorkflow(intResourceWorkflow, "joined") == "1");
                // End Workflow Change
                intService      = Int32.Parse(ds.Tables[0].Rows[0]["serviceid"].ToString());
                lblService.Text = oService.Get(intService, "name");
                int intApp = oRequestItem.GetItemApplication(intItem);

                //Check if this service returned
                bool    boolReturned = false;
                DataSet dsRR         = oResourceRequest.GetRequestService(intRequest, intService, intNumber);
                if (dsRR.Tables[0].Rows.Count > 0)
                {
                    int     intRRId    = Int32.Parse(dsRR.Tables[0].Rows[0]["parent"].ToString());
                    DataSet dsRRReturn = oResourceRequest.getResourceRequestReturn(intRRId, intService, intNumber, 1, 0);
                    if (dsRRReturn.Tables[0].Rows.Count > 0)
                    {
                        boolReturned                  = true;
                        lblReqReturnedId.Text         = dsRRReturn.Tables[0].Rows[0]["Id"].ToString();
                        lblReqReturnCommentValue.Text = oFunction.FormatText(dsRRReturn.Tables[0].Rows[0]["Comments"].ToString());
                        lblReqReturnedByValue.Text    = oUser.GetName(Int32.Parse(dsRRReturn.Tables[0].Rows[0]["ReturnedByUser"].ToString()));
                        lblReqReturnedByValue.Text    = oUser.GetFullName(Int32.Parse(dsRRReturn.Tables[0].Rows[0]["ReturnedByUser"].ToString()));
                        pnlReqReturn.Visible          = true;
                        boolServiceReturned           = true;
                    }
                    else
                    {
                        pnlReqReturn.Visible = false;
                    }
                }

                if (!IsPostBack)
                {
                    if (Request.QueryString["save"] != null && Request.QueryString["save"] != "")
                    {
                        Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "saved", "<script type=\"text/javascript\">alert('Information Saved Successfully');<" + "/" + "script>");
                    }
                    if (Request.QueryString["require"] != null && Request.QueryString["require"] != "")
                    {
                        Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "required", "<script type=\"text/javascript\">alert('Information Saved Successfully\\n\\nHowever, one or more required fields were skipped.\\nUpdate these fields and you will be able to complete this request." + (string.IsNullOrEmpty(Request.QueryString["required"]) ? "" : "\\n\\n - " + oFunction.decryptQueryString(Request.QueryString["required"])) + "');<" + "/" + "script>");
                    }
                    if (Request.QueryString["status"] != null && Request.QueryString["status"] != "")
                    {
                        Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "statusd", "<script type=\"text/javascript\">alert('Status Update has been Added');<" + "/" + "script>");
                    }

                    DataSet dsServiceEditor = oServiceEditor.GetRequestData(intRequest, intService, intNumber, 1, dsn);
                    strForm = oServiceEditor.LoadForm(intRequest, intService, intNumber, true, false, "", intEnvironment, dsServiceEditor, dsn);

                    string strRequired = oServiceEditor.GetRequired();
                    double dblUsed     = oResourceRequest.GetWorkflowUsed(intResourceWorkflow);
                    lblUpdated.Text = oResourceRequest.GetUpdated(intResourceParent);
                    if (dblAllocated == dblUsed)
                    {
                        if (boolComplete == false)
                        {
                            oFunction.ConfigureToolButton(btnComplete, "/images/tool_complete");
                            btnComplete.Attributes.Add("onclick", "return true " + strRequired + " && confirm('Are you sure you want to mark this as completed and remove it from your workload?') && ProcessControlButton();");
                        }
                        else
                        {
                            btnSave.ImageUrl   = "/images/tool_save_dbl.gif";
                            btnSave.Enabled    = false;
                            btnReturn.ImageUrl = "/images/tool_return_dbl.gif";
                            btnReturn.Enabled  = false;
                            oFunction.ConfigureToolButton(btnComplete, "/images/tool_complete");
                            btnComplete.Attributes.Add("onclick", "alert('This task has already been marked COMPLETE. You can close this window.');return false;");
                        }
                    }
                    else
                    {
                        btnComplete.ImageUrl = "/images/tool_complete_dbl.gif";
                        btnComplete.Enabled  = false;
                    }
                    bool boolSLABreached = false;
                    if (oService.Get(intService, "sla") != "")
                    {
                        oFunction.ConfigureToolButton(btnSLA, "/images/tool_sla");
                        int intDays = oResourceRequest.GetSLA(intResourceParent);
                        if (intDays > -99999)
                        {
                            if (boolReturned == false)
                            {
                                if (intDays < 1)
                                {
                                    btnSLA.Style["border"] = "solid 2px #FF0000";
                                }
                                else if (intDays < 3)
                                {
                                    btnSLA.Style["border"] = "solid 2px #FF9999";
                                }
                            }
                            boolSLABreached = (intDays < 0);
                            btnSLA.Attributes.Add("onclick", "return OpenWindow('RESOURCE_REQUEST_SLA','?rrid=" + intResourceParent.ToString() + "');");
                        }
                        else
                        {
                            btnSLA.ImageUrl = "/images/tool_sla_dbl.gif";
                            btnSLA.Enabled  = false;
                        }
                    }
                    else
                    {
                        btnSLA.ImageUrl = "/images/tool_sla_dbl.gif";
                        btnSLA.Enabled  = false;
                    }
                    oFunction.ConfigureToolButton(btnEmail, "/images/tool_email");
                    btnEmail.Attributes.Add("onclick", "return OpenWindow('RESOURCE_REQUEST_EMAIL','?rrid=" + intResourceWorkflow.ToString() + "&type=GENERIC');");
                    dblUsed       = (dblUsed / dblAllocated) * 100;
                    strCheckboxes = oServiceDetail.LoadCheckboxes(intRequest, intItem, intNumber, intResourceWorkflow, intService);
                    if (strForm != "")
                    {
                        panForm.Visible = true;
                    }
                    if (oService.Get(intService, "tasks") != "1" || strCheckboxes == "")
                    {
                        if (oService.Get(intService, "no_slider") == "1")
                        {
                            panNoSlider.Visible  = true;
                            btnComplete.ImageUrl = "/images/tool_complete.gif";
                            btnComplete.Enabled  = true;
                            btnComplete.Attributes.Add("onclick", "return true " + strRequired + " && confirm('Are you sure you want to mark this as completed and remove it from your workload?') && ProcessControlButton();");
                            btnComplete.CommandArgument = "FAST";
                        }
                        else
                        {
                            panSlider.Visible      = true;
                            sldHours._StartPercent = dblUsed.ToString();
                            sldHours._TotalHours   = dblAllocated.ToString();
                        }
                    }
                    else
                    {
                        panCheckboxes.Visible = true;
                    }
                    intProject          = oRequest.GetProjectNumber(intRequest);
                    hdnTab.Value        = "D";
                    panWorkload.Visible = true;
                    bool boolRed = LoadStatus(intResourceWorkflow);
                    if (boolRed == false && boolSLABreached == true && boolReturned == false)
                    {
                        btnComplete.Attributes.Add("onclick", "alert('NOTE: Your Service Level Agreement (SLA) has been breached!\\n\\nYou must provide a RED STATUS update with an explanation of why your SLA was breached for this request.\\n\\nOnce a RED STATUS update has been provided, you will be able to complete this request.');return false;");
                    }
                    LoadChange(intResourceWorkflow);
                    LoadInformation(intResourceWorkflow);
                    chkDescription.Checked = (Request.QueryString["doc"] != null);
                    lblDocuments.Text      = oDocument.GetDocuments_Service(intRequest, intService, oVariable.DocumentsFolder(), 1, (Request.QueryString["doc"] != null));
                    // GetDocuments(string _physical, int _projectid, int _requestid, int _userid, int _security, bool _show_description, bool _mine)
                    //lblDocuments.Text = oDocument.GetDocuments(Request.PhysicalApplicationPath, 0, intRequest, 0, 1, (Request.QueryString["doc"] != null), false);

                    btnDenied.Attributes.Add("onclick", "return CloseWindow();");
                    oFunction.ConfigureToolButton(btnSave, "/images/tool_save");
                    oFunction.ConfigureToolButton(btnPrint, "/images/tool_print");
                    btnPrint.Attributes.Add("onclick", "return PrintWindow();");
                    oFunction.ConfigureToolButton(btnClose, "/images/tool_close");
                    btnClose.Attributes.Add("onclick", "return ExitWindow();");
                    //btnSave.Attributes.Add("onclick", "return ValidateStatus('" + ddlStatus.ClientID + "','" + txtComments.ClientID + "') && ProcessControlButton();");
                    btnSave.Attributes.Add("onclick", "return ProcessControlButton();");
                    btnStatus.Attributes.Add("onclick", "return ValidateStatus('" + ddlStatus.ClientID + "','" + txtComments.ClientID + "')" +
                                             " && ProcessControlButton()" +
                                             ";");
                    btnChange.Attributes.Add("onclick", "return ValidateText('" + txtNumber.ClientID + "','Please enter a change control number')" +
                                             " && ValidateDate('" + txtDate.ClientID + "','Please enter a valid implementation date')" +
                                             " && ValidateTime('" + txtTime.ClientID + "','Please enter a valid implementation time')" +
                                             " && ProcessControlButton()" +
                                             ";");
                    imgDate.Attributes.Add("onclick", "return ShowCalendar('" + txtDate.ClientID + "');");
                    // 6/1/2009 - Load ReadOnly View
                    if (oResourceRequest.CanUpdate(intProfile, intResourceWorkflow, false) == false)
                    {
                        oFunction.ConfigureToolButtonRO(btnSave, btnComplete);
                        //panDenied.Visible = true;
                    }

                    if (oService.Get(intService, "rr_path") == "/controls/rr/rr_service_editor.ascx" && oService.Get(intService, "disable_customization") == "0")
                    {
                        if (intStatus != (int)ResourceRequestStatus.AwaitingResponse) //Awaiting Client Response
                        {
                            btnReturn.Visible = true;
                            oFunction.ConfigureToolButton(btnReturn, "/images/tool_return");
                            btnReturn.Attributes.Add("onclick", "return OpenWindow('RESOURCE_REQUEST_RETURN','?rrid=" + intResourceParent.ToString() + "&rrwfid=" + intResourceWorkflow.ToString() + "');");
                        }
                        else
                        {
                            btnReturn.Visible = true;
                            oFunction.ConfigureToolButton(btnReturn, "/images/tool_return");
                            btnReturn.Attributes.Add("onclick", "alert('This request has already been returned');return false;");
                        }
                    }
                    else
                    {
                        btnReturn.Visible = false;
                    }
                }
            }
            else
            {
                panDenied.Visible = true;
            }
        }
Beispiel #10
0
        protected void btnComplete_Click(Object Sender, EventArgs e)
        {
            int    intResourceWorkflow = Int32.Parse(lblResourceWorkflow.Text);
            string strInvalid          = "";

            if (panForm.Visible == true)
            {
                strInvalid = oServiceEditor.SaveForm(Request, intRequest, intService, intNumber, true, intEnvironment, dsn);
            }

            if (strInvalid == "")
            {
                // All Required Fields have been completed
                int intResourceParent = oResourceRequest.GetWorkflowParent(intResourceWorkflow);
                if (oResourceRequest.Get(intResourceParent, "status") == ((int)ResourceRequestStatus.Closed).ToString() ||
                    oResourceRequest.GetWorkflow(intResourceWorkflow, "status") == ((int)ResourceRequestStatus.Closed).ToString())
                {
                    // already completed - nothing to do except close the window.
                }
                else
                {
                    if (panNoSlider.Visible == true)
                    {
                        double dblAllocated = double.Parse(oResourceRequest.GetWorkflow(intResourceWorkflow, "allocated"));
                        oResourceRequest.UpdateWorkflowHoursOverwrite(intResourceWorkflow, dblAllocated);
                    }
                    // Add a green / completed status if there are no updates, OR the last status is not green
                    DataSet dsStatus = oResourceRequest.GetStatuss(intResourceWorkflow);
                    if (dsStatus.Tables[0].Rows.Count == 0 || dsStatus.Tables[0].Rows[0]["status"].ToString() != "3")
                    {
                        oResourceRequest.AddStatus(intResourceWorkflow, (int)ResourceRequestStatus.Closed, "Completed", intProfile);
                    }
                    oResourceRequest.UpdateWorkflowStatus(intResourceWorkflow, (int)ResourceRequestStatus.Closed, true);
                    string strCVT = "CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString();
                    oLog.AddEvent(intRequest.ToString(), strCVT, "Closed WM_Generic by " + oUser.GetFullNameWithLanID(intProfile), LoggingType.Debug);
                    oResourceRequest.CloseWorkflow(intResourceWorkflow, intEnvironment, 0, dsnServiceEditor, true, intResourceRequestApprove, intAssignPage, intViewPage, dsnAsset, dsnIP, boolServiceReturned);

                    // Send notification to list of completion users
                    string strCompletion = oService.Get(intService, "notify_complete");
                    if (strCompletion != "")
                    {
                        string strLink = "<a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/datapoint/service/resource.aspx?id=" + oFunction.encryptQueryString(intResourceParent.ToString()) + "\" target=\"_blank\">Click here to view this request.</a>";
                        oFunction.SendEmail("Service Request #CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString() + " Complete", strCompletion, "", "", "Service Request #CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString() + " Complete", "<p>This message is to notify you that the following service request has been completed...</p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflow, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p><p>You are receiving this message because you have been configured to receive a notification for all completed requests for the service <b>" + oService.GetName(intService) + "</b><p>" + strLink + "</p>", true, false);
                    }

                    //Send notification to users of associated tasks
                    WMServiceTasks oWMServiceTasks     = new WMServiceTasks(intProfile, dsn);
                    DataSet        DsWMAssociatedTasks = oWMServiceTasks.getWMServiceTasksStatusRequestWithRequest(intRequest);
                    Customized     oCustomized         = new Customized(intProfile, dsn);

                    if (DsWMAssociatedTasks.Tables[0].Rows.Count > 0)
                    {
                        foreach (DataRow drWMAssoicatedTasks in DsWMAssociatedTasks.Tables[0].Rows)
                        {
                            string strWMAssoicatedTasksUser = oUser.GetName(Int32.Parse(drWMAssoicatedTasks["createdBy"].ToString()));
                            string strComment = "";
                            string strLink    = "<p><a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/datapoint/service/resource.aspx?id=" + oFunction.encryptQueryString(intResourceParent.ToString()) + "\" target=\"_blank\">Click here to view this request.</a></p>";
                            oFunction.SendEmail("Associated Request Completed CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString(), strWMAssoicatedTasksUser, "", "", "Associated Request Completed CVT" + intRequest.ToString() + "-" + intService.ToString() + "-" + intNumber.ToString(), "<p><b>The following associated service request has been completed!</b></br>" + strComment + "</p>" + strLink + "<p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflow, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p>", true, false);
                        }
                    }
                    //End of Send notification to users of associated tasks

                    if (intService == Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_DECOMMISSION_SUPPORT"]) ||
                        intService == Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_DESTROY_SUPPORT"]) ||
                        intService == Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_DECOMMISSION_SUPPORT_WORKSTATION"]) ||
                        intService == Int32.Parse(ConfigurationManager.AppSettings["SERVICEID_DESTROY_SUPPORT_WORKSTATION"]))
                    {
                        Asset oAsset = new Asset(0, dsnAsset);
                        oAsset.UpdateDecommissionFixed(intRequest, intNumber);
                    }

                    //If this service was returned then update the status of next service
                    if (boolServiceReturned == true)
                    {
                        DataSet dsRR = oResourceRequest.GetRequestService(intRequest, intService, intNumber);
                        if (dsRR.Tables[0].Rows.Count > 0)
                        {
                            int intRRId = Int32.Parse(dsRR.Tables[0].Rows[0]["parent"].ToString());

                            DataSet dsRRReturn = oResourceRequest.getResourceRequestReturn(intRRId, intService, intNumber, 1, 0);
                            if (dsRRReturn.Tables[0].Rows.Count > 0)
                            {
                                int intNextRRId      = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextRRId"].ToString());
                                int intNextServiceId = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextServiceId"].ToString());
                                int intNextNumber    = Int32.Parse(dsRRReturn.Tables[0].Rows[0]["NextNumber"].ToString());;

                                // Get all at that level to resume
                                DataSet dsWorkflow = oServiceEditor.GetWorkflow(intRequest);
                                // Get leveling
                                int intLevel = 0;
                                foreach (DataRow drWorkflow in dsWorkflow.Tables[0].Rows)
                                {
                                    if (Int32.Parse(drWorkflow["serviceid"].ToString()) == intNextServiceId)
                                    {
                                        intLevel = Int32.Parse(drWorkflow["leveling"].ToString());
                                        break;
                                    }
                                }
                                foreach (DataRow drWorkflow in dsWorkflow.Tables[0].Rows)
                                {
                                    if (Int32.Parse(drWorkflow["leveling"].ToString()) == intLevel)
                                    {
                                        string strService           = oService.GetName(Int32.Parse(drWorkflow["ServiceID"].ToString()));
                                        int    intResourceRequestID = 0;
                                        if (Int32.TryParse(drWorkflow["ResourceID"].ToString(), out intResourceRequestID))
                                        {
                                            oResourceRequest.UpdateStatusRequest(intResourceRequestID, 2);
                                            DataSet dsRRWF = oResourceRequest.GetWorkflowsParent(intResourceRequestID);
                                            foreach (DataRow dr in dsRRWF.Tables[0].Rows)
                                            {
                                                int intRRWFId     = Int32.Parse(dr["id"].ToString());
                                                int intRRWFUserId = Int32.Parse(dr["userid"].ToString());
                                                oResourceRequest.UpdateWorkflowStatus(intRRWFId, 2, true);
                                                // Notify
                                                string strEMailIdsBCC = oFunction.GetGetEmailAlertsEmailIds("EMAILGRP_REQUEST_ASSIGNMENT");
                                                string strDefault     = oUser.GetApplicationUrl(intRRWFUserId, intViewPage);
                                                if (strDefault == "")
                                                {
                                                    oFunction.SendEmail("Returned Request Completed: " + strService, oUser.GetName(intRRWFUserId), "", strEMailIdsBCC, "Returned Request Completed: " + strService, "<p><b>The following returned request has been completed by " + oUser.GetFullName(intProfile) + " and is now in your queue.</b></p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflow, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p>", true, false);
                                                }
                                                else
                                                {
                                                    if (intProject > 0)
                                                    {
                                                        oFunction.SendEmail("Returned Request Completed: " + strService, oUser.GetName(intRRWFUserId), "", strEMailIdsBCC, "Returned Request Completed: " + strService, "<p><b>The following returned request has been completed by " + oUser.GetFullName(intProfile) + " and is now in your queue.</b></p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflow, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p><p><a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/" + strDefault + oPage.GetFullLink(intViewPage) + "?pid=" + intProject.ToString() + "\" target=\"_blank\">Click here to review your assignment.</a></p>", true, false);
                                                    }
                                                    else
                                                    {
                                                        oFunction.SendEmail("Returned Request Completed: " + strService, oUser.GetName(intRRWFUserId), "", strEMailIdsBCC, "Returned Request Completed: " + strService, "<p><b>The following returned request has been completed by " + oUser.GetFullName(intProfile) + " and is now in your queue.</b></p><p>" + oResourceRequest.GetWorkflowSummary(intResourceWorkflow, intEnvironment, dsnServiceEditor, dsnAsset, dsnIP) + "</p><p><a href=\"" + oVariable.URL() + "/redirect.aspx?referrer=/frame/resource_request.aspx?rrid=" + intResourceWorkflow.ToString() + "\" target=\"_blank\">Click here to review your assignment.</a></p>", true, false);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }


                                //oResourceRequest.UpdateStatusRequest(intNextRRId, 2);
                                //DataSet dsRRWF = oResourceRequest.GetWorkflowsParent(intNextRRId);
                                //foreach (DataRow dr in dsRRWF.Tables[0].Rows)
                                //{
                                //    int intRRWFId = Int32.Parse(dr["id"].ToString());
                                //    oResourceRequest.UpdateWorkflowStatus(intRRWFId, 2, true);
                                //}
                            }
                        }
                        oResourceRequest.updateResourceRequestReturnCompleted(Int32.Parse(lblReqReturnedId.Text));
                    }
                }
                Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "reload", "<script type=\"text/javascript\">RefreshOpeningWindow();window.close();<" + "/" + "script>");
            }
            else
            {
                Response.Redirect(Request.Path + "?rrid=" + intResourceWorkflow.ToString() + "&div=E&require=true&required=" + oFunction.encryptQueryString(strInvalid));
            }
        }
Beispiel #11
0
        public bool Allowed(int _requestid, int _serviceid, int _number, int _profile, bool _manager)
        {
            DataSet ds = Get(_requestid);

            if (ds.Tables[0].Rows.Count > 0)
            {
                int intRequester = Int32.Parse(ds.Tables[0].Rows[0]["userid"].ToString());
                if (intRequester == _profile)
                {
                    return(true);
                }
                else
                {
                    int      intProject = Int32.Parse(ds.Tables[0].Rows[0]["projectid"].ToString());
                    Projects oProject   = new Projects(user, dsn);
                    Users    oUser      = new Users(user, dsn);
                    if (intProject > 0 && Int32.Parse(oProject.Get(intProject, "userid")) == _profile)
                    {
                        return(true);
                    }
                    else if (_manager == true && oUser.IsManager(intRequester, _profile, true) == true)
                    {
                        return(true);
                    }
                    else
                    {
                        // Check Service Members
                        Services        oService         = new Services(user, dsn);
                        ResourceRequest oResourceRequest = new ResourceRequest(user, dsn);
                        Delegates       oDelegate        = new Delegates(user, dsn);
                        DataSet         dsUser           = oService.GetUser(_serviceid, -10); // Approver
                        foreach (DataRow drUser in dsUser.Tables[0].Rows)
                        {
                            if (Int32.Parse(drUser["userid"].ToString()) == _profile || oDelegate.Get(Int32.Parse(drUser["userid"].ToString()), _profile) > 0)
                            {
                                return(true);
                            }
                        }
                        // Check previous workflow user
                        int intPreviousService = 0;
                        if (Int32.TryParse(oService.Get(_serviceid, "workflow_userid"), out intPreviousService) == true && intPreviousService > 0)
                        {
                            DataSet dsRR = oResourceRequest.GetRequestService(_requestid, intPreviousService, _number);
                            if (dsRR.Tables[0].Rows.Count > 0)
                            {
                                int intAssignedTo = 0;
                                if (Int32.TryParse(dsRR.Tables[0].Rows[0]["userid"].ToString(), out intAssignedTo) && intAssignedTo == _profile)
                                {
                                    return(true);
                                }
                            }
                        }
                        // Check 3rd Party Approvers
                        DataSet dsApproval = oResourceRequest.GetApprovals(_requestid, _serviceid, _number);
                        foreach (DataRow drApproval in dsApproval.Tables[0].Rows)
                        {
                            if (Int32.Parse(drApproval["userid"].ToString()) == _profile)
                            {
                                return(true);
                            }
                        }
                        return(false);
                    }
                }
            }
            else
            {
                return(false);
            }
        }