protected void Page_Load(object sender, EventArgs e) { intProfile = Int32.Parse(Request.Cookies["profileid"].Value); oDesign = new Design(intProfile, dsn); oUser = new Users(intProfile, dsn); oModelsProperties = new ModelsProperties(intProfile, dsn); oFunction = new Functions(intProfile, dsn, intEnvironment); if (Request.QueryString["id"] != null) { Int32.TryParse(Request.QueryString["id"], out intID); } if (intID > 0) { lblID.Text = intID.ToString(); DataSet dsSummary = oDesign.Get(intID); if (dsSummary.Tables[0].Rows.Count > 0) { DataRow drSummary = dsSummary.Tables[0].Rows[0]; Mnemonic oMnemonic = new Mnemonic(intProfile, dsn); CostCenter oCostCenter = new CostCenter(intProfile, dsn); OperatingSystems oOperatingSystem = new OperatingSystems(intProfile, dsn); Classes oClass = new Classes(intProfile, dsn); Environments oEnvironment = new Environments(intProfile, dsn); Locations oLocation = new Locations(intProfile, dsn); bool boolWeb = (drSummary["web"].ToString() == "1"); bool boolSQL = oDesign.IsSQL(intID); bool boolOracle = oDesign.IsOracle(intID); bool boolOtherDB = (drSummary["other_db"].ToString() == "1"); boolWindows = oDesign.IsWindows(intID); DataSet dsSubmitted = oDesign.GetSubmitted(intID); if (dsSubmitted.Tables[0].Rows.Count > 0) { int intUser = Int32.Parse(dsSubmitted.Tables[0].Rows[0]["userid"].ToString()); lblRequestedBy.Text = oUser.GetFullName(intUser) + " (" + oUser.GetName(intUser) + ")"; lblRequestedOn.Text = dsSubmitted.Tables[0].Rows[0]["created"].ToString(); if (dsSubmitted.Tables[0].Rows[0]["comments"].ToString() != "") { trException1.Visible = true; trException2.Visible = true; lblException.Text = dsSubmitted.Tables[0].Rows[0]["comments"].ToString(); } } else { lblRequestedBy.Text = oUser.GetFullName(intProfile) + " (" + oUser.GetName(intProfile) + ")"; lblRequestedOn.Text = dsSummary.Tables[0].Rows[0]["modified"].ToString(); } // Mnemonic int intMnemonic = 0; Int32.TryParse(drSummary["mnemonicid"].ToString(), out intMnemonic); if (intMnemonic > 0) { lblMnemonic.Text = oMnemonic.Get(intMnemonic, "factory_code") + " - " + oMnemonic.Get(intMnemonic, "name"); string strMnemonicCode = oMnemonic.Get(intMnemonic, "factory_code"); string strMnemonicStatus = oMnemonic.GetFeed(strMnemonicCode, MnemonicFeed.Status); if (strMnemonicStatus == "") { strMnemonicStatus = oMnemonic.Get(intMnemonic, "status"); } lblMnemonicStatus.Text = strMnemonicStatus; string strMnemonicRTO = oMnemonic.GetFeed(strMnemonicCode, MnemonicFeed.ResRating); if (strMnemonicRTO == "") { strMnemonicRTO = oMnemonic.Get(intMnemonic, "ResRating"); } lblMnemonicRTO.Text = strMnemonicRTO; } // Server Type if (oDesign.IsDatabase(intID) == false) { if (boolWeb) { lblServerType.Text = "Web"; } else { lblServerType.Text = "Application"; } } else { lblServerType.Text = "Database"; if (boolSQL || boolOracle || boolOtherDB) { string strDatabase = ""; if (boolSQL == true) { strDatabase = "SQL"; } if (boolOracle == true) { strDatabase = "Oracle"; } if (boolOtherDB == true) { strDatabase = "Other"; } lblServerType.Text += " (" + strDatabase + ")"; } if (boolWeb) { lblServerType.Text += " + Web"; } } // OS int intOS = 0; Int32.TryParse(drSummary["osid"].ToString(), out intOS); if (intOS > 0) { lblOS.Text = oOperatingSystem.Get(intOS, "name"); } // SIZE string strSize = drSummary["cores"].ToString() + " CPU(s), " + drSummary["ram"].ToString() + " GB(s) RAM"; lblSize.Text = strSize; // MAINFRAME if (drSummary["mainframe"].ToString() == "1") { lblMainframe.Text = "Yes"; } else if (drSummary["mainframe"].ToString() == "0") { lblMainframe.Text = "No"; } // SPECIAL lblSpecial.Text = drSummary["special"].ToString(); if (lblSpecial.Text == "") { lblSpecial.Text = "None"; } // HA if (drSummary["ha"].ToString() == "1") { if (drSummary["ha_clustering"].ToString() == "1") { lblHA.Text = "Clustering"; if (drSummary["active_passive"].ToString() == "1") { lblHA.Text += " (Active / Passive)"; } else if (drSummary["active_passive"].ToString() == "2") { lblHA.Text += " (Active / Active)"; } lblHA.Text += "<br/>" + drSummary["instances"].ToString() + " Instances"; //lblHA.Text += ", " + drSummary["nodes"].ToString() + " Nodes"; } else if (drSummary["ha_load_balancing"].ToString() == "1") { lblHA.Text = "Load Balancing"; if (drSummary["middleware"].ToString() == "1") { lblHA.Text += " (Middleware)"; } else if (boolWeb == true) { if (drSummary["application"].ToString() == "1") { lblHA.Text += " (Web + App)"; } else { lblHA.Text += " (Web)"; } } else { lblHA.Text += " (App)"; } } } else if (drSummary["ha"].ToString() == "0") { lblHA.Text = "No"; } // SOFTWARE if (drSummary["ndm"].ToString() == "1") { lblSoftware.Text += "ConnectDirect"; } if (drSummary["ca7"].ToString() == "1") { lblSoftware.Text += (lblSoftware.Text != "" ? "<br/>" : "") + "CA7"; } if (lblSoftware.Text == "") { lblSoftware.Text = "None"; } // Middlware DataSet dsSoftware = oDesign.GetSoftwareComponents(intID); foreach (DataRow drSoftware in dsSoftware.Tables[0].Rows) { // Loop through select components int intComponentID = Int32.Parse(drSoftware["componentid"].ToString()); int intResponse = Int32.Parse(drSoftware["responseid"].ToString()); lblMiddleware.Text += (lblMiddleware.Text != "" ? "<br/>" : "") + oDesign.GetResponse(intResponse, "response"); } if (lblMiddleware.Text == "") { lblMiddleware.Text = "None"; } // Legacy Design ID if (drSummary["answerid"].ToString() == "") { lblAnswerID.Text = "N / A"; } else { lblAnswerID.Text = "<a href=\"javascript:void(0);\" onclick=\"OpenNewWindow('/datapoint/service/design.aspx?t=design&q=" + oFunction.encryptQueryString(drSummary["answerid"].ToString()) + "',800,600);\">" + drSummary["answerid"].ToString() + "</a>"; } // Quantity int intQuantity = 0; Int32.TryParse(drSummary["quantity"].ToString(), out intQuantity); if (intQuantity > 0) { lblQuantity.Text = intQuantity.ToString(); } if (oDesign.IsProd(intID) == true && oDesign.IsUnder48(intID, true) == true) { lblQuantity.Text += " ( + " + intQuantity.ToString() + " for DR)"; } // DATE DateTime datDate = DateTime.Now; if (DateTime.TryParse(drSummary["commitment"].ToString(), out datDate) == true) { lblDate.Text = datDate.ToShortDateString(); } // CONFIDENCE lblConfidence.Text = drSummary["confidence"].ToString(); // LOCATION int intClass = 0; int intEnv = 0; int intAddress = 0; Int32.TryParse(drSummary["classid"].ToString(), out intClass); if (intClass > 0) { lblLocation.Text = oClass.Get(intClass, "name") + ", "; Int32.TryParse(drSummary["environmentid"].ToString(), out intEnv); if (intEnv > 0) { lblLocation.Text += oEnvironment.Get(intEnv, "name"); Int32.TryParse(drSummary["addressid"].ToString(), out intAddress); if (intAddress > 0) { lblLocation.Text += " at " + oLocation.GetFull(intAddress); } else { lblLocation.Text += " at <a href=\"javascript:void(0);\" onclick=\"alert('The datacenter will be either the Cleveland Data Center or the Summit Data Center.\\n\\nThis will be decided during execution. It is based on the available inventory at that time.');\">Cleveland or Summit Data Center</a>"; } } } // SOLUTION int intModel = oDesign.GetModelProperty(intID); lblSolution.Text = oModelsProperties.Get(intModel, "name"); // Server Boot Type if (oModelsProperties.IsVMwareVirtual(intModel)) { lblServerBootType.Text = "Virtual Hard Disk (VHD)"; } else if (oModelsProperties.IsStorageDB_BootLocal(intModel)) { lblServerBootType.Text = "Local Disk"; } else { lblServerBootType.Text = "SAN Disk"; } // ACCOUNTS rptAccounts.DataSource = oDesign.GetAccounts(intID); rptAccounts.DataBind(); foreach (RepeaterItem ri in rptAccounts.Items) { Label _permissions = (Label)ri.FindControl("lblPermissions"); switch (_permissions.Text) { case "0": _permissions.Text = "-----"; break; case "D": _permissions.Text = "Developer"; break; case "P": _permissions.Text = "Promoter"; break; case "S": _permissions.Text = "AppSupport"; break; case "U": _permissions.Text = "AppUsers"; break; } if (_permissions.ToolTip == "1") { _permissions.Text += " (R/D)"; } } lblNone.Visible = (rptAccounts.Items.Count == 0); // STORAGE if (drSummary["storage"].ToString() == "1") { if (drSummary["persistent"].ToString() == "1") { panStorage.Visible = true; int intPersistent = oDesign.GetStorageTotal(intID); if (intPersistent > 0) { lblStorage.Text = "Persistent, " + intPersistent.ToString() + " GB(s)"; } } else if (drSummary["persistent"].ToString() == "0") { int intNonPersistent = 0; Int32.TryParse(drSummary["non_persistent"].ToString(), out intNonPersistent); if (intNonPersistent > 0) { lblStorage.Text = "Non-Persistent, " + intNonPersistent.ToString() + " GB(s)"; } } else { panStorage.Visible = true; int intStorage = oDesign.GetStorageTotal(intID); if (intStorage > 0) { lblStorage.Text = intStorage.ToString() + " GB(s)"; } } } else if (drSummary["storage"].ToString() == "0") { lblStorage.Text = "No"; } // STORAGE LUNs rptStorage.DataSource = oDesign.GetStorageDrives(intID); rptStorage.DataBind(); foreach (RepeaterItem ri in rptStorage.Items) { CheckBox _shared = (CheckBox)ri.FindControl("chkStorageSize"); _shared.Checked = (_shared.Text == "1"); _shared.Text = ""; } if (boolWindows) { trStorageApp.Visible = true; DataSet dsApp = oDesign.GetStorageDrive(intID, -1000); if (dsApp.Tables[0].Rows.Count > 0) { int intTemp = 0; if (Int32.TryParse(dsApp.Tables[0].Rows[0]["size"].ToString(), out intTemp) == true) { txtStorageSizeE.Text = intTemp.ToString(); } } } if (oDesign.IsProd(intID) == true || oDesign.IsQA(intID) == true) { // BACKUP panBackup.Visible = true; lblFrequency.Text = (drSummary["backup_frequency"].ToString() == "D" ? "Daily" : (drSummary["backup_frequency"].ToString() == "W" ? "Weekly" : (drSummary["backup_frequency"].ToString() == "M" ? "Monthly" : "N / A"))); strBackup = new StringBuilder(); DataSet dsBackup = oDesign.GetBackup(intID); if (dsBackup.Tables[0].Rows.Count > 0) { DataRow drBackup = dsBackup.Tables[0].Rows[0]; for (int ii = 0; ii < 7; ii++) { strBackup.Append("<tr>"); strBackup.Append("<td>"); string strCheck = ""; if (ii == 0) { strBackup.Append("Sunday"); strCheck = drBackup["sun"].ToString(); } else if (ii == 1) { strBackup.Append("Monday"); strCheck = drBackup["mon"].ToString(); } else if (ii == 2) { strBackup.Append("Tuesday"); strCheck = drBackup["tue"].ToString(); } else if (ii == 3) { strBackup.Append("Wednesday"); strCheck = drBackup["wed"].ToString(); } else if (ii == 4) { strBackup.Append("Thursday"); strCheck = drBackup["thu"].ToString(); } else if (ii == 5) { strBackup.Append("Friday"); strCheck = drBackup["fri"].ToString(); } else { strBackup.Append("Saturday"); strCheck = drBackup["sat"].ToString(); } strBackup.Append("</td>"); for (int jj = 0; jj < 24; jj++) { strBackup.Append("<td>"); if (strCheck[jj] == '1') { strBackup.Append("<b>B</b>"); } else { strBackup.Append("-"); } strBackup.Append("</td>"); } strBackup.Append("</tr>"); } } // BACKUP EXCLUSIONS panExclusions.Visible = true; rptExclusions.DataSource = oDesign.GetExclusions(intID); rptExclusions.DataBind(); lblExclusion.Visible = (rptExclusions.Items.Count == 0); // MAINTENANCE WINDOW panMaintenance.Visible = true; strMaintenance = new StringBuilder(); DataSet dsMaintenance = oDesign.GetMaintenance(intID); if (dsMaintenance.Tables[0].Rows.Count > 0) { DataRow drMaintenance = dsMaintenance.Tables[0].Rows[0]; for (int ii = 0; ii < 7; ii++) { strMaintenance.Append("<tr>"); strMaintenance.Append("<td>"); string strCheck = ""; if (ii == 0) { strMaintenance.Append("Sunday"); strCheck = drMaintenance["sun"].ToString(); } else if (ii == 1) { strMaintenance.Append("Monday"); strCheck = drMaintenance["mon"].ToString(); } else if (ii == 2) { strMaintenance.Append("Tuesday"); strCheck = drMaintenance["tue"].ToString(); } else if (ii == 3) { strMaintenance.Append("Wednesday"); strCheck = drMaintenance["wed"].ToString(); } else if (ii == 4) { strMaintenance.Append("Thursday"); strCheck = drMaintenance["thu"].ToString(); } else if (ii == 5) { strMaintenance.Append("Friday"); strCheck = drMaintenance["fri"].ToString(); } else { strMaintenance.Append("Saturday"); strCheck = drMaintenance["sat"].ToString(); } strMaintenance.Append("</td>"); for (int jj = 0; jj < 24; jj++) { strMaintenance.Append("<td>"); if (strCheck[jj] == '1') { strMaintenance.Append("<b>M</b>"); } else { strMaintenance.Append("-"); } strMaintenance.Append("</td>"); } strMaintenance.Append("</tr>"); } } } else { lblHA.Text = "N / A"; lblMainframe.Text = "N / A"; } // APPROVALS rptWorkflow.DataSource = oDesign.LoadWorkflow(intID); rptWorkflow.DataBind(); lblWorkflow.Visible = (rptWorkflow.Items.Count == 0); } } }