Esempio n. 1
0
        public DataSet GetPostTickets()
        {
            DataSet ds = new DataSet();

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    SqlCeDataAdapter sda    = new SqlCeDataAdapter();
                    string           cmdTxt = "Select * From ParkingTickets";
                    SqlCeCommand     cmd    = new SqlCeCommand(cmdTxt, cn);
                    sda.SelectCommand = cmd;

                    sda.Fill(ds);
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }

            return(ds);
        }
Esempio n. 2
0
        public string GetMachineID()
        {
            string MachineID = "";

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string       cmdTxt = "Select Top (1) MachineID From ParkingTickets";
                    SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                    MachineID = cmd.ExecuteScalar().ToString();
                }

                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }

            return(MachineID);
        }
Esempio n. 3
0
        public Dictionary <string, string> TagCategoryList()
        {
            Dictionary <string, string> categories = new Dictionary <string, string>();

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string          cmdTxt = "Select * From TagCategory";
                    SqlCeCommand    cmd    = new SqlCeCommand(cmdTxt, cn);
                    SqlCeDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        categories.Add(reader["TagCategory"].ToString(), reader["Description"].ToString());
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }

            Dictionary <string, string> sorted = categories.OrderBy(k => k.Value).ToDictionary(k => k.Key, k => k.Value);

            return(sorted);
        }
Esempio n. 4
0
        public string[] OrdInfo(string Charge)
        {
            string          Ord   = "";
            string          CCode = "";
            SqlCeConnection cn    = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string          cmdTxt = "Select * From Charges Where Charge = '" + Charge + "'";
                    SqlCeCommand    cmd    = new SqlCeCommand(cmdTxt, cn);
                    SqlCeDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Ord   = reader["LocalOrd"].ToString();
                        CCode = reader["ChargeCode"].ToString();
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
            string[] Info = new string[] { Ord, CCode };
            return(Info);
        }
Esempio n. 5
0
        public int TicketCount()
        {
            int count = 0;

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string       cmdTxt = "Select Count(*) From ParkingTickets";
                    SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                    count = Convert.ToInt32(cmd.ExecuteScalar());
                }

                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }

            return(count);
        }
Esempio n. 6
0
        public List <string> MeterInfo(string meter)
        {
            string mLoc = "";
            string mID  = "";

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string          cmdTxt = "Select * From ParkingMeters Where FacilityID = '" + meter + "'";
                    SqlCeCommand    cmd    = new SqlCeCommand(cmdTxt, cn);
                    SqlCeDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        mLoc = reader["Location"].ToString();
                        mID  = reader["FacilityID"].ToString();
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
            string[] Info = new string[] { mLoc, mID };
            return(Info.ToList());
        }
Esempio n. 7
0
        public void UpdateLastUpdateDate()
        {
            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string cmdTxt = "UPDATE LastUpdate " +
                                    "SET [Update] = '" + DateTime.Now.ToShortDateString() + "'";
                    SqlCeCommand cmd = new SqlCeCommand(cmdTxt, cn);
                    cmd.ExecuteNonQuery();
                }

                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
        }
Esempio n. 8
0
        public DateTime LastUpdateDate()
        {
            DateTime updateDate = DateTime.Now;

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string       cmdTxt = "Select * From LastUpdate";
                    SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                    updateDate = (DateTime)cmd.ExecuteScalar();
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }

            //MessageBox.Show("Last Update is: " + updateDate.ToShortDateString());

            return(updateDate);
        }
Esempio n. 9
0
        public void DeleteTicket(int TicketNum)
        {
            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string cmdTxt = "DELETE FROM ParkingTickets " +
                                    "WHERE ParkingTickets.TicketNumber = " + TicketNum;
                    SqlCeCommand cmd = new SqlCeCommand(cmdTxt, cn);
                    cmd.ExecuteNonQuery();
                }

                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
        }
