/// <summary>
        /// Inserts the request to the database.
        /// </summary>
        private int InsertEntry()
        {
            dbman = new DBConnectionManager();
            using (conn = new MySqlConnection(dbman.GetConnStr()))
            {
                conn.Open();
                //TODO
                try
                {
                    string       recID = pmsutil.GenRecordID();
                    MySqlCommand cmd   = conn.CreateCommand();
                    cmd.CommandText =
                        "INSERT INTO records(record_id, book_number, page_number, entry_number, record_date, recordholder_fullname, parent1_fullname, parent2_fullname)" +
                        "VALUES(@record_id, @book_number, @page_number, @entry_number, @record_date, @recordholder_fullname, @parent1_fullname, @parent2_fullname)";
                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@record_id", recID);
                    cmd.Parameters.AddWithValue("@book_number", bookNum);
                    cmd.Parameters.AddWithValue("@page_number", pageNum);
                    cmd.Parameters.AddWithValue("@entry_number", entryNum);
                    cmd.Parameters.AddWithValue("@record_date", deathDate);
                    cmd.Parameters.AddWithValue("@recordholder_fullname", fullName);
                    cmd.Parameters.AddWithValue("@parent1_fullname", parent1);
                    cmd.Parameters.AddWithValue("@parent2_fullname", parent2);
                    int stat_code = cmd.ExecuteNonQuery();
                    conn.Close();

                    conn.Open();
                    //Phase 2
                    cmd             = conn.CreateCommand();
                    cmd.CommandText =
                        "INSERT INTO burial_records(record_id, burial_date, age, status, residence, residence2, sacrament, cause_of_death, place_of_interment, stipend, minister, remarks)" +
                        "VALUES(@record_id, @burial_date, @age, @status, @residence, @residence2, @sacrament, @cause_of_death, @place_of_interment, @stipend, @minister, @remarks)";
                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@record_id", recID);
                    cmd.Parameters.AddWithValue("@burial_date", burialDate);
                    cmd.Parameters.AddWithValue("@age", age);
                    cmd.Parameters.AddWithValue("@status", status);
                    cmd.Parameters.AddWithValue("@residence", residence1);
                    cmd.Parameters.AddWithValue("@residence2", residence2);
                    cmd.Parameters.AddWithValue("@sacrament", sacrament);
                    cmd.Parameters.AddWithValue("@cause_of_death", causeOfDeath);
                    cmd.Parameters.AddWithValue("@place_of_interment", intermentPlace);
                    cmd.Parameters.AddWithValue("@stipend", stipend);
                    cmd.Parameters.AddWithValue("@minister", minister);
                    cmd.Parameters.AddWithValue("@remarks", remarks);
                    stat_code = cmd.ExecuteNonQuery();
                    conn.Close();

                    conn.Open();
                    string dirID   = pmsutil.GenDirectoryID();
                    string block   = "Not Specified";
                    string lot     = "Not Specified";
                    string plot    = "Not Specified";
                    string rconnum = "Not Specified";
                    byte[] ImageData;
                    //Phase 3
                    if (!string.IsNullOrWhiteSpace(Block.Text))
                    {
                        block = Block.Text;
                    }
                    if (!string.IsNullOrWhiteSpace(Lot.Text))
                    {
                        lot = Lot.Text;
                    }
                    if (!string.IsNullOrWhiteSpace(Plot.Text))
                    {
                        plot = Plot.Text;
                    }
                    if (!string.IsNullOrWhiteSpace(RContactNo.Text))
                    {
                        rconnum = RContactNo.Text;
                    }
                    if (!string.IsNullOrWhiteSpace(imageURI))
                    {
                        FileStream   fs = new FileStream(imageURI, FileMode.Open, FileAccess.Read);
                        BinaryReader br = new BinaryReader(fs);
                        ImageData = br.ReadBytes((int)fs.Length);
                        br.Close();
                        fs.Close();
                    }
                    else
                    {
                        ImageData = null;
                    }
                    cmd             = conn.CreateCommand();
                    cmd.CommandText =
                        "INSERT INTO burial_directory(directory_id, record_id, block, lot, plot, gravestone, relative_contact_number)" +
                        "VALUES(@directory_id, @record_id, @block, @lot, @plot, @gravestone, @relative_contact_number)";
                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@directory_id", dirID);
                    cmd.Parameters.AddWithValue("@record_id", recID);
                    cmd.Parameters.AddWithValue("@block", block);
                    cmd.Parameters.AddWithValue("@lot", lot);
                    cmd.Parameters.AddWithValue("@plot", plot);
                    cmd.Parameters.AddWithValue("@gravestone", ImageData);
                    cmd.Parameters.AddWithValue("@relative_contact_number", rconnum);
                    stat_code = cmd.ExecuteNonQuery();
                    conn.Close();

                    string tmp = pmsutil.LogRecord(recID, "LOGC-01");
                    return(stat_code);
                }
                catch (MySqlException ex)
                {
                    Console.WriteLine("Error: {0}", ex.ToString());
                    return(0);
                }
            }
        }
