Các chức năng cơ bản của chương trình cài đặt

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Tổ chức khai thác dữ liệu giao thông vận tải (Trang 58 - 65)

- Tìm kiếm theo Quận;

- TÌm kiếm theo tên đường;

- Tìm kiếm theo mức độ hư hỏng của đường;

- Tìm kiếm theo cách thức tổ chức giao thông;

Hình 3.14. Chức năng Tìm kiếm //Load Data

private void LoadData() {

cbQuan.Checked = true;

cbDuong.Checked = true;

cbMucDoHuHong.Checked = true;

cbToChucGiaoThong.Checked = true;

đườngToolStripMenuItem.Enabled = false;

ngườiDùngToolStripMenuItem.Enabled = false;

đăngXuấtToolStripMenuItem.Enabled = false;

đăngNhậpToolStripMenuItem.Enabled = true;

var dataContext = new QLDuongDataContext();

cmbQuan.DataSource = dataContext.Quans.ToList();

cmbQuan.DisplayMember = "TenQuan";

cmbQuan.ValueMember = "MaQuan";

cmbMucDoHuHong.DataSource=dataContext.MucDoHuHongs.ToList();

cmbMucDoHuHong.DisplayMember = "TenMucDo";

cmbMucDoHuHong.ValueMember = "MaMucDoHuHong";

cmbToChucGiaoThong.DataSource=dataContext.ToChucGiaoThongs.ToLis t();

cmbToChucGiaoThong.DisplayMember = "TenToChucGiaoThong";

cmbToChucGiaoThong.ValueMember = "MaToChucGiaoThong";

} }

// SetStatusControl

private void SetStatusControl(object sender, Control control) {

var checkBox = sender as CheckBox;

if (checkBox == null) return;

control.Enabled = checkBox.Checked;

SetStatusTimKiem();

}

// SetStatusTimKiem

private void SetStatusTimKiem() {

btnTimKiem.Enabled = cbQuan.Checked || cbDuong.Checked ||

cbMucDoHuHong.Checked || cbToChucGiaoThong.Checked;

}

// Tìm kiếm

private void btnTimKiem_Click(object sender, EventArgs e) {

var quan = (string)cmbQuan.SelectedValue;

var duong = txtDuong.Text.ToUpper();

var mucDoHuHong = (int)cmbMucDoHuHong.SelectedValue;

var toChucGiaoThong = (int)cmbToChucGiaoThong.SelectedValue;

if (AppConstant.KindOfApp == 2) {

if (cbQuan.Checked) {

var selectedQuan = cmbQuan.SelectedItem as Quan;

if (selectedQuan != null) {

var dataContext = new QLDuongDataContext(selectedQuan.PathServer);

var ketqua = dataContext.Duongs

.Where(x => (!cbDuong.Checked || x.TenDuong.ToUpper().Contains(duong)) && (!cbMucDoHuHong.Checked || x.MaMucDoHuHong == mucDoHuHong)

&& (!cbToChucGiaoThong.Checked || x.MaToChucGiaoThong == toChucGiaoThong)) .ToList();

dgvKetQua.DataSource = ketqua;

} } else {

var duongs = new List<Duong>();

foreach (var item in cmbQuan.Items) {

var quanItem = item as Quan;

if (quanItem == null) {

continue;

}

var dataContext = new QLDuongDataContext(quanItem.PathServer);

var ketqua = dataContext.Duongs

.Where(x => (!cbDuong.Checked || x.TenDuong.ToUpper().Contains(duong)) && (!cbMucDoHuHong.Checked || x.MaMucDoHuHong == mucDoHuHong)

&& (!cbToChucGiaoThong.Checked || x.MaToChucGiaoThong ==

toChucGiaoThong));

duongs.AddRange(ketqua);

}

dgvKetQua.DataSource = duongs .ToList();

} } else {

var dataContext = new QLDuongDataContext();

var ketqua = dataContext.Duongs

.Where(x => (!cbQuan.Checked || x.MaQuan == quan) && (!cbDuong.Checked ||

x.TenDuong.ToUpper().Contains(duong)) && (!cbMucDoHuHong.Checked ||

x.MaMucDoHuHong == mucDoHuHong) && (!cbToChucGiaoThong.Checked ||

x.MaToChucGiaoThong == toChucGiaoThong)) .ToList();

dgvKetQua.DataSource = ketqua;

} }