Esempio n. 10
0
        public void InsertTicket()
        {
            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string cmdTxt = "Insert into ParkingTickets "
                                    + "(DateIssued, ChargeCode, MeterNumber, VehicleTagCategory, TagState, TagNumber, VIN, PrintCount, ProfileID, OfficerBadge, ViolationLocation, Notes, Latitude, Longitude, StatusCode)"
                                    + "values (@dateissued, @chargecode, @meternumber, @vehicletagcategory, @tagstate, @tagnumber, @vin, @printcount, @profileid, @officerbadge, @violationlocation, @notes, @latitude,@longitude, @statuscode)";
                    SqlCeCommand cmd = new SqlCeCommand(cmdTxt, cn);
                    //cmd.Parameters.AddWithValue("@ticketnumber", Ticket.TicketNumber);
                    //cmd.Parameters.AddWithValue("@machineid", Ticket.MachineID);
                    cmd.Parameters.AddWithValue("@dateissued", Ticket.DateIssued);
                    cmd.Parameters.AddWithValue("@chargecode", Ticket.ChargeCode);
                    cmd.Parameters.AddWithValue("@meternumber", Ticket.MeterNumber);
                    cmd.Parameters.AddWithValue("@vehicletagcategory", Ticket.VehicleTagCategory);
                    cmd.Parameters.AddWithValue("@tagstate", Ticket.TagState);
                    cmd.Parameters.AddWithValue("@tagnumber", Ticket.TagNumber);
                    cmd.Parameters.AddWithValue("@vin", Ticket.VIN);
                    cmd.Parameters.AddWithValue("@printcount", Ticket.PrintCount);
                    cmd.Parameters.AddWithValue("@profileid", Ticket.ProfileID);
                    cmd.Parameters.AddWithValue("@officerbadge", Ticket.OfficerBadge);
                    cmd.Parameters.AddWithValue("@violationlocation", Ticket.ViolationLocation);
                    cmd.Parameters.AddWithValue("@notes", Ticket.Notes);
                    cmd.Parameters.AddWithValue("@latitude", Ticket.Latitude);
                    cmd.Parameters.AddWithValue("@longitude", Ticket.Longitude);
                    cmd.Parameters.AddWithValue("@statuscode", Ticket.StatusCode);
                    cmd.ExecuteNonQuery();

                    string       cmdTxt2 = "Select @@IDENTITY";
                    SqlCeCommand cmd2    = new SqlCeCommand(cmdTxt2, cn);
                    Ticket.TicketNumber = Convert.ToInt32(cmd2.ExecuteScalar());
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
        }
Esempio n. 11
0
        private void gridView3_DoubleClick(object sender, EventArgs e)
        {
            GridView    view = (GridView)sender;
            Point       pt   = view.GridControl.PointToClient(Control.MousePosition);
            GridHitInfo info = view.CalcHitInfo(pt);

            if (info.InRowCell == false)
            {
                return;
            }

            DataRow selectRow = view.GetFocusedDataRow();

            if (selectRow == null)
            {
                return;
            }

            string reason = selectRow.GetString(ColName.REASON);

            if (CommonHelper.Equals(reason, "MASK") == false)
            {
                return;
            }

            var log = _log;

            string eqpID = log.EqpID;

            string stepID         = selectRow.GetString(ColName.STEP_ID);
            string productID      = selectRow.GetString(ColName.PRODUCT_ID);
            string productVersion = selectRow.GetString(ColName.PROD_VER);

            DateTime dispatchTime = log.DispatchingTime;

            try
            {
                ToolUseStateView control = new ToolUseStateView(_serviceProvider, _result);

                var dialog = new PopUpForm(control);
                dialog.StartPosition = FormStartPosition.CenterParent;
                dialog.Show();

                control.Query(eqpID, stepID, productID, productVersion, dispatchTime);
            }
            catch { }
        }
Esempio n. 12
0
        public bool EmployeeLogin(string username)
        {
            bool IsUser = false;

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    string       cmdTxt = "Select OfficerBadge, EmployeeName as OfficerName From Employees E join Officers O on E.EmployeeID = O.EmployeeID Where UserName = '******'";
                    SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);

                    SqlCeDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Attendant.OfficerBadge = reader["OfficerBadge"].ToString();
                        Attendant.OfficerName  = reader["OfficerName"].ToString();

                        if (Attendant.OfficerName != null)
                        {
                            IsUser = true;
                        }
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
            if (!IsUser)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 13
