Пример #1
0
        private IActionResult getTemporaryTable()
        {
            List <TemporaryTableModel> result = new List <TemporaryTableModel> ();
            var connString = ConnectionSettings.getConnectionString();

            using (var conn = new NpgsqlConnection(connString)) {
                conn.Open();
                string command = "SELECT * FROM temporary ORDER BY id;";

                using (var cmd = new NpgsqlCommand(command, conn))
                    using (var reader = cmd.ExecuteReader()) {
                        while (reader.Read())
                        {
                            TemporaryTableModel query = new TemporaryTableModel(reader);
                            result.Add(query);
                        }
                    }
            }
            return(View("AdminPanel", result));
        }
Пример #2
0
        private TemporaryTableModel getRowFromTemporaryTable(int id)
        {
            List <TemporaryTableModel> result = new List <TemporaryTableModel> ();
            var connString = ConnectionSettings.getConnectionString();

            using (var conn = new NpgsqlConnection(connString)) {
                conn.Open();
                string command = "SELECT * FROM temporary WHERE id = " + id + "ORDER BY id;";

                using (var cmd = new NpgsqlCommand(command, conn))
                    using (var reader = cmd.ExecuteReader()) {
                        while (reader.Read())
                        {
                            TemporaryTableModel query = new TemporaryTableModel(reader);
                            result.Add(query);
                        }
                    }
            }
            return(result[0]);
        }
Пример #3
0
        private void AcceptRow(string id)
        {
            var connString = ConnectionSettings.getConnectionString();

            TemporaryTableModel sequenceData = getRowFromTemporaryTable(Convert.ToInt32(id));
            //dodać do funkcji get niezwracanie uwagi na wielkość liter
            int taxonID   = sequenceData.getTaxonID(connString);
            int speciesID = sequenceData.getSpeciesID(connString, taxonID);
            int journalID = sequenceData.getJournalID(connString);
            int articleID = sequenceData.getArticleID(connString, journalID);

            string insert = "INSERT INTO sequence (article, species, name, genbank, seq, about) VALUES ";
            string values = " (" + articleID + ", " + speciesID + ", '" + sequenceData.sequenceName + "', '" + sequenceData.genbank +
                            "', '" + sequenceData.sequence + "', '" + sequenceData.about + "');";
            string command = insert + values;

            using (var conn = new NpgsqlConnection(connString)) {
                conn.Open();
                var cmd = new NpgsqlCommand(command, conn);
                cmd.ExecuteNonQuery();
            }
            DeleteFromTable(id);
        }
Пример #4
0
        [Route("SubmitData")] public IActionResult SubmitData([FromForm] TemporaryTableModel sequenceData)
        {
            var connString = ConnectionSettings.getConnectionString();

            Dictionary <string, string> valuesDictionary = new Dictionary <string, string> ();

            valuesDictionary.Add("p0", "sequenceData.name");
            valuesDictionary.Add("p1", "sequenceData.contact");
            valuesDictionary.Add("p2", "sequenceData.sequenceName");
            valuesDictionary.Add("p3", "sequenceData.genbank");
            valuesDictionary.Add("p4", "sequenceData.sequence");
            valuesDictionary.Add("p5", "sequenceData.about");
            valuesDictionary.Add("p6", "sequenceData.taxon");
            valuesDictionary.Add("p7", "sequenceData.species");
            valuesDictionary.Add("p8", "sequenceData.journal");
            valuesDictionary.Add("p9", " sequenceData.article");
            valuesDictionary.Add("p10", " sequenceData.articleLink");

            string columns = "name, contact, seq_name, genbank, seq, about, taxon, species, journal, article_name, article_link";
            string values  = "";

            for (int i = 0; i < valuesDictionary.Count; i++)
            {
                values += "@p" + i;
                if (i != valuesDictionary.Count - 1)
                {
                    values += ",";
                }
            }

            string command       = "INSERT INTO temporary (" + columns + ") VALUES (" + values + ");";
            string selectCommand = "SELECT genbank FROM sequence WHERE genbank = @p3;";

            var results = new List <string> ();

            using (var conn = new NpgsqlConnection(connString)) {
                conn.Open();
                using (var cmd = new NpgsqlCommand(selectCommand, conn)) {
                    foreach (var pair in valuesDictionary)
                    {
                        cmd.Parameters.AddWithValue(pair.Key, pair.Value);
                    }
                    using (var reader = cmd.ExecuteReader()) {
                        while (reader.Read())
                        {
                            results.Add(reader.GetString(0));
                        }
                    }
                }
                if (results.Count == 0)
                {
                    using (var cmd = new NpgsqlCommand(command, conn)) {
                        foreach (var pair in valuesDictionary)
                        {
                            cmd.Parameters.AddWithValue(pair.Key, pair.Value);
                        }
                        cmd.ExecuteNonQuery();
                    }
                    return(RedirectToAction("SubmitMessage", "Home", new { area = "Home" }));
                }
                else
                {
                    return(RedirectToAction("SubmitFail", "Home", new { area = "Home" }));
                }
            }
        }