// In (xuất ra file *.CSV)

private void btnIn_Click(object sender, EventArgs e) {

var ketQua = dgvKetQua.DataSource as List<Duong>;

if (ketQua != null) {

var duongInfos = ketQua.Select(x => new DuongInfo() {

MaDuong = x.MaDuong, TenDuong = x.TenDuong,

ChieuDai = x.ChieuDai == null ? 0 : x.ChieuDai.Value, MaLoaiMatDuong = x.MaLoaiMatDuong == null ? -1 :

x.MaLoaiMatDuong.Value,

MaKieuDuong = x.MaKieuDuong == null ? -1 :

x.MaKieuDuong.Value,

HeThongChieuSang = x.HeThongChieuSang != null &&

x.HeThongChieuSang.Value, MaLoaiGiaoCat = x.MaLoaiGiaoCat == null ? -1 :

x.MaLoaiGiaoCat.Value, GiaoVoiDuongSat = x.GiaoVoiDuongSat != null &&

x.GiaoVoiDuongSat.Value, HeThongTinHieu = x.HeThongTinHieu != null &&

x.HeThongTinHieu.Value,

MaToChucGiaoThong =x.MaToChucGiaoThong == null ? -1 : x.MaToChucGiaoThong.Value, MaMucDoHuHong = x.MaMucDoHuHong == null ? -1 :

x.MaMucDoHuHong.Value, MatDoLuuThong = x.MatDoLuuThong,

MaQuan = x.MaQuan, });

var openFileDialog1 = new SaveFileDialog {

Filter = "Text file|*.csv", Title = "Select a CSV File"

};

if (openFileDialog1.ShowDialog() == DialogResult.OK) {

CSVHelper<DuongInfo>.SaveToFile(duongInfos,

openFileDialog1.FileName, true); } }

}

3.4.2. Quản lý người dùng

Hình 3.15. Quản lý người dùng private void btnThem_Click(object sender, EventArgs e) {

var tenDangNhap = txtTenDangNhap.Text.Trim();

var matKhau = txtMatKhau.Text.Trim();

if (string.IsNullOrEmpty(tenDangNhap)) {

MessageBox.Show("Tên đăng nhập không được rỗng");

return;

}

if (string.IsNullOrEmpty(matKhau)) {

MessageBox.Show("Mật khẩu không được rỗng");

return;

}

var dataContext = new QLDuongDataContext();

if (dataContext.NguoiDungs.Any(x => x.TenDangNhap == tenDangNhap)) {MessageBox.Show("Tên đăng nhập này đã tồn tại");

return;

}

var nguoiDung = new NguoiDung() {

TenDangNhap = tenDangNhap, MatKhau = matKhau

};

dataContext.NguoiDungs.InsertOnSubmit(nguoiDung);

dataContext.SubmitChanges();

LoadDanhSachNguoiDung();

}

private void btnCapNhat_Click(object sender, EventArgs e) {

var tenDangNhap = txtTenDangNhap.Text.Trim();

var matKhau = txtMatKhau.Text;

if (string.IsNullOrEmpty(tenDangNhap)) {

MessageBox.Show("Tên đăng nhập không được rỗng ");

return;

}

if (string.IsNullOrEmpty(matKhau)) {

MessageBox.Show("Mật khẩu không được rỗng");

return;

}

var dataContext = new QLDuongDataContext();

var nguoiDung = dataContext.NguoiDungs.FirstOrDefault (x => x.TenDangNhap == tenDangNhap);

if (nguoiDung == null) {

MessageBox.Show("Tên đăng nhập này không tồn tại");

return;

}

nguoiDung.MatKhau = matKhau;

dataContext.SubmitChanges();

LoadDanhSachNguoiDung();

}