0
        public void Show_Popup()
        {
            PopUpForm.Close();
            int marign = dpicalc(this, 10);
            var showx  = 0;
            var showy  = 0;

            switch (Convert.ToInt32(Mid(My.Settings.FormPos, 2, 1)))
            {
            case 0     // 우하단
                :
            {
                showx = Screen.PrimaryScreen.WorkingArea.Width - PopUpForm.Width - marign;
                showy = Screen.PrimaryScreen.WorkingArea.Height - PopUpForm.Height - marign;
                break;
            }

            case 1     // 우상단
                :
            {
                showx = Screen.PrimaryScreen.WorkingArea.Width - PopUpForm.Width - marign;
                showy = marign;
                break;
            }

            case 2     // 좌하단
                :
            {
                showx = marign;
                showy = Screen.PrimaryScreen.WorkingArea.Height - PopUpForm.Height - marign;
                break;
            }

            case 3     // 좌상단
                :
            {
                showx = marign;
                showy = marign;
                break;
            }
            }


            PopUpForm.SetDesktopLocation(showx, showy);
            PopUpForm.Show();
        }
Esempio n. 14
0
        public Dictionary <string, decimal> ChargesList()
        {
            Dictionary <string, decimal> charges = new Dictionary <string, decimal>();

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);

            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    if (CheckDate())
                    {
                        string          cmdTxt = "Select * From Charges";
                        SqlCeCommand    cmd    = new SqlCeCommand(cmdTxt, cn);
                        SqlCeDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            charges.Add(reader["Charge"].ToString(), (decimal)reader["ViolationAmount"]);
                        }
                    }
                    else
                    {
                        string          cmdTxt = "Select * From Charges Where Charge NOT LIKE '%METER%' ";
                        SqlCeCommand    cmd    = new SqlCeCommand(cmdTxt, cn);
                        SqlCeDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            charges.Add(reader["Charge"].ToString(), (decimal)reader["ViolationAmount"]);
                        }
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
            return(charges);
        }
Esempio n. 15
0
        private void btnDispEqp_Click(object sender, EventArgs e)
        {
            if (_bar == null)
            {
                return;
            }

            try
            {
                DispatchingAnalysisView control = new DispatchingAnalysisView(this.ServiceProvider, _result);

                var dialog = new PopUpForm(control);
                dialog.StartPosition = FormStartPosition.CenterParent;
                dialog.Show();

                control.Query(_bar.EqpInfo.ShopID, _bar.EqpGroup, _bar.EqpID, _bar.SubEqpID);
            }
            catch { }
        }
Esempio n. 16
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
                var             id  = Convert.ToInt32(row.Cells["KullanıcıId"].Value.ToString());

                PopUpForm    popUp        = new PopUpForm(id);
                DialogResult dialogResult = popUp.ShowDialog();

                if (dialogResult == DialogResult.Cancel)
                {
                    popUp.Dispose();
                }
                if (dialogResult == DialogResult.OK)
                {
                    doldur();
                }
            }
            //doldur();
        }
