//******************************* // Удалить фигуру //******************************* public int DeleteFigur(Figur figur) { int ret = 0; //Поссмотрим ссылки if (ReadListProjectFigur(figur).Count == 0) { //Удалим вершины if (DeleteVertexFigur(figur) == 0) { try { //Удалим фигуру cmd.CommandText = "DELETE FROM figur WHERE cod = " + figur.cod.ToString(); cmd.ExecuteNonQuery(); } catch { ret = -1; } } else { ret = -1; } } else { //Удалить нельзя, есть ссылка на этот документ ret = -1; } return(ret); }
//******************************* // Удалить вершины фигуру //******************************* public int DeleteVertexFigur(Figur figur) { int ret = 0; cmd.CommandText = "DELETE FROM vertex WHERE cod = " + figur.cod.ToString(); try { cmd.ExecuteNonQuery(); } catch { ret = -1; } return(ret); }
//******************************* // Изменит фигуру //******************************* public int WriteFigur(Figur figur) { int ret = 0; cmd.CommandText = "UPDATE figur SET name = '" + figur.name + "' WHERE cod = " + figur.cod.ToString(); try { cmd.ExecuteNonQuery(); } catch { ret = -1; } return(ret); }
//******************************* // Добавить фигуру //******************************* public int AddFigur(Figur figur) { int ret = 0; cmd.CommandText = "INSERT INTO figur(name) " + "VALUES ('" + figur.name + "')"; try { cmd.ExecuteNonQuery(); ret = (int)connect.LastInsertRowId; } catch { ret = -1; } return(ret); }
//******************************* // Список проектов по фигуре //******************************* public ArrayList ReadListProjectFigur(Figur figur) { ArrayList ret = new ArrayList(); cmd.CommandText = "SELECT cod, codfigur, col FROM figurpr WHERE codfigur = " + figur.cod.ToString() + " ORDER BY codfigur"; try { SQLiteDataReader r = cmd.ExecuteReader(); while (r.Read()) { ret.Add(new FigurPr((long)r["cod"], (long)r["codfigur"], (long)r["col"])); } r.Close(); } catch { } return(ret); }
//******************************* // Получить список вершин фигур //******************************* public ArrayList ReadListVertexFigur(Figur figur) { ArrayList ret = new ArrayList(); cmd.CommandText = "SELECT cod, num, x, y FROM vertex WHERE cod = " + figur.cod.ToString() + " ORDER BY num"; try { SQLiteDataReader r = cmd.ExecuteReader(); while (r.Read()) { ret.Add(new Vertex((long)r["cod"], (long)r["num"], Convert.ToSingle(r["x"]), Convert.ToSingle(r["y"]))); } r.Close(); } catch { } return(ret); }