예제 #1
0
        private void LoadData()
        {
            taskDataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM events WHERE ID=" + id, connection);
            alertsDataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM events_alerts WHERE event_id=" + id, connection);

            dataSet = new System.Data.DataSet();

            var taskCommandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(taskDataAdapter);
            var alertsCommandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(alertsDataAdapter);

            taskDataAdapter.Fill(dataSet, "event");
            alertsDataAdapter.Fill(dataSet, "alerts");

            var parentColumn = dataSet.Tables["event"].Columns["ID"];

            {
                var childColumn = dataSet.Tables["alerts"].Columns["event_id"];
                var relation = new System.Data.DataRelation("event_alerts", parentColumn, childColumn);
                dataSet.Relations.Add(relation);
            }

            //var table = dataSet.Tables["event"];
            row = dataSet.Tables["event"].Rows[0];
            dataSet.Tables["event"].RowChanged += table_RowChanged;
            dataSet.Tables["alerts"].RowChanged += table_RowChanged;
            dataSet.Tables["alerts"].RowDeleted += table_RowDeleted;
            dataSet.Tables["alerts"].TableNewRow += table_TableNewRow;

            FillDeadline(row);
            FillTags(id);

            TaskGrid.DataContext = dataSet.Tables["event"].DefaultView;
            AlertsDataGrid.ItemsSource = dataSet.Tables["alerts"].DefaultView;
        }
예제 #2
0
        private void DataGrid_Initialized(object sender, System.EventArgs e)
        {
            connection = new System.Data.SQLite.SQLiteConnection("Data source=" + System.Environment.CurrentDirectory.ToString() + "\\ToDoAny.sqlite;Version=3;");
            dataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM priorities", connection);
            dataSet = new System.Data.DataSet();

            dataAdapter.TableMappings.Add("priorities", "priorities");
            var commandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(dataAdapter);
            
            dataAdapter.Fill(dataSet, "priorities");

            SourceDataTable = dataSet.Tables["priorities"];
        }
예제 #3
0
        private void LoadData()
        {
            taskDataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM tasks WHERE ID=" + id, connection);
            alertsDataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM tasks_alerts WHERE task_id=" + id, connection);
            subTasksDataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT ID, child_of, name FROM tasks WHERE child_of=" + id, connection);

            dataSet = new System.Data.DataSet();

            var taskCommandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(taskDataAdapter);
            var alertsCommandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(alertsDataAdapter);
            var subTasksCommandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(subTasksDataAdapter);

            taskDataAdapter.Fill(dataSet, "task");
            taskDataAdapter.AcceptChangesDuringUpdate = true;
            alertsDataAdapter.Fill(dataSet, "alerts");
            alertsDataAdapter.AcceptChangesDuringUpdate = true;
            subTasksDataAdapter.Fill(dataSet, "sub_tasks");
            subTasksDataAdapter.AcceptChangesDuringUpdate = true;

            var parentColumn = dataSet.Tables["task"].Columns["ID"];

            {
                var childColumn = dataSet.Tables["alerts"].Columns["task_id"];
                var relation = new System.Data.DataRelation("task_alerts", parentColumn, childColumn);
                dataSet.Relations.Add(relation);
            }
            {
                var childColumn = dataSet.Tables["sub_tasks"].Columns["child_of"];
                var relation = new System.Data.DataRelation("task_sub_tasks", parentColumn, childColumn);
                dataSet.Relations.Add(relation);
            }

            row = dataSet.Tables["task"].Rows[0];
            dataSet.Tables["task"].RowChanged += table_RowChanged;
            dataSet.Tables["alerts"].RowChanged += table_RowChanged;
            dataSet.Tables["alerts"].RowDeleted += table_RowDeleted;
            dataSet.Tables["alerts"].TableNewRow += table_TableNewRow;
            dataSet.Tables["sub_tasks"].RowChanged += table_RowChanged;
            dataSet.Tables["sub_tasks"].RowDeleted += table_RowDeleted;
            dataSet.Tables["sub_tasks"].TableNewRow += table_TableNewRow;

            FillDeadline(row);
            FillTags(id);

            TaskGrid.DataContext = dataSet.Tables["task"].DefaultView;
            AlertsDataGrid.ItemsSource = dataSet.Tables["alerts"].DefaultView;
            SubTasksDataGrid.ItemsSource = dataSet.Tables["sub_tasks"].DefaultView;

            FillPrioritiesComboBox();
        }
예제 #4
0
        public void Load()
        {
            dataAdapter.Dispose();
            dataSet.Dispose();
            dataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM events", connection);
            dataSet = new System.Data.DataSet();

            var commandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(dataAdapter);

            dataAdapter.Fill(dataSet, "events");
            dataAdapter.AcceptChangesDuringUpdate = true;

            MainDataGrid.ItemsSource = dataSet.Tables["events"].DefaultView;
        }