Esempio n. 2
0
        private async void DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                DataTable dt = new DataTable();
                dt = ((DataView)databur.ItemsSource).ToTable();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    dbman   = new DBConnectionManager();
                    pmsutil = new PMSUtil();
                    using (conn = new MySqlConnection(dbman.GetConnStr()))
                    {
                        conn.Open();
                        if (conn.State == ConnectionState.Open)
                        {
                            bool doProceed = false;
                            //Check inputs
                            for (int _tmp = 0; _tmp < 12; _tmp++)
                            {
                                if (String.IsNullOrEmpty(dt.Rows[i][i].ToString()) == true)
                                {
                                    doProceed = false;
                                }
                                else
                                {
                                    doProceed = true;
                                }
                            }
                            if (doProceed == true)
                            {
                                App.Current.Dispatcher.Invoke((Action) delegate                                // <--- HERE
                                {
                                    string recID     = pmsutil.GenRecordID();
                                    MySqlCommand cmd = dbman.DBConnect().CreateCommand();
                                    cmd.CommandText  =
                                        "INSERT INTO records(record_id, book_number, page_number, entry_number, record_date, recordholder_fullname, parent1_fullname, parent2_fullname)" +
                                        "VALUES(@record_id, @book_number, @page_number, @entry_number, @record_date, @recordholder_fullname, @parent1_fullname, @parent2_fullname)";
                                    cmd.Prepare();
                                    cmd.Parameters.AddWithValue("@record_id", recID);
                                    cmd.Parameters.AddWithValue("@book_number", _bookNum);
                                    cmd.Parameters.AddWithValue("@page_number", PageNum.Value);
                                    cmd.Parameters.AddWithValue("@entry_number", dt.Rows[i][0].ToString());
                                    cmd.Parameters.AddWithValue("@record_date", dt.Rows[i][1].ToString());
                                    cmd.Parameters.AddWithValue("@recordholder_fullname", dt.Rows[i][3].ToString());
                                    cmd.Parameters.AddWithValue("@parent1_fullname", dt.Rows[i][6].ToString());
                                    cmd.Parameters.AddWithValue("@parent2_fullname", dt.Rows[i][7].ToString());
                                    int stat_code = cmd.ExecuteNonQuery();
                                    dbman.DBClose();
                                    //Phase 2
                                    cmd             = conn.CreateCommand();
                                    cmd.CommandText =
                                        "INSERT INTO burial_records(record_id, burial_date, age, status, residence, residence2, sacrament, cause_of_death, place_of_interment, stipend, minister, remarks)" +
                                        "VALUES(@record_id, @burial_date, @age, @status, @residence, @residence2, @sacrament, @cause_of_death, @place_of_interment, @stipend, @minister, @remarks)";
                                    cmd.Prepare();
                                    cmd.Parameters.AddWithValue("@record_id", recID);
                                    cmd.Parameters.AddWithValue("@burial_date", dt.Rows[i][2].ToString());
                                    cmd.Parameters.AddWithValue("@age", dt.Rows[i][4].ToString());
                                    cmd.Parameters.AddWithValue("@status", dt.Rows[i][5].ToString());
                                    cmd.Parameters.AddWithValue("@residence", dt.Rows[i][8].ToString());
                                    cmd.Parameters.AddWithValue("@residence2", dt.Rows[i][9].ToString());
                                    cmd.Parameters.AddWithValue("@sacrament", dt.Rows[i][10].ToString());
                                    cmd.Parameters.AddWithValue("@cause_of_death", dt.Rows[i][11].ToString());
                                    cmd.Parameters.AddWithValue("@place_of_interment", dt.Rows[i][12].ToString());
                                    cmd.Parameters.AddWithValue("@stipend", dt.Rows[i][13].ToString());
                                    cmd.Parameters.AddWithValue("@minister", dt.Rows[i][14].ToString());
                                    cmd.Parameters.AddWithValue("@remarks", dt.Rows[i][15].ToString());
                                    stat_code = cmd.ExecuteNonQuery();
                                    conn.Close();

                                    conn.Open();
                                    string dirID = pmsutil.GenDirectoryID();

                                    cmd             = conn.CreateCommand();
                                    cmd.CommandText =
                                        "INSERT INTO burial_directory(directory_id, record_id, block, lot, plot, relative_contact_number)" +
                                        "VALUES(@directory_id, @record_id, @block, @lot, @plot, @relative_contact_number)";
                                    cmd.Prepare();
                                    cmd.Parameters.AddWithValue("@directory_id", dirID);
                                    cmd.Parameters.AddWithValue("@record_id", recID);
                                    cmd.Parameters.AddWithValue("@block", dt.Rows[i][16].ToString());
                                    cmd.Parameters.AddWithValue("@lot", dt.Rows[i][17].ToString());
                                    cmd.Parameters.AddWithValue("@plot", dt.Rows[i][18].ToString());
                                    cmd.Parameters.AddWithValue("@relative_contact_number", dt.Rows[i][19].ToString());
                                    stat_code = cmd.ExecuteNonQuery();
                                    conn.Close();

                                    _statcode  = stat_code;
                                    string tmp = pmsutil.LogRecord(recID, "LOGC-01");
                                    //return stat_code;
                                });
                            }
                            else
                            {
                                _statcode = 601;
                            }
                        }
                        else
                        {
                        }
                    }
                }
                this.Close();
            }
            catch
            {
            }
        }