예제 #1
0
        public async Task ImportTranscriptAsync(int portfolioId, int schoolId, string studentNumber, string studentName, string dateOfBirth, string emailAddress)
        {
            var result       = _sql.Query <int?>("SELECT MAX(TranscriptId) FROM ApplicationPlanner.Transcript").FirstOrDefault();
            var transcriptId = result == null ? 1000000 : result + 1;

            await _sql.ExecuteAsync(
                sql : "[ApplicationPlanner].[TranscriptInsert]",
                param : new
            {
                TranscriptId  = transcriptId,
                SchoolId      = schoolId,
                StudentNumber = studentNumber,
                StudentName   = studentName,
                DateOfBirth   = dateOfBirth,
                EmailAddress  = emailAddress
            },
                commandType : CommandType.StoredProcedure);

            await _sql.ExecuteAsync(
                sql : "[ApplicationPlanner].[TranscriptLogInsert]",
                param : new
            {
                TranscriptId  = transcriptId,
                SchoolId      = schoolId,
                StudentNumber = studentNumber,
                StudentName   = studentName,
                DateOfBirth   = dateOfBirth,
                EmailAddress  = emailAddress
            },
                commandType : CommandType.StoredProcedure);

            if (portfolioId > 0)
            {
                await _sql.ExecuteAsync(
                    sql : "[ApplicationPlanner].[MatchTranscript]",
                    param : new
                {
                    PortfolioId  = portfolioId,
                    TranscriptId = transcriptId,
                    IsAutoLink   = 1
                },
                    commandType : CommandType.StoredProcedure);
            }
        }