예제 #5
0
 public void SaveDataTable(System.Data.DataTable DT)
 {
     try
     {
         m_dbConnection.Open();
         db_Command             = m_dbConnection.CreateCommand();
         db_Command.CommandText = string.Format("SELECT * FROM {0}", DT.TableName);
         db_Adapter             = new System.Data.SQLite.SQLiteDataAdapter(db_Command);
         System.Data.SQLite.SQLiteCommandBuilder builder = new System.Data.SQLite.SQLiteCommandBuilder(db_Adapter);
         db_Adapter.Update(DT);
         m_dbConnection.Close();
     }
     catch (Exception Ex)
     {
         System.Windows.Forms.MessageBox.Show(Ex.Message);
     }
 }
예제 #6
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            //Get top priority
            System.Data.SQLite.SQLiteDataAdapter DA = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM priorities WHERE active=1 LIMIT 1", connection);
            System.Data.DataSet DS = new System.Data.DataSet();
            var commandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(DA);
            DA.Fill(DS, "priorities");
            long priorityID = 1;
            try
            {
                priorityID = (long)DS.Tables["priorities"].Rows[0]["ID"];
            }
            catch { priorityID = 1; }

            //Add row and save
            dataSet.Tables["task"].Rows.Add(System.DBNull.Value, System.DBNull.Value, NewTaskName.Text, System.DBNull.Value, priorityID, System.DBNull.Value);
            NewTaskName.Text = "";
            Save();
            Load();
        }
예제 #7
0
        public void Load()
        {
            dataAdapter.Dispose();
            dataSet.Dispose();
            dataAdapter = new System.Data.SQLite.SQLiteDataAdapter("SELECT *, CASE WHEN child_of IS NULL THEN ID ELSE CHILD_OF END AS SORT1, CASE WHEN child_of IS NULL THEN 1 ELSE 2 END AS SORT2 FROM tasks ORDER BY SORT1 ASC, SORT2 ASC", connection);
            dataSet = new System.Data.DataSet();

            var commandBuilder = new System.Data.SQLite.SQLiteCommandBuilder(dataAdapter);

            dataAdapter.Fill(dataSet, "task");
            dataAdapter.AcceptChangesDuringUpdate = true;

            MainDataGrid.ItemsSource = dataSet.Tables["task"].DefaultView;

            foreach (System.Data.DataRowView x in MainDataGrid.Items)
            {
                if (x.Row[1].ToString().Length > 0)
                    x.Row[2] = ">"+x.Row[2];
            }
        }
예제 #8
0
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();

            RssCache = new List<RssCacheItem>();

            try {
                this.AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                if (!System.IO.Directory.Exists(this.AppDataPath + "\\BmReader")){
                    System.IO.Directory.CreateDirectory(this.AppDataPath + "\\BmReader");
                }
                this.AppDataPath += "\\BmReader";

                if (!System.IO.File.Exists(this.AppDataPath + "\\data.db")){
                    //System.Data.SQLite.SQLiteConnection.CreateFile(this.AppDataPath + "\\data.db");
                }

                conn =
                    new System.Data.SQLite.SQLiteConnection(String.Format("Data Source={0};Version=3;", this.AppDataPath + "\\data.db"));

                conn.Open();
                if(conn.GetSchema("Tables",new string[]{null, null, "URLRSS", null}).Rows.Count == 0){
                    System.Data.SQLite.SQLiteCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "CREATE TABLE URLRSS (id integer primary key, Url CHAR(1000), active Boolean true)";
                    cmd.ExecuteNonQuery();
                }

                System.Data.SQLite.SQLiteDataAdapter da = new System.Data.SQLite.SQLiteDataAdapter("select * from urlrss", conn);
                System.Data.SQLite.SQLiteCommandBuilder cb = new System.Data.SQLite.SQLiteCommandBuilder(da);

                LoadFeeds();

            } catch (Exception err){
                MessageBox.Show(err.Message);
                Application.Exit();
            }
        }
예제 #9
0
 private void Base_InitializeCommandBuilder(ref System.Data.Common.DbCommandBuilder Value)
 {
     Value = new System.Data.SQLite.SQLiteCommandBuilder();
 }
