public HomeController() { _ctx = new AimsDbContext(); }
private object GetItemDetails(string ViewName, long?Id, AimsDbContext ctx) { try { if (Id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest).ToString()); } string queryString = string.Empty; queryString = string.Format("SELECT * FROM [vw{0}] WHERE GrantId = {1} ORDER BY GrantId DESC", ViewName, Id); object item = new object(); // awful code that needs to be refactored switch (ViewName) { case "AccountingRecordsSummary": item = ctx.Database.SqlQuery <AccountingRecordsSummary>(GenerateQuery("AccountingRecordsSummary", Id)).ToList().FirstOrDefault(); return(item); case "BeneficiarySummary": item = ctx.Database.SqlQuery <BeneficiarySummary>(GenerateQuery("BeneficiarySummary", Id)).ToList().FirstOrDefault(); return(item); case "BoardSummary": item = ctx.Database.SqlQuery <BoardSummary>(GenerateQuery("BoardSummary", Id)).ToList(); return(item); case "CapacityNeedsSummary": item = ctx.Database.SqlQuery <CapacityNeedsSummary>(GenerateQuery("CapacityNeedsSummary", Id)).ToList().FirstOrDefault(); return(item); case "ExpectedChangesSummary": item = ctx.Database.SqlQuery <ExpectedChangesSummary>(GenerateQuery("ExpectedChangesSummary", Id)).ToList().FirstOrDefault(); return(item); case "FinancialInfoSummary": item = ctx.Database.SqlQuery <FinancialInfoSummary>(GenerateQuery("FinancialInfoSummary", Id)).ToList().FirstOrDefault(); return(item); case "GrantInfoSummary": item = ctx.Database.SqlQuery <GrantInfoSummary>(GenerateQuery("GrantInfoSummary", Id)).ToList().FirstOrDefault(); return(item); case "GrantRequestInfoSummary": item = ctx.Database.SqlQuery <GrantRequestInfoSummary>(GenerateQuery("GrantRequestInfoSummary", Id)).ToList().FirstOrDefault(); return(item); case "InternalControlsSummary": item = ctx.Database.SqlQuery <InternalControlsSummary>(GenerateQuery("InternalControlsSummary", Id)).ToList().FirstOrDefault(); return(item); case "MandESummary": item = ctx.Database.SqlQuery <MandESummary>(GenerateQuery("MandESummary", Id)).ToList().FirstOrDefault(); return(item); case "ProjectSummary": item = ctx.Database.SqlQuery <ProjectSummary>(GenerateQuery("ProjectSummary", Id)).ToList().FirstOrDefault(); return(item); case "RiskAssessmentSummary": item = ctx.Database.SqlQuery <RiskAssessmentSummary>(GenerateQuery("RiskAssessmentSummary", Id)).ToList().FirstOrDefault(); return(item); case "StaffSummary": item = ctx.Database.SqlQuery <StaffSummary>(GenerateQuery("StaffSummary", Id)).ToList(); return(item); default: return(null); } } catch (ArgumentNullException ane) { throw ane; } catch (FormatException fe) { throw fe; } catch (Exception ex) { throw ex; } }
public ActionResult GrantSummary(GrantSummary grantSummary) { var identityName = Thread.CurrentPrincipal.Identity.Name; string errorParam = string.Empty; var grantId = grantSummary.GrantInfoSummary.GrantId; string grantNotesJson = Request.Form["grantNotesJson"]; _sectionNotes = JsonConvert.DeserializeObject <HashSet <SectionNote> >(grantNotesJson); using (var ctx = new AimsDbContext()) { // define the SectionNotes data table DataTable sectionNotesDt = new DataTable(); // add columns to dt sectionNotesDt.Columns.Add("GrantId", typeof(long)); // [0] sectionNotesDt.Columns.Add("ProjectSummaryNote", typeof(string)); // [1] sectionNotesDt.Columns.Add("GrantRequestInfoSummaryNote", typeof(string)); // [2] sectionNotesDt.Columns.Add("BeneficiarySummaryNote", typeof(string)); // [3] sectionNotesDt.Columns.Add("ExpectedChangesSummaryNote", typeof(string)); // [4] sectionNotesDt.Columns.Add("CapacityNeedsSummaryNote", typeof(string)); // [5] sectionNotesDt.Columns.Add("RiskAssessmentSummaryNote", typeof(string)); // [6] sectionNotesDt.Columns.Add("MandESummaryNote", typeof(string)); // [7] sectionNotesDt.Columns.Add("FinancialInfoSummaryNote", typeof(string)); // [8] sectionNotesDt.Columns.Add("GovernanceAndHRSummaryNote", typeof(string)); // [9] sectionNotesDt.Columns.Add("AccountingRecordsSummaryNote", typeof(string)); // [10] sectionNotesDt.Columns.Add("InternalControlsSummaryNote", typeof(string)); // [11] sectionNotesDt.Columns.Add("InsertedDateTime", typeof(DateTime)); // [12] sectionNotesDt.Columns.Add("InsertedBy", typeof(string)); // [13] sectionNotesDt.Columns.Add("ModifiedDateTime", typeof(DateTime)); // [14] sectionNotesDt.Columns.Add("ModifiedBy", typeof(string)); // [15] // create new data row DataRow row = sectionNotesDt.NewRow(); // populate the grant id column row[0] = grantId; // iterate over the collection of notes foreach (var note in _sectionNotes) { // add section note to the related column row[note.SectionId] = note.Text; } // populate audit data row[12] = DateTime.Now; // InsertedDateTime row[13] = identityName; // InsertedBy row[14] = DateTime.Now; // ModifiedDateTime row[15] = identityName; // ModifiedBy // add the row to the data table sectionNotesDt.Rows.Add(row); // execute the stored proc against the db var sql = @"InsertGrantSectionNotes @SectionNotes, @Error OUT"; var result = ctx.Database.ExecuteSqlCommand(sql, parameters: new[] { new SqlParameter { ParameterName = "@SectionNotes", SqlDbType = SqlDbType.Structured, TypeName = "dbo.udtSectionNotes", Direction = ParameterDirection.Input, Value = sectionNotesDt }, new SqlParameter { ParameterName = "@Error", SqlDbType = SqlDbType.NVarChar, Direction = ParameterDirection.Output, Value = errorParam } }); if (errorParam != string.Empty) { throw new SqlExecutionException(errorParam); } // send the data back to the workflow to send back to the grantee } if (Session["grantSummaryData"] != null) { return(View("GrantSummary", (GrantSummary)Session["grantSummaryData"])); } return(View()); }