Esempio n. 17
0
        public void TableCheck()
        {
            //MessageBox.Show("Checking Table");

            ChargeTable chargeTbl = new ChargeTable();

            chargeTbl.ChargeList = new List <ChargeRecord>();
            EmployeeTable employeeTbl = new EmployeeTable();

            employeeTbl.EmployeeList = new List <EmployeeRecord>();
            MeterFreeDateTable meterDateTbl = new MeterFreeDateTable();

            meterDateTbl.MeterFreeDateList = new List <MeterFreeDateRecord>();
            OfficerTable officerTbl = new OfficerTable();

            officerTbl.OfficerList = new List <OfficerRecord>();
            TagCategoryTable tagCatTbl = new TagCategoryTable();

            tagCatTbl.TagCategoryList = new List <TagCategoryRecord>();
            ParkingMeterTable parkMeterTbl = new ParkingMeterTable();

            parkMeterTbl.ParkingMeterList = new List <ParkingMeter>();

            DateTime LastUpdated = LastUpdateDate();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://coaworks/api/publicsafety/parkingmetersync/table?"
                                                                       + "date=" + LastUpdated.ToShortDateString());

            //HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://parking/api/syncapi/"
            //    + "?date=" + LastUpdated.ToShortDateString()
            //    + "&user="******"GET";
            request.Timeout     = 10000;
            request.Credentials = CredentialCache.DefaultCredentials;

            HttpWebResponse response;
            Stream          responseStream;
            StreamReader    reader;

            try
            {
                response       = request.GetResponse() as HttpWebResponse;
                responseStream = response.GetResponseStream();
                reader         = new StreamReader(responseStream);
                string responseText = reader.ReadToEnd();

                JObject o = JObject.Parse(responseText);

                #region Charges

                JContainer chargesContainer = null;
                if (o["charges"] != null && o["charges"].Type != JTokenType.Null)
                {
                    chargesContainer = (JContainer)o["charges"];
                    List <ChargeRecord> chrgList = new List <ChargeRecord>();
                    for (int i = 0; i < chargesContainer.Count(); i++)
                    {
                        JToken       chrg = chargesContainer[i];
                        ChargeRecord cr   = new ChargeRecord();

                        if (chrg["Charge1"] != null && chrg["Charge1"].Type != JTokenType.Null)
                        {
                            cr.Charge = (string)chrg["Charge1"];
                        }
                        if (chrg["ChargeCode"] != null && chrg["ChargeCode"].Type != JTokenType.Null)
                        {
                            cr.ChargeCode = (string)chrg["ChargeCode"];
                        }
                        if (chrg["LocalOrd"] != null && chrg["LocalOrd"].Type != JTokenType.Null)
                        {
                            cr.LocalOrd = (string)chrg["LocalOrd"];
                        }
                        if (chrg["ViolationAmount"] != null && chrg["ViolationAmount"].Type != JTokenType.Null)
                        {
                            cr.ViolationAmount = (decimal)chrg["ViolationAmount"];
                        }

                        chrgList.Add(cr);
                    }

                    chargeTbl.ChargeList = chrgList;
                }
                else
                {
                    chargesContainer = null;
                }

                #endregion

                #region Employees

                JContainer employeesContainer = null;
                if (o["employees"] != null && o["employees"].Type != JTokenType.Null)
                {
                    employeesContainer = (JContainer)o["employees"];
                    List <EmployeeRecord> empList = new List <EmployeeRecord>();
                    for (int i = 0; i < employeesContainer.Count(); i++)
                    {
                        JToken         emp = employeesContainer[i];
                        EmployeeRecord er  = new EmployeeRecord();

                        if (emp["EmployeeID"] != null && emp["EmployeeID"].Type != JTokenType.Null)
                        {
                            er.EmployeeID = (string)emp["EmployeeID"];
                        }
                        if (emp["EmployeeName"] != null && emp["EmployeeName"].Type != JTokenType.Null)
                        {
                            er.EmployeeName = (string)emp["EmployeeName"];
                        }
                        if (emp["UserName"] != null && emp["UserName"].Type != JTokenType.Null)
                        {
                            er.UserName = (string)emp["UserName"];
                        }
                        if (emp["Status"] != null && emp["Status"].Type != JTokenType.Null)
                        {
                            er.Status = (int)emp["Status"];
                        }

                        if (er.Status == 1)
                        {
                            empList.Add(er);
                        }
                    }
                    employeeTbl.EmployeeList = empList;
                }
                else
                {
                    employeesContainer = null;
                }

                #endregion

                #region MeterFreeDates

                JContainer meterFreeDatesContainer = null;
                if (o["meterFreeDates"] != null && o["meterFreeDates"].Type != JTokenType.Null)
                {
                    meterFreeDatesContainer = (JContainer)o["meterFreeDates"];
                    List <MeterFreeDateRecord> mfDateList = new List <MeterFreeDateRecord>();
                    for (int i = 0; i < meterFreeDatesContainer.Count(); i++)
                    {
                        JToken freeDate          = meterFreeDatesContainer[i];
                        MeterFreeDateRecord mfdr = new MeterFreeDateRecord();

                        if (freeDate["Date"] != null && freeDate["Date"].Type != JTokenType.Null)
                        {
                            mfdr.Date = (string)freeDate["Date"];
                        }

                        mfDateList.Add(mfdr);
                    }

                    meterDateTbl.MeterFreeDateList = mfDateList;
                }
                else
                {
                    meterFreeDatesContainer = null;
                }

                #endregion

                #region Officers

                JContainer officersContainer = null;
                if (o["officers"] != null && o["officers"].Type != JTokenType.Null)
                {
                    officersContainer = (JContainer)o["officers"];
                    List <OfficerRecord> offRecList = new List <OfficerRecord>();
                    for (int i = 0; i < officersContainer.Count(); i++)
                    {
                        JToken        officer = officersContainer[i];
                        OfficerRecord offR    = new OfficerRecord();

                        if (officer["OfficerBadge"] != null && officer["OfficerBadge"].Type != JTokenType.Null)
                        {
                            offR.OfficerBadge = (string)officer["OfficerBadge"];
                        }
                        if (officer["EmployeeID"] != null && officer["EmployeeID"].Type != JTokenType.Null)
                        {
                            offR.EmployeeID = (string)officer["EmployeeID"];
                        }
                        if (officer["Rank"] != null && officer["Rank"].Type != JTokenType.Null)
                        {
                            offR.Rank = (string)officer["Rank"];
                        }

                        offRecList.Add(offR);
                    }
                    officerTbl.OfficerList = offRecList;
                }
                else
                {
                    officersContainer = null;
                }

                #endregion

                #region TagCategories

                JContainer tagCategoriesContainer = null;
                if (o["tagCategories"] != null && o["tagCategories"].Type != JTokenType.Null)
                {
                    tagCategoriesContainer = (JContainer)o["tagCategories"];
                    List <TagCategoryRecord> tCatList = new List <TagCategoryRecord>();
                    for (int i = 0; i < tagCategoriesContainer.Count(); i++)
                    {
                        JToken            tagCat = tagCategoriesContainer[i];
                        TagCategoryRecord tcr    = new TagCategoryRecord();

                        if (tagCat["Description"] != null && tagCat["Description"].Type != JTokenType.Null)
                        {
                            tcr.Description = (string)tagCat["Description"];
                        }
                        if (tagCat["TagCategory1"] != null && tagCat["TagCategory1"].Type != JTokenType.Null)
                        {
                            tcr.TagCategory = (string)tagCat["TagCategory1"];
                        }

                        tCatList.Add(tcr);
                    }
                    tagCatTbl.TagCategoryList = tCatList;
                }
                else
                {
                    tagCategoriesContainer = null;
                }

                #endregion

                try
                {
                    request.Abort();
                    response.Close();
                    responseStream.Close();
                    reader.Close();
                }
                catch (Exception ex) { }
            }
            catch (Exception ex)
            {
                request.Abort();
            }

            //This is away from the rest of the table downloading, mainly due to not wanting
            //to interfere with the HttpWebResponse and HttpWebRequest
            #region ParkingMeters

            string connStr = "Data Source=atlas;Initial Catalog=Edits;";

            using (SqlConnection sqlconn = new SqlConnection(connStr))
            {
                string     queryStr = "SELECT * FROM Edits.dataloader.PARKINGMETERS_EVW WHERE LifecycleStatus = 'ACTIVE'";
                SqlCommand comm     = new SqlCommand(queryStr, sqlconn);

                sqlconn.Open();

                SqlDataReader sqlreader = comm.ExecuteReader();
                try
                {
                    while (sqlreader.Read())
                    {
                        string Location   = sqlreader[2].ToString();
                        string facilityID = sqlreader[3].ToString();
                        parkMeterTbl.ParkingMeterList.Add(new ParkingMeter {
                            Location = Location, FacilityID = facilityID
                        });
                    }
                }
                finally
                {
                    sqlreader.Close();
                }
            }

            #endregion

            SqlCeConnection cn = new SqlCeConnection(ConnectionString);
            cn.Open();

            if (cn.State == ConnectionState.Open)
            {
                try
                {
                    bool NeedsUpdate = false;

                    #region Insert Charges

                    if (chargeTbl.ChargeList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM Charges ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (ChargeRecord CR in chargeTbl.ChargeList)
                        {
                            try
                            {
                                string cmdTxt2 = "Insert into Charges "
                                                 + "(ChargeCode, Charge, LocalOrd, ViolationAmount)"
                                                 + "values (@chargecode, @charge, @localord, @violationamount)";
                                SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                                cmd2.Parameters.AddWithValue("@chargecode", CR.ChargeCode);
                                cmd2.Parameters.AddWithValue("@charge", CR.Charge);
                                cmd2.Parameters.AddWithValue("@localord", CR.LocalOrd);
                                cmd2.Parameters.AddWithValue("@violationamount", CR.ViolationAmount);
                                cmd2.ExecuteNonQuery();
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }

                    #endregion

                    #region Insert Employees

                    if (employeeTbl.EmployeeList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM Employees ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (EmployeeRecord ER in employeeTbl.EmployeeList)
                        {
                            try
                            {
                                string cmdTxt2 = "Insert into Employees "
                                                 + "(EmployeeID, EmployeeName, UserName, Status)"
                                                 + "values (@employeeid, @employeename, @username, @status)";
                                SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                                cmd2.Parameters.AddWithValue("@employeeid", ER.EmployeeID);
                                cmd2.Parameters.AddWithValue("@employeename", ER.EmployeeName);
                                cmd2.Parameters.AddWithValue("@username", ER.UserName);
                                cmd2.Parameters.AddWithValue("@status", ER.Status);
                                cmd2.ExecuteNonQuery();
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }

                    #endregion

                    #region Insert MeterFreeDates

                    if (meterDateTbl.MeterFreeDateList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM MeterFreeDates ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (MeterFreeDateRecord MFDR in meterDateTbl.MeterFreeDateList)
                        {
                            try
                            {
                                string cmdTxt2 = "Insert into MeterFreeDates "
                                                 + "(Date)"
                                                 + "values (@date)";
                                SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                                cmd2.Parameters.AddWithValue("@date", MFDR.Date);
                                cmd2.ExecuteNonQuery();
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }

                    #endregion

                    #region Insert Officers

                    if (officerTbl.OfficerList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM Officers ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (OfficerRecord OR in officerTbl.OfficerList)
                        {
                            try
                            {
                                string cmdTxt2 = "Insert into Officers "
                                                 + "(OfficerBadge, EmployeeID, Rank)"
                                                 + "values (@officerbadge, @employeeid, @rank)";
                                SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                                cmd2.Parameters.AddWithValue("@officerbadge", OR.OfficerBadge);
                                cmd2.Parameters.AddWithValue("@employeeid", OR.EmployeeID);
                                if (OR.Rank == null)
                                {
                                    cmd2.Parameters.AddWithValue("@rank", DBNull.Value);
                                }
                                else
                                {
                                    cmd2.Parameters.AddWithValue("@rank", OR.Rank);
                                }
                                cmd2.ExecuteNonQuery();
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }

                    #endregion

                    #region Insert TagCategories

                    if (tagCatTbl.TagCategoryList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM TagCategory ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (TagCategoryRecord TCR in tagCatTbl.TagCategoryList)
                        {
                            string cmdTxt2 = "Insert into TagCategory "
                                             + "(TagCategory, Description)"
                                             + "values (@tagcategory, @description)";
                            SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                            cmd2.Parameters.AddWithValue("@tagcategory", TCR.TagCategory);
                            cmd2.Parameters.AddWithValue("@description", TCR.Description);
                            cmd2.ExecuteNonQuery();
                        }
                    }

                    #endregion

                    #region Insert Parking Meters

                    if (parkMeterTbl.ParkingMeterList.Count > 0)
                    {
                        NeedsUpdate = true;
                        string       cmdTxt = "DELETE FROM ParkingMeters ";
                        SqlCeCommand cmd    = new SqlCeCommand(cmdTxt, cn);
                        cmd.ExecuteNonQuery();

                        foreach (ParkingMeter prkMeter in parkMeterTbl.ParkingMeterList)
                        {
                            string cmdTxt2 = "Insert into ParkingMeters "
                                             + "(Location, FacilityID)"
                                             + "values (@location, @facilityid)";
                            SqlCeCommand cmd2 = new SqlCeCommand(cmdTxt2, cn);
                            cmd2.Parameters.AddWithValue("@location", prkMeter.Location);
                            cmd2.Parameters.AddWithValue("@facilityid", prkMeter.FacilityID);
                            cmd2.ExecuteNonQuery();
                        }
                    }

                    #endregion

                    //MessageBox.Show("Needs Update is " + NeedsUpdate.ToString());

                    if (NeedsUpdate)
                    {
                        UpdateLastUpdateDate();
                    }
                }
                catch (Exception ex)
                {
                    PopUpForm pf = new PopUpForm(ex.ToString());
                    pf.ShowDialog();
                }
                finally
                {
                    cn.Close();
                }
            }
        }