예제 #10
0
        private void Form_Main_Load(object sender, EventArgs e)
        {
            // Inicializacion
            DBHandler.dSet = new System.Data.DataSet();
            DBHandler.dSet.DataSetName = "musicFiller";
            ((System.ComponentModel.ISupportInitialize)(DBHandler.dSet)).BeginInit();
            this.textBox_fillSpace.Text = Properties.Settings.Default.fillSpace.ToString();
            DBHandler.gobalDirID = 1;
            textBox_OutPutDir.Text = Properties.Settings.Default.OutPutPath;
            // Seccion de la BD
            try
            {
                DBHandler.sqlCon = new System.Data.SQLite.SQLiteConnection("data source = \"" + Properties.Settings.Default.DBPath + "\"");
                DBHandler.sqlCon.Open();
                // Carga de datos en el DataSet
                DBHandler.sqlDA = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM directories ORDER BY dID", DBHandler.sqlCon);
                DBHandler.sqlDA.Fill(DBHandler.dSet, "directories");
                //DBHandler.sqlDA = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM directories ORDER BY dID", DBHandler.sqlCon);
                DBHandler.sqlDA = new System.Data.SQLite.SQLiteDataAdapter("SELECT * FROM files ORDER BY fID", DBHandler.sqlCon);
                DBHandler.sqlDA.Fill(DBHandler.dSet, "files");
                // Obtención de comandos de los DataAdapters
                DBHandler.dirDA = new System.Data.SQLite.SQLiteDataAdapter();
                DBHandler.dirDA.SelectCommand = new System.Data.SQLite.SQLiteCommand("SELECT * FROM directories", DBHandler.sqlCon);
                System.Data.SQLite.SQLiteCommandBuilder comBuild = new System.Data.SQLite.SQLiteCommandBuilder(DBHandler.dirDA);
                comBuild.GetInsertCommand();
                comBuild.GetDeleteCommand();

                DBHandler.filesDA = new System.Data.SQLite.SQLiteDataAdapter();
                DBHandler.filesDA.SelectCommand = new System.Data.SQLite.SQLiteCommand("SELECT * FROM files", DBHandler.sqlCon);
                comBuild = new System.Data.SQLite.SQLiteCommandBuilder(DBHandler.filesDA);
                comBuild.GetInsertCommand();
                comBuild.GetDeleteCommand();
            }
            catch (System.Data.SQLite.SQLiteException ex)
            {
                MessageBox.Show("Error accediendo a la Base de Datos\n" + ex.ToString());
            }
            ((System.ComponentModel.ISupportInitialize)(DBHandler.dSet)).EndInit();

            this.rootNode = new TreeNode("Biblioteca");
            treeView_Library.TopNode = rootNode;
            this.nDir = 0;
            backgroundWorker_treeFiller.RunWorkerAsync();
            // TODO: Dar opcion a cancelar la carga del TreeView, lo que implicaria detener
            // 'backgroundWorker_treeFiller', dejar de mostrar la progressBar, el texto y el TreeView
            // lo que a su vez implica encoger el alto de la ventana para rellenar el hueco dejado por el treeView.
        }
예제 #11
0
        void BtnAddUrlClick(object sender, EventArgs e)
        {
            AddRssForm addForm = new AddRssForm();
            if (addForm.ShowDialog(this) == DialogResult.OK){
                System.Data.SQLite.SQLiteDataAdapter da = new System.Data.SQLite.SQLiteDataAdapter("select * from urlrss", conn);
                System.Data.SQLite.SQLiteCommandBuilder cb = new System.Data.SQLite.SQLiteCommandBuilder(da);

                System.Data.DataSet ds = new System.Data.DataSet();
                da.Fill(ds);
                System.Data.DataRow dr = ds.Tables[0].NewRow();
                dr["Url"] = addForm.NewUrl;
                bool found = false;
                foreach (System.Data.DataRow tmpDr in ds.Tables[0].Rows){
                    if (tmpDr["Url"].Equals(dr["Url"])){
                        found = true;
                        break;
                    }
                }
                if (!found){
                    ds.Tables[0].Rows.Add(dr);
                    da.Update(ds);
                    LoadFeeds();
                } else {
                    MessageBox.Show("This Feed already exists");
                }
            }
        }
예제 #12
0
        void LoadFeeds()
        {
            System.Data.SQLite.SQLiteDataAdapter da = new System.Data.SQLite.SQLiteDataAdapter("select * from urlrss", conn);
            System.Data.SQLite.SQLiteCommandBuilder cb = new System.Data.SQLite.SQLiteCommandBuilder(da);
            System.Data.DataSet ds = new System.Data.DataSet();
            da.Fill(ds);

            System.Data.DataRowCollection dr = ds.Tables[0].Rows;
            tvFeeds.Nodes.Clear();
            foreach (System.Data.DataRow d in dr){
                tvFeeds.Nodes.Add(d["id"].ToString(),d["Url"].ToString());
            }
        }
예제 #13
0
        void BtnImportClick(object sender, EventArgs e)
        {
            XDocument xOpml = null;

            try {
                using (OpenFileDialog dlgOpen = new OpenFileDialog()){
                    if(dlgOpen.ShowDialog(this).Equals(DialogResult.OK))
                    {
                       	StreamReader sr = new StreamReader(dlgOpen.FileName);
                       	xOpml = XDocument.Parse(sr.ReadToEnd());
                    }
                }
            } catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (xOpml != null){
                var outlines = xOpml.Element("opml").Element("body").Descendants("outline");
                var feeds = outlines.Where(ot => ot.Attribute("xmlUrl") != null).ToList();
                int x = feeds.Count();

                ClearFeeds();

                System.Data.SQLite.SQLiteDataAdapter da = new System.Data.SQLite.SQLiteDataAdapter("select * from urlrss", conn);
                System.Data.SQLite.SQLiteCommandBuilder cb = new System.Data.SQLite.SQLiteCommandBuilder(da);
                System.Data.DataSet ds = new System.Data.DataSet();
                da.Fill(ds);
                foreach(var feed in feeds)
                {
                    System.Data.DataRow dr = ds.Tables[0].NewRow();
                    dr["Url"] = feed.Attribute("xmlUrl").Value;
                    ds.Tables[0].Rows.Add(dr);
                }
                da.Update(ds);
            }
        }