private void btnXoa_Click(object sender, EventArgs e) {

var tenDangNhap = txtTenDangNhap.Text.Trim();

if (string.IsNullOrEmpty(tenDangNhap)) {

MessageBox.Show("Tên đăng nhập không được rỗng");

return;

}

var dataContext = new QLDuongDataContext();

var nguoiDung = dataContext.NguoiDungs.FirstOrDefault (x => x.TenDangNhap == tenDangNhap);

if (nguoiDung == null) {

MessageBox.Show("Tên đăng nhập này không tồn tại");

return;

}

dataContext.NguoiDungs.DeleteOnSubmit(nguoiDung);

dataContext.SubmitChanges();

LoadDanhSachNguoiDung();

}

3.4.3. Quản lý dữ liệu đường

// Cập nhật

private void btnCapNhat_Click(object sender, EventArgs e) {

try {

var maDuong = txtMaDuong.Text.Trim();

if (string.IsNullOrEmpty(maDuong)) {

MessageBox.Show("Mã đường không được rỗng");

return;

}

var quan = cmbQuan.SelectedItem as Quan;

var dataContext = new

QLDuongDataContext(quan.PathServer);

if (!dataContext.Duongs.Any(x => x.MaDuong ==

maDuong)) {

MessageBox.Show("Mã đường không tồn tại");

return;

}

var tenDuong = txtTenDuong.Text.Trim();

if (string.IsNullOrEmpty(tenDuong)) {

MessageBox.Show("Tên đường không được rỗng");

return;

}

Hình 3.16. Quản lý đường double chieuDai;

if (!double.TryParse(txtChieuDai.Text, out chieuDai)) { MessageBox.Show("Chiều dài phải là số");

return;

}

if (chieuDai <= 0.0) {

MessageBox.Show("Chiều dài phải > 0");

return;

}

var matDoGiaoThong = txtMatDoGiaoThong.Text;

if (string.IsNullOrEmpty(matDoGiaoThong)) {

MessageBox.Show("Mật độ giao thông không được rỗng");

return;

}

var duong = dataContext.Duongs.FirstOrDefault (x => x.MaDuong == maDuong);

if (duong != null) {

duong.ChieuDai = chieuDai;

duong.GiaoVoiDuongSat = cbGiaoVoiDuongSat.Checked;

duong.HeThongChieuSang = cbHeThongChieuSang.Checked;

duong.HeThongTinHieu = cbHeThongTinHieu.Checked;

duong.MaKieuDuong = (int)cmbKieuDuong.SelectedValue;

duong.MaLoaiMatDuong = (int)cmbLoaiMatDuong.SelectedValue;

duong.MaQuan = (string)cmbQuan.SelectedValue;

duong.MaLoaiGiaoCat = (int)cmbLoaiGiaoCat.SelectedValue;

duong.MaToChucGiaoThong = (int)cmbToChucGiaoThong.SelectedValue;

duong.MaMucDoHuHong = (int)cmbMucDoHuHong.SelectedValue;

duong.MatDoLuuThong = matDoGiaoThong;

duong.TenDuong = tenDuong;

}

dataContext.SubmitChanges();

LoadDanhSachDuong();

}

catch (Exception) {

return;

} }

private void btnXoa_Click(object sender, EventArgs e) {

try {

var maDuong = txtMaDuong.Text.Trim();

if (string.IsNullOrEmpty(maDuong)) {

MessageBox.Show("Mã đường không được rỗng");

return;

}

var quan = cmbQuan.SelectedItem as Quan;

var dataContext = new QLDuongDataContext(quan.PathServer);

if (!dataContext.Duongs.Any(x => x.MaDuong == maDuong)) {

MessageBox.Show("Mã đường không tồn tại");

return;

}

var duong = dataContext.Duongs.FirstOrDefault(x => x.MaDuong == maDuong);

if (duong != null) {

dataContext.Duongs.DeleteOnSubmit(duong);

dataContext.SubmitChanges();

}

LoadDanhSachDuong();

}

catch (Exception) {

return;

} }

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Tổ chức khai thác dữ liệu giao thông vận tải (Trang 58 - 65)

Tải bản đầy đủ (PDF)

(67 trang)