public override PagedData ProcessRequest(HttpContext context, CookDBDataContext db) { string user_name = context.Request.Params.Get("user_name"); if (isNull(user_name)) { return(new PagedData("CreateNewProject.ashx expects a user_name")); } ProjectInformation newProject = new ProjectInformation(); newProject.locked = true; //start the project off as locked by the user who created it newProject.user_name = user_name; // db.ProjectInformations.InsertOnSubmit(newProject); db.SubmitChanges(); //create the new project so we can have a new project_id with which to create new records in other tables //create a new record in dependent tables MISNew newMISNew = new MISNew(); newMISNew.project_id = newProject.project_id; db.MISNews.InsertOnSubmit(newMISNew); db.SubmitChanges(); MISNewDelivery newMISDelivery = new MISNewDelivery(); newMISDelivery.mis_new_id = newMISNew.mis_new_id; db.MISNewDeliveries.InsertOnSubmit(newMISDelivery); MISUpdate newMISUpdate = new MISUpdate(); newMISUpdate.project_id = newProject.project_id; newMISUpdate.description = ""; db.MISUpdates.InsertOnSubmit(newMISUpdate); db.SubmitChanges(); MISUpdateDeliveryChange newMISUpdateDeliveryChange = new MISUpdateDeliveryChange(); newMISUpdateDeliveryChange.mis_update_id = newMISUpdate.mis_update_id; db.MISUpdateDeliveryChanges.InsertOnSubmit(newMISUpdateDeliveryChange); ProdInstallationBuffet prodBuffet = new ProdInstallationBuffet(); prodBuffet.project_id = newProject.project_id; db.ProdInstallationBuffets.InsertOnSubmit(prodBuffet); PromptWorksheet promptWorksheet = new PromptWorksheet(); promptWorksheet.project_id = newProject.project_id; promptWorksheet.prompt_worksheet = ""; promptWorksheet.prompt_summary = ""; db.PromptWorksheets.InsertOnSubmit(promptWorksheet); SWDSchedule swdSchedule = new SWDSchedule(); swdSchedule.project_id = newProject.project_id; db.SWDSchedules.InsertOnSubmit(swdSchedule); TrafficRequirement trafficRequirement = new TrafficRequirement(); trafficRequirement.project_id = newProject.project_id; db.TrafficRequirements.InsertOnSubmit(trafficRequirement); UatProdInstall uatProdInstall = new UatProdInstall(); uatProdInstall.project_id = newProject.project_id; db.UatProdInstalls.InsertOnSubmit(uatProdInstall); db.SubmitChanges(); //insert a history note that the project was created ProjectHistory historyNote = new ProjectHistory(); historyNote.project_id = newProject.project_id; historyNote.user_name = user_name; historyNote.description = "Project created"; historyNote.date = DateTime.Today.ToString("yyyy-MM-dd"); db.ProjectHistories.InsertOnSubmit(historyNote); db.SubmitChanges(); return(new PagedData(new { newProject.project_id })); }
public override PagedData ProcessRequest(HttpContext context, CookDBDataContext db) { System.IO.StreamReader reader = new System.IO.StreamReader(context.Request.InputStream, context.Request.ContentEncoding); var jsonSerializer = new JsonSerializer(); JObject blob = (JObject)jsonSerializer.Deserialize(new JsonTextReader(new StringReader(reader.ReadToEnd()))); string comments = "comments: "; string filter = context.Request.Params.Get("project_id"); //string panelHeaders = context.Request.Params.Get("panel_headers"); if (!isNull(filter)) { try { UatProdInstall currProjUATInfo = db.UatProdInstalls.Single(a => a.project_id.Equals(int.Parse(filter))); //UAT Install Details currProjUATInfo.uat_install_date = processRecord(blob["uatprodinstallUATInstallDate"]); currProjUATInfo.uat_install_node = processRecord(blob["uatprodinstallUATInstallNodes"]); currProjUATInfo.uat_install_comments = processRecord(blob["uatprodinstallUATInstallComments"]); if (blob["uatInstallDetailsStagingFolderId"] != null) { if (blob["uatInstallDetailsStagingFolderId"].GetType() == typeof(JValue)) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)blob["uatInstallDetailsStagingFolderId"])); link.folder = (String)blob["uatInstallStagingFolderLink"]; link.notes = (String)blob["uatInstallStagingFolderNotes"]; } else { for (int i = 0; i < ((JArray)blob["uatInstallDetailsStagingFolderId"]).Count; i++) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)((JArray)blob["uatInstallDetailsStagingFolderId"])[i])); link.folder = (String)((JArray)blob["uatInstallStagingFolderLink"])[i]; link.notes = (String)((JArray)blob["uatInstallStagingFolderNotes"])[i]; } } } //PROD Install Details currProjUATInfo.uat_date = processRecord(blob["uatprodinstallUatDate"]); currProjUATInfo.uat_node = processRecord(blob["uatprodinstallUatNode"]); currProjUATInfo.uat_usan_ccr = processRecord(blob["uatprodinstallUatUsanCCR"]); currProjUATInfo.uat_ccr = processRecord(blob["uatprodinstallUatCCR"]); currProjUATInfo.uat_maintenance_start = processRecord(blob["uatprodinstallUatMaintenanceStart"]); currProjUATInfo.uat_conference_start = processRecord(blob["uatprodinstallUatConferenceStart"]); currProjUATInfo.uat_conference_bridge = processRecord(blob["uatprodinstallUatConferenceBridge"]); currProjUATInfo.prod_post_install_notification = processRecord(blob["uatprodinstallProductionPostInstallNotification"]); currProjUATInfo.prod_install_comments = processRecord(blob["uatprodinstallProdInstallComments"]); if (blob["productionInstallDetailsStagingFolderId"] != null) { if (blob["productionInstallDetailsStagingFolderId"].GetType() == typeof(JValue)) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)blob["productionInstallDetailsStagingFolderId"])); link.folder = (String)blob["productionInstallStagingFolderLink"]; link.notes = (String)blob["productionInstallStagingFolderNotes"]; } else { for (int i = 0; i < ((JArray)blob["productionInstallDetailsStagingFolderId"]).Count; i++) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)((JArray)blob["productionInstallDetailsStagingFolderId"])[i])); link.folder = (String)((JArray)blob["productionInstallStagingFolderLink"])[i]; link.notes = (String)((JArray)blob["productionInstallStagingFolderNotes"])[i]; } } } //SOAK Install Details //panel 1 - SCU currProjUATInfo.scu_date = processRecord(blob["uatprodinstallSoakPanel1Date"]); currProjUATInfo.scu_node = processRecord(blob["uatprodinstallSoakPanel1Node"]); currProjUATInfo.scu_usan_ccr = processRecord(blob["uatprodinstallSoakPanel1UsanCCR"]); currProjUATInfo.scu_ccr = processRecord(blob["uatprodinstallSoakPanel1CCR"]); currProjUATInfo.scu_maintenance_start = processRecord(blob["uatprodinstallSoakPanel1MaintenanceStart"]); currProjUATInfo.column1 = processRecord(blob["uatProdInstallSoakPanel1Hidden"]); //panel 2 - WOR currProjUATInfo.wor_date = processRecord(blob["uatprodinstallSoakPanel2Date"]); currProjUATInfo.wor_node = processRecord(blob["uatprodinstallSoakPanel2Node"]); currProjUATInfo.wor_usan_ccr = processRecord(blob["uatprodinstallSoakPanel2UsanCCR"]); currProjUATInfo.wor_ccr = processRecord(blob["uatprodinstallSoakPanel2CCR"]); currProjUATInfo.wor_maintenance_start = processRecord(blob["uatprodinstallSoakPanel2MaintenanceStart"]); currProjUATInfo.column2 = processRecord(blob["uatProdInstallSoakPanel2Hidden"]); //panel 3 - CPZ currProjUATInfo.cpz_date = processRecord(blob["uatprodinstallSoakPanel3Date"]); currProjUATInfo.cpz_node = processRecord(blob["uatprodinstallSoakPanel3Node"]); currProjUATInfo.cpz_usan_ccr = processRecord(blob["uatprodinstallSoakPanel3UsanCCR"]); currProjUATInfo.cpz_ccr = processRecord(blob["uatprodinstallSoakPanel3CCR"]); currProjUATInfo.cpz_maintenance_start = processRecord(blob["uatprodinstallSoakPanel3MaintenanceStart"]); currProjUATInfo.column3 = processRecord(blob["uatProdInstallSoakPanel3Hidden"]); //panel 4 - Prod currProjUATInfo.prod_date = processRecord(blob["uatprodinstallSoakPanel4Date"]); currProjUATInfo.prod_node = processRecord(blob["uatprodinstallSoakPanel4Node"]); currProjUATInfo.prod_usan_ccr = processRecord(blob["uatprodinstallSoakPanel4UsanCCR"]); currProjUATInfo.prod_ccr = processRecord(blob["uatprodinstallSoakPanel4CCR"]); currProjUATInfo.prod_maintenance_start = processRecord(blob["uatprodinstallSoakPanel4MaintenanceStart"]); currProjUATInfo.column4 = processRecord(blob["uatProdInstallSoakPanel4Hidden"]); currProjUATInfo.post_install_notification = processRecord(blob["uatprodinstallSoakPostInstallNotification"]); currProjUATInfo.comments = processRecord(blob["uatprodinstallSoakInstallComments"]); if (blob["soakInstallDetailsStagingFolderId"] != null) { if (blob["soakInstallDetailsStagingFolderId"].GetType() == typeof(JValue)) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)blob["soakInstallDetailsStagingFolderId"])); link.folder = (String)blob["soakInstallStagingFolderLink"]; link.notes = (String)blob["soakInstallStagingFolderNotes"]; } else { for (int i = 0; i < ((JArray)blob["soakInstallDetailsStagingFolderId"]).Count; i++) { StagingFolder link = db.StagingFolders.Single(a => a.staging_folder_id.Equals((String)((JArray)blob["soakInstallDetailsStagingFolderId"])[i])); link.folder = (String)((JArray)blob["soakInstallStagingFolderLink"])[i]; link.notes = (String)((JArray)blob["soakInstallStagingFolderNotes"])[i]; } } } db.SubmitChanges(); } catch (Exception e) { return(new PagedData("Error: Please show Cookbook Admin! " + e.ToString())); } return(new PagedData("Uat Prod Install saved. " + comments)); } return(new PagedData("UpdateUatProdInstall.ashx required a project_id")); }