Exemple #1
0
        public SamplePojo addSample(SamplePojo samplePojo)
        {
            SQLiteTransaction transact = Program.conn.BeginTransaction();

            SQLiteCommand addObjects = new SQLiteCommand(INSERT, Program.conn, transact);

            addObjects.Parameters.Add(new SQLiteParameter("@id", null));
            addObjects.Parameters.Add(new SQLiteParameter("@Name", samplePojo.name));
            addObjects.Parameters.Add(new SQLiteParameter("@Date", samplePojo.Date));

            try
            {
                addObjects.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                transact.Rollback();
                if (ex.Message.Contains("FOREIGN"))
                {
                    MessageBox.Show("Ошибка добавления",
                                    "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(null);
                }
                throw new Exception(ex.Message);
            }
            samplePojo.id = SQLLiteUtil.getLastRowId();

            foreach (MetaObject metaItem in samplePojo.metaList)
            {
                metaItem.SampleId = samplePojo.id;
                SQLiteCommand addMetaForObject = new SQLiteCommand(INSERT_META, Program.conn, transact);
                addMetaForObject.Parameters.Add(new SQLiteParameter("@id", null));
                addMetaForObject.Parameters.Add(new SQLiteParameter("@value", metaItem.Value));
                addMetaForObject.Parameters.Add(new SQLiteParameter("@Type", metaItem.type));
                addMetaForObject.Parameters.Add(new SQLiteParameter("@SampeId", metaItem.SampleId));
                try
                {
                    addMetaForObject.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    logger.Error(ex);
                    transact.Rollback();
                    if (ex.Message.Contains("FOREIGN"))
                    {
                        MessageBox.Show("Данную запись нельзя добавить.",
                                        "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return(null);
                    }
                    throw new Exception(ex.Message);
                }
            }

            transact.Commit();

            return(samplePojo);
        }
        public ObjectOfInvestigationPojo addObjectOfInvestigation(ObjectOfInvestigationPojo objectOfInvestigation)
        {
            SQLiteTransaction transact = Program.conn.BeginTransaction();

            SQLiteCommand addObjects = new SQLiteCommand(INSERT, Program.conn, transact);

            addObjects.Parameters.Add(new SQLiteParameter("@id", null));
            addObjects.Parameters.Add(new SQLiteParameter("@name", objectOfInvestigation.name));

            try
            {
                addObjects.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                transact.Rollback();
                if (ex.Message.Contains("FOREIGN"))
                {
                    MessageBox.Show("Данную запись нельзя удалить.\nОна используется в связанных таблицах.",
                                    "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(null);
                }
                throw new Exception(ex.Message);
            }
            objectOfInvestigation.id = SQLLiteUtil.getLastRowId();

            foreach (Characteristic characteristic in objectOfInvestigation.characteristics)
            {
                SQLiteCommand addCharactsForObject = new SQLiteCommand(INSERT_CHARACTS, Program.conn, transact);
                addCharactsForObject.Parameters.Add(new SQLiteParameter("@InputParameterId", characteristic.id));
                addCharactsForObject.Parameters.Add(new SQLiteParameter("@SampeTypeId", objectOfInvestigation.id));
                try
                {
                    addCharactsForObject.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    logger.Error(ex);
                    transact.Rollback();
                    if (ex.Message.Contains("FOREIGN"))
                    {
                        MessageBox.Show("Данную запись нельзя удалить.\nОна используется в связанных таблицах.",
                                        "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return(null);
                    }
                    throw new Exception(ex.Message);
                }
            }

            transact.Commit();

            return(objectOfInvestigation);
        }
Exemple #3
0
        public Characteristic addCharacteristic(Characteristic characteristic)
        {
            SQLiteCommand insertSQL = new SQLiteCommand(INSERT, Program.conn);

            insertSQL.Parameters.Add(new SQLiteParameter("@id", null));
            insertSQL.Parameters.Add(new SQLiteParameter("@name", characteristic.name));
            insertSQL.Parameters.Add(new SQLiteParameter("@type", characteristic.type.getTypeOrdinal().ToString()));
            try
            {
                insertSQL.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw new Exception(ex.Message);
            }
            characteristic.id = SQLLiteUtil.getLastRowId();
            return(characteristic);
        }