Пример #1
0
 public HomeController()
 {
     _ctx = new AimsDbContext();
 }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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());
        }