public static IDbConnection GetConnection(RepositoryDbProvider dbProvider, string connectionString)
        {
            IDbConnection connection;

            switch (dbProvider)
            {
            case RepositoryDbProvider.MariaDb:
                connection = MySqlUtility.GetConnection(connectionString);
                break;

            case RepositoryDbProvider.PostgreSql:
                connection = PgSqlUtility.GetConnection(connectionString);
                break;

            case RepositoryDbProvider.Oracle:
                connection = OracleUtility.NewConnection(connectionString);
                break;

            default:
                connection = MySqlUtility.GetConnection(connectionString);
                break;
            }
            return(connection);
        }
        public InactiveSubject GetInActiveSubject(string subjectId)
        {
            using (var con = new OracleConnection(OracleUtility.conString))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = $"SELECT * FROM {OracleDbTableName.InactiveSubject} WHERE Id=:Id";
                cmd.Parameters.Add("Id", subjectId);
                cmd.CommandType = CommandType.Text;

                var da = new OracleDataAdapter();
                da.SelectCommand = cmd;
                var ds = new DataSet();
                da.Fill(ds);
                var dt = ds.Tables[0];

                if (dt.Rows.Count > 0)
                {
                    return(OracleUtility.GetInactiveSubject(dt.Rows[0]));
                }

                return(null);
            }
        }
        public IEnumerable <InactiveSubject> ListInActiveSubject(string siteId)
        {
            using (var con = new OracleConnection(OracleUtility.conString))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = $"SELECT * FROM {OracleDbTableName.InactiveSubject} WHERE SiteId=:SiteId";
                cmd.Parameters.Add("SiteId", siteId);
                cmd.CommandType = CommandType.Text;

                var da = new OracleDataAdapter();
                da.SelectCommand = cmd;
                var ds = new DataSet();
                da.Fill(ds);
                var dt = ds.Tables[0];

                var subjects = Enumerable.Empty <InactiveSubject>().ToList();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    subjects.Add(OracleUtility.GetInactiveSubject(dt.Rows[i]));
                }
                return(subjects);
            }
        }
Exemple #4
0
        public IEnumerable <QuestionSuiteVM> GetAllQuestionSuiteBySubjectId(string SubjectId)
        {
            using (var con = new OracleConnection(OracleUtility.conString))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = $"SELECT * FROM {OracleDbTableName.QuestionSuite} WHERE SubjectId=:SubjectId";
                cmd.Parameters.Add("SubjectId", SubjectId);
                cmd.CommandType = CommandType.Text;

                var da = new OracleDataAdapter();
                da.SelectCommand = cmd;
                var ds = new DataSet();
                da.Fill(ds);
                var dt = ds.Tables[0];

                var questionSuites = Enumerable.Empty <QuestionSuiteVM>().ToList();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    questionSuites.Add(OracleUtility.GetQuestionSuite(dt.Rows[i]));
                }

                foreach (var questionSuite in questionSuites)
                {
                    var cmd2 = con.CreateCommand();
                    cmd2.CommandText = $"SELECT * FROM {OracleDbTableName.Question} WHERE QuestionSuiteId=:QuestionSuiteId";
                    cmd2.Parameters.Add("QuestionSuiteId", questionSuite._id);
                    cmd2.CommandType = CommandType.Text;

                    var da2 = new OracleDataAdapter();
                    da2.SelectCommand = cmd2;
                    ds = new DataSet();
                    da2.Fill(ds);
                    dt = ds.Tables[0];

                    var questions = Enumerable.Empty <MultipleChoiceQuestionWithOneCorrectAnswer>().ToList();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        questions.Add(OracleUtility.GetQuestion(dt.Rows[i]));
                    }
                    questionSuite.Questions = questions;

                    foreach (var question in questions)
                    {
                        var cmd3 = con.CreateCommand();
                        cmd3.CommandText = $"SELECT * FROM {OracleDbTableName.Choice} WHERE QuestionId=:QuestionId";
                        cmd3.Parameters.Add("QuestionId", question._id);
                        cmd3.CommandType = CommandType.Text;

                        var da3 = new OracleDataAdapter();
                        da3.SelectCommand = cmd3;
                        ds = new DataSet();
                        da3.Fill(ds);
                        dt = ds.Tables[0];

                        var choices = Enumerable.Empty <SelectableChoice>().ToList();
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            choices.Add(OracleUtility.GetChoice(dt.Rows[i]));
                        }
                        question.Choices = choices;
                    }
                }

                return(questionSuites);
